Wdróż aplikację na platformie Azure AKS przy użyciu narzędzia HELM

Rosnąca popularność kontenerów w tworzeniu aplikacji wiąże się z dodatkowymi wyzwaniami związanymi z koniecznością zarządzania tysiącami kontenerów, na których działają złożone aplikacje korporacyjne. Zarządzanie takimi kontenerami w wielu środowiskach wdrożeniowych jest trudnym zadaniem. Aby złagodzić tę sytuację, wprowadzono narzędzia do aranżacji kontenerów.
Kubernetesa
Kubernetes to system orkiestracji kontenerów typu open source do automatyzacji wdrażania oprogramowania, skalowania i zarządzania aplikacjami w kontenerach. Ogromny sukces Kubernetes doprowadził do stworzenia ekosystemu narzędzi upraszczających złożoność tworzenia i wdrażania aplikacji. Kubernetes został stworzony przez Google i jest obecnie utrzymywany przez Cloud Native Computing Foundation (CNCF).
Każdy z trzech największych dostawców usług w chmurze zarządzał ofertami Kubernetes dla swoich klientów w chmurze. W tym poście omówimy udostępnianą przez platformę Azure usługę Kubernetes o nazwie Azure Kubernetes Service (AKS).
Wprowadzenie do usługi Azure Kubernetes (AKS).
W 2018 r. platforma Azure udostępniła w pełni zarządzaną usługę orkiestracji kontenerów typu open source o nazwie AKS. Upraszcza wdrażanie zarządzanego klastra Kubernetes na platformie Azure, przenosząc obciążenie operacyjne na platformę Azure. Jako hostowana usługa Kubernetes platforma Azure obsługuje krytyczne zadania, takie jak monitorowanie kondycji i konserwacja. Ponieważ wzorce Kubernetes są zarządzane przez platformę Azure, zarządzamy i obsługujemy tylko węzły agentów.
Niektóre zalety uruchamiania wystąpień Kubernetes w AKS to:
- Azure Active Directory do kontroli dostępu opartej na rolach (RBAC)
- Azure Monitor dla Kubernetes i monitorowanie kontenerów
- Sieć platformy Azure w celu uproszczenia orkiestracji i sieci kontenerów
- Azure Policy do zarządzania klastrami AKS, zasobnikami, przestrzeniami nazw i ruchem przychodzącym
- Usługa Azure Storage na potrzeby magazynu w ramach klastrów i kontenerów AKS
W miarę rozwoju platformy i ekosystemu Kubernetes wdrażanie wielu plików konfiguracyjnych Kubernetes (YAML) w wielu klastrach i wielu zasobach w celu orkiestracji wewnątrz Kubernetes sprawiło, że stało się to bardzo skomplikowane. Istnieje kilka narzędzi do zarządzania pakietami, które mogą pomóc uprościć proces o nazwie HELM.
„HELM jest menedżerem pakietów Kubernetes. Pomaga zarządzać aplikacjami Kubernetes”
Wdrożenia
W tym poście omówimy dwa podejścia do wdrażania aplikacji w klastrze AKS przy użyciu narzędzia HELM. Jeden uruchamia ster ręcznie za pomocą interfejsu CLI, a drugi za pośrednictwem potoku.
Steruj za pomocą CLI
Zakładając, że poniższe wymagania wstępne są już zainstalowane i skonfigurowane. Utworzono klaster AKS (można go utworzyć przy użyciu interfejsu IaC lub az CLI), zainstalowano kubectl i zainstalowano Helm 3,4 lub nowszy.
Dodaj repozytorium bitnami, uruchamiając następujące polecenia

Zainstaluj aplikację my-release na AKS przy użyciu narzędzia HELM

Dane wyjściowe będą:

Po wyświetleniu success
komunikatu możesz sprawdzić, czy zasobniki my-release są uruchomione, używając następującego polecenia:

Aby uzyskać dostęp do adresu URL administratora my-release, uruchom następujące polecenie, aby zlokalizować wpis Zewnętrzny adres IP

Kiedyś zewnętrzne. Znajduje się adres IP Przejdź dohttp://<EXTERNAL_IP>/admin
Hełm za pomocą Pipeline
Możemy użyć dowolnego standardowego rurociągu. Używamy potoku Azure DevOps (ADO) do automatycznego wdrażania aplikacji za pomocą HELM i za pomocą ACR do przechowywania obrazów rozmów dla aplikacji korporacyjnych.
Wymagania wstępne: Jako warunek wstępny należy wziąć pod uwagę, że dostępne są następujące komponenty:
- Subskrypcja platformy Azure
- Klaster AKS
- Konfiguracja potoku ADO
- Jednostka główna usługi klastra AKS
- ACR do przechowywania wersji wykresu



Aby uzyskać dostęp do adresu URL administratora my-release, uruchom następujące polecenie, aby zlokalizować wpis Zewnętrzny adres IP

Po zlokalizowaniu zewnętrznego adresu IP przejdź dohttp://<EXTERNAL_IP>/admin
Wniosek
W dzisiejszym świecie niespodziewany sukces Kubernetes doprowadził do stworzenia ekosystemu narzędzi upraszczających złożoność tworzenia i wdrażania aplikacji. AKS i Helm to dwa przykłady tych narzędzi, które pomagają we wdrażaniu złożonych aplikacji Kubernetes i zarządzaniu nimi.