Azure Kubernetes Service (AKS) to zarządzana platforma orkiestracji kontenerów Microsoft Azure, która upraszcza wdrażanie, skalowanie i zarządzanie aplikacjami kontenerowymi bez potrzeby zarządzania masterem Kubernetes. Firmy deweloperskie i działy IT wdrażają na AKS mikrousługi, aplikacje webowe i API, które automatycznie skalują się w górę przy wzroście ruchu i w dół w godzinach niskiej aktywności. AKS jest zintegrowany z Azure DevOps, Azure Container Registry i Azure Monitor, tworząc kompletny ekosystem dla nowoczesnych aplikacji cloud-native.
Czym jest Kubernetes i kontenery
Kontenery Docker pakują aplikację z jej zależnościami (biblioteki, konfiguracja) w przenośny obraz działający identycznie na laptopie dewelopera, w CI/CD i na produkcji – eliminując problem "na moim komputerze działa". Kubernetes orkiestruje setki lub tysiące kontenerów: planuje ich uruchamianie na węzłach klastra, restartuje przy awarii, skaluje liczbę replik i zarządza ruchem sieciowym. AKS dostarcza zarządzany klaster Kubernetes w Azure – Microsoft odpowiada za dostępność i aktualizacje warstwy kontrolnej, a klient zarządza węzłami roboczymi i wdrożonymi aplikacjami.
Tworzenie klastra AKS i wdrożenie aplikacji
Klaster AKS tworzy się przez portal Azure, Azure CLI lub szablony Bicep/Terraform w kilka minut. Po podłączeniu kubectl (CLI Kubernetes) deweloper wdraża aplikację przez manifest YAML opisujący Deployment, Service i Ingress – ile replik uruchomić, jak rozgłaszać ruch zewnętrzny i jak skalować na podstawie obciążenia CPU. Automatyczne aktualizacje węzłów AKS (Node Upgrades) są przeprowadzane przez Microsoft w zaplanowanych oknach serwisowych, eliminując ręczne patchowanie systemu operacyjnego węzłów.
Automatyczne skalowanie i optymalizacja kosztów
Horizontal Pod Autoscaler skaluje liczbę replik aplikacji na podstawie obciążenia CPU lub niestandardowych metryk z Azure Monitor. Cluster Autoscaler automatycznie dodaje lub usuwa węzły VM z klastra – w nocy, gdy ruch jest niski, klaster się kurczy i koszty spadają, a rano VM są dodawane na czas szczytu. Spot Node Pools z użyciem Azure Spot Instances (VM z cenniku spot) redukują koszty węzłów do 90% dla obciążeń tolerujących przerwy, jak zadania batch, renderowanie i testy automatyczne.
Azure Container Registry – repozytorium obrazów
Azure Container Registry (ACR) to prywatne repozytorium obrazów Docker i Helm Charts zintegrowane z AKS, Azure DevOps i GitHub Actions. Obrazy budowane przez pipeline CI są automatycznie publikowane do ACR i wdrażane na AKS przez pipeline CD. Geo-replikacja ACR dostarcza obrazy z centrum danych najbliższego klastrowi AKS, przyspieszając wdrożenia w środowiskach wieloregionalnych. Security scanning (Microsoft Defender for Containers) skanuje każdy obraz w ACR pod kątem znanych podatności CVE, zanim obraz zostanie dopuszczony do wdrożenia produkcyjnego.
AKS a inne podejścia do hostowania aplikacji
AKS jest odpowiedni dla aplikacji wymagających zaawansowanej orkiestracji, wielu mikrousług z niezależnym skalowaniem i DevOps z pełną kontrolą wdrożeń. Azure App Service i Azure Container Apps są prostszymi alternatywami dla firm, które nie potrzebują pełnej złożoności Kubernetes – App Service obsługuje webapps bez kontenerów, a Container Apps to zarządzana Kubernetes dla prostszych przypadków bez operowania na poziomie YAML. Wybór między AKS a Container Apps powinien zależeć od złożoności aplikacji, wymagań operacyjnych i dojrzałości devops w organizacji.