Огляд проєкту
В іншому проєкті, який базувався на реальному сценарії, мені довелося діяти як DevOps інженер і показати новому члену команди, як розгорнути застосунок на кластері Kubernetes.
Цей кластер є частиною проєкту The Cloud Bootcamp, і я підготував нового члена команди до розгортання голосувальної програми, яка була розроблена для MultiCloud Experience — онлайн-заходу, де учасники мали можливість дізнатися про хмарні технології.
Архітектура рішення
Я розгорнув застосунок у хмарі Microsoft Azure, де спочатку завантажив Docker-образ застосунку в Azure Container Registry (ACR), а потім використав Azure Kubernetes Service (AKS) для розгортання кластера, керованого Microsoft Azure.
У цьому вправі я отримав можливість практикуватися з такими інструментами, як Azure Cloudshell та Azure CLI. Вправа охоплювала всю адміністрацію, надання та впровадження ресурсів, таких як Azure Container Registry та Azure Kubernetes Service через інтерфейс командного рядка (CLI). Також я вперше працював з створенням та керуванням віртуальними машинами в Azure VM та організацією груп ресурсів у Azure.
Ця діяльність була розподілена на три основні етапи:
- Створення віртуальної машини (VM) та тестування доступу через Cloud Shell. На цьому етапі ми створили віртуальну машину, на якій реалізація голосувальної програми була повністю виконана через командний рядок (Azure CLI).
а. Створення групи ресурсів;
б. Створення Ubuntu Server 22.04 LTS VM з розміром Standard_B1s;
в. Налаштування SSH-аккаунта з відповідним ключем доступу;
г. Налаштування портів доступу через SSH;
д. Тестування доступу через Cloud Shell;
Доступ до VM через Cloud Shell
- Підготовка віртуальної машини для налаштування контейнерних образів застосунку.
а. Оновлення списку пакетів VM (sudo apt update);
б. Встановлення базових інструментів (sudo apt install):
i. Unzip;
ii. Docker;
iii. Docker Compose.
в. Завантаження застосунку та його ресурсів (wget);
г. Розгортання застосунку (Docker та Docker Compose);
д. Налаштування портів для доступу до застосунку (порт: 8080).
Підготовка VM
- Створення Azure Container Registry та впровадження Azure Kubernetes Service для запуску застосунку:
а. Встановлення Azure CLI:
i. Вхід в Azure CLI;
б. Встановлення Kubectl.
Встановлення CLI та Kubectl
в. Створення Azure Container Registry (ACR):
i. Вхід в ACR;
ii. Налаштування тегів;
iii. Завантаження образів застосунку;
г. Створення Kubernetes кластера в Azure (AKS);
i. Налаштування облікових даних для входу в кластер;
ii. Тестування прав доступу;
iii. Розгортання застосунку;
д. Тестування застосунку, що працює на кластері.
Створення ACR та Kubernetes кластера
Екран кластера AKS
Програма голосування, що працює