Підготовка, завантаження Docker-образу та розгортання контейнеризованої програми голосування в Kubernetes-кластері за допомогою Docker, Azure Container Registry (ACR) та Azure Kubernetes Service (AKS)

pic

Огляд проєкту

В іншому проєкті, який базувався на реальному сценарії, мені довелося діяти як DevOps інженер і показати новому члену команди, як розгорнути застосунок на кластері Kubernetes.

Цей кластер є частиною проєкту The Cloud Bootcamp, і я підготував нового члена команди до розгортання голосувальної програми, яка була розроблена для MultiCloud Experience — онлайн-заходу, де учасники мали можливість дізнатися про хмарні технології.

pic

Архітектура рішення

Я розгорнув застосунок у хмарі 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.

Ця діяльність була розподілена на три основні етапи:

  1. Створення віртуальної машини (VM) та тестування доступу через Cloud Shell. На цьому етапі ми створили віртуальну машину, на якій реалізація голосувальної програми була повністю виконана через командний рядок (Azure CLI).
    а. Створення групи ресурсів;
    б. Створення Ubuntu Server 22.04 LTS VM з розміром Standard_B1s;
    в. Налаштування SSH-аккаунта з відповідним ключем доступу;
    г. Налаштування портів доступу через SSH;
    д. Тестування доступу через Cloud Shell;

pic

Доступ до VM через Cloud Shell

  1. Підготовка віртуальної машини для налаштування контейнерних образів застосунку.

а. Оновлення списку пакетів VM (sudo apt update);
б. Встановлення базових інструментів (sudo apt install):
i. Unzip;
ii. Docker;
iii. Docker Compose.
в. Завантаження застосунку та його ресурсів (wget);
г. Розгортання застосунку (Docker та Docker Compose);
д. Налаштування портів для доступу до застосунку (порт: 8080).

pic

Підготовка VM

  1. Створення Azure Container Registry та впровадження Azure Kubernetes Service для запуску застосунку:

а. Встановлення Azure CLI:
i. Вхід в Azure CLI;
б. Встановлення Kubectl.

pic

Встановлення CLI та Kubectl

в. Створення Azure Container Registry (ACR):
i. Вхід в ACR;
ii. Налаштування тегів;
iii. Завантаження образів застосунку;
г. Створення Kubernetes кластера в Azure (AKS);
i. Налаштування облікових даних для входу в кластер;
ii. Тестування прав доступу;
iii. Розгортання застосунку;
д. Тестування застосунку, що працює на кластері.

pic

Створення ACR та Kubernetes кластера

pic

Екран кластера AKS

pic

Програма голосування, що працює

Перекладено з: Preparation, Docker Image Push and Deployment for Containerized Voting Application in Kubernetes Cluster using Docker, Azure Container Registry (ACR) and Azure Kubernetes Service (AKS)

Leave a Reply

Your email address will not be published. Required fields are marked *