Samouczek: wdrażanie klastra usługi Azure Kubernetes Service (AKS)

Usługa Kubernetes zapewnia rozproszoną platformę dla konteneryzowanych aplikacji. Za pomocą usługi AKS można szybko utworzyć klaster Kubernetes gotowy do użycia w środowisku produkcyjnym. W tym samouczku (część trzecia z siedmiu) w usłudze AKS jest wdrażany klaster Kubernetes. Omawiane kwestie:

  • Wdrażanie klastra kubernetes usługi AKS, który może uwierzytelniać się w rejestrze kontenerów platformy Azure
  • Instalowanie interfejsu wiersza polecenia rozwiązania Kubernetes (kubectl)
  • Konfigurowanie narzędzia kubectl w celu nawiązania połączenia z klastrem AKS

W kolejnych samouczkach aplikacja Azure Vote zostanie wdrożona w klastrze, przeskalowana i zaktualizowana.

Zanim rozpoczniesz

W poprzednich samouczkach utworzono obraz kontenera i przekazano go do wystąpienia usługi Azure Container Registry. Jeśli nie wykonano tych kroków, a chcesz kontynuować pracę, zacznij od części Samouczek 1 — tworzenie obrazów kontenera.

Ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.0.53 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Tworzenie klastra Kubernetes

Klastry usługi AKS mogą używać kontroli dostępu opartej na rolach (RBAC) usługi Kubernetes. Te kontrolki umożliwiają zdefiniowanie dostępu do zasobów na podstawie ról przypisanych użytkownikom. Uprawnienia są łączone, jeśli użytkownikowi przypisano wiele ról, a zakres uprawnień można ograniczyć do jednej przestrzeni nazw lub do całego klastra. Domyślnie interfejs wiersza polecenia platformy Azure automatycznie włącza RBAC platformy Kubernetes podczas tworzenia klastra usługi AKS.

Utwórz klaster usługi AKS za pomocą polecenia az aks create. W poniższym przykładzie tworzony jest klaster o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup. Ta grupa zasobów została utworzona w poprzednim samouczku w regionie eastus. W poniższym przykładzie nie określono regionu, dlatego klaster usługi AKS jest również tworzony w regionie eastus. Aby uzyskać więcej informacji, zobacz Limity przydziału, ograniczenia rozmiaru maszyny wirtualnej i dostępność regionów w umacie Azure Kubernetes Service (AKS), aby uzyskać więcej informacji na temat limitów zasobów i dostępności regionów dla usługi AKS.

Aby umożliwić klastrowi usługi AKS interakcję z innymi zasobami platformy Azure, tożsamość klastra jest tworzona automatycznie, ponieważ nie została ona tworzona. W tym miejscu ta tożsamość klastra ma przyznane prawo do ściągania obrazów z Azure Container Registry (ACR) utworzonego w poprzednim samouczku. Aby pomyślnie wykonać polecenie, musisz mieć rolę właściciela lub administratora konta platformy Azure w subskrypcji platformy Azure.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 2 \
    --generate-ssh-keys \
    --attach-acr <acrName>

Aby uniknąć konieczności stosowania roli właściciela lub administratora konta platformy Azure, możesz również ręcznie skonfigurować jednostkę usługi do ściągania obrazów z usługi ACR. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie usługi ACR za pomocą jednostki usługi lub Uwierzytelnianie na platformie Kubernetes przy użyciu tajnego hasła ściągania. Możesz też użyć tożsamości zarządzanej zamiast jednostki usługi, aby ułatwić zarządzanie.

Po kilku minutach wdrażanie zostanie zakończone i zwróci informacje o wdrożeniu usługi AKS w formacie JSON.

Uwaga

Aby zapewnić niezawodne działanie klastra, należy uruchomić co najmniej 2 (dwa) węzły.

Instalowanie interfejsu wiersza polecenia rozwiązania Kubernetes

Aby nawiązać połączenie z klastrem Kubernetes z komputera lokalnego, należy użyć narzędzia kubectl, czyli klienta wiersza polecenia usługi Kubernetes.

Jeśli korzystasz z usługi Azure Cloud Shell, narzędzie kubectl jest już zainstalowane. Możesz także zainstalować je lokalnie za pomocą polecenia az aks install-cli:

az aks install-cli

Nawiązywanie połączenia z klastrem przy użyciu narzędzia kubectl

Aby skonfigurować narzędzie kubectl w celu nawiązania połączenia z klastrem Kubernetes, użyj polecenia az aks get-credentials. Poniższy przykład umożliwia pobranie poświadczeń dla nazwy klastra usługi AKS myAKSCluster w grupie zasobów myResourceGroup:

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Aby sprawdzić połączenie z klastrem, uruchom polecenie kubectl get nodes, aby zwrócić listę węzłów klastra:

kubectl get nodes

Poniższe przykładowe dane wyjściowe pokazują listę węzłów klastra.

$ kubectl get nodes

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-37463671-vmss000000   Ready    agent   2m37s   v1.18.10
aks-nodepool1-37463671-vmss000001   Ready    agent   2m28s   v1.18.10

Następne kroki

W tym samouczku wdrożono klaster Kubernetes w usłudze AKS i skonfigurowano narzędzie kubectl w celu nawiązania z nim połączenia. W tym samouczku omówiono:

  • Wdrażanie klastra kubernetes usługi AKS, który może uwierzytelniać się w rejestrze kontenerów platformy Azure
  • Instalowanie interfejsu wiersza polecenia rozwiązania Kubernetes (kubectl)
  • Konfigurowanie narzędzia kubectl w celu nawiązania połączenia z klastrem AKS

Przejdź do następnego samouczka, aby dowiedzieć się, jak wdrożyć aplikację w klastrze.