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, wdrożysz klaster Kubernetes w usłudze AKS. Omawiane kwestie:
- Wdrażanie klastra AKS Kubernetes, który może uwierzytelniać się w usłudze Azure Container Registry (ACR).
- Zainstaluj interfejs wiersza polecenia platformy Kubernetes,
kubectl
.- Skonfiguruj
kubectl
, aby nawiązać połączenie z klastrem usługi AKS.
W kolejnych samouczkach wdrożysz aplikację Azure Vote w klastrze usługi AKS i przeprowadź skalowanie i aktualizowanie aplikacji.
Zanim rozpoczniesz
W poprzednich samouczkach utworzono obraz kontenera i przekazano go do wystąpienia usługi ACR. Jeśli nie wykonano tych kroków i chcesz wykonać te czynności, zacznij od artykułu Samouczek 1: Przygotowywanie aplikacji dla usługi AKS.
- Jeśli używasz interfejsu wiersza polecenia platformy Azure, 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. - Jeśli używasz Azure PowerShell, ten samouczek wymaga Azure PowerShell w wersji 5.9.0 lub nowszej. Uruchom polecenie
Get-InstalledModule -Name Az
, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie programu Azure PowerShell.
Tworzenie klastra Kubernetes
Klastry usługi AKS mogą używać kontroli dostępu opartej na rolach (Kubernetes RBAC) platformy Kubernetes, która umożliwia definiowanie dostępu do zasobów na podstawie ról przypisanych do użytkowników. Jeśli użytkownikowi przypisano wiele ról, uprawnienia są łączone. Uprawnienia mogą być ograniczone do jednej przestrzeni nazw lub całego klastra.
Aby dowiedzieć się więcej na temat kontroli dostępu opartej na rolach usług AKS i Kubernetes, zobacz Kontrola dostępu do zasobów klastra przy użyciu kontroli dostępu opartej na rolach platformy Kubernetes i tożsamości usługi Azure Active Directory w usłudze AKS.
Utwórz klaster usługi AKS przy użyciu 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 . Klaster usługi AKS zostanie również utworzony w regionie eastus .
Aby uzyskać więcej informacji na temat limitów zasobów usługi AKS i dostępności regionów, zobacz Limity przydziału, ograniczenia rozmiaru maszyny wirtualnej i dostępność regionów w usłudze AKS.
Aby umożliwić klastrowi usługi AKS interakcję z innymi zasobami platformy Azure, tożsamość klastra jest tworzona automatycznie. W tym przykładzie tożsamość klastra ma prawo do ściągania obrazów z wystąpienia usługi ACR utworzonego w poprzednim samouczku. Aby wykonać polecenie pomyślnie, musisz mieć rolę właściciela lub administratora konta platformy Azure w ramach subskrypcji platformy Azure.
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 2 \
--generate-ssh-keys \
--attach-acr <acrName>
Uwaga
Jeśli klucze SSH zostały już wygenerowane, może wystąpić błąd podobny do linuxProfile.ssh.publicKeys.keyData is invalid
. Aby kontynuować, spróbuj ponownie wykonać polecenie bez parametru --generate-ssh-keys
.
Aby uniknąć konieczności posiadania roli właściciela lub administratora konta platformy Azure , możesz również ręcznie skonfigurować jednostkę usługi w celu ściągania obrazów z usługi ACR. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie ACR przy użyciu jednostek usługi lub Uwierzytelnianie z platformy Kubernetes przy użyciu wpisu tajnego ściągania. Alternatywnie możesz użyć tożsamości zarządzanej zamiast jednostki usługi, aby ułatwić zarządzanie.
Po kilku minutach wdrożenie zostanie zakończone i zwróci informacje w formacie JSON dotyczące wdrożenia usługi AKS.
Uwaga
Aby zapewnić niezawodne działanie klastra, należy uruchomić co najmniej dwa węzły.
Instalowanie interfejsu wiersza polecenia rozwiązania Kubernetes
Użyj interfejsu wiersza polecenia kubernetes, kubectl
, aby nawiązać połączenie z klastrem Kubernetes z komputera lokalnego.
Jeśli korzystasz z usługi Azure Cloud Shell, narzędzie kubectl
jest już zainstalowane. Można go również zainstalować lokalnie za pomocą az aks install-cli
polecenia .
az aks install-cli
Nawiązywanie połączenia z klastrem przy użyciu narzędzia kubectl
Aby skonfigurować kubectl
połączenie z klastrem az aks get-credentials
Kubernetes, użyj polecenia . Poniższy przykład pobiera poświadczenia dla klastra usługi AKS o nazwie myAKSCluster w grupie myResourceGroup.
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Aby zweryfikować 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-19366578-vmss000002 Ready agent 47h v1.25.6
aks-nodepool1-19366578-vmss000003 Ready agent 47h v1.25.6
Następne kroki
W tym samouczku wdrożono klaster Kubernetes w usłudze AKS i skonfigurowano kubectl
go do nawiązywania połączenia z klastrem. W tym samouczku omówiono:
- Wdrażanie klastra usługi AKS, który może uwierzytelniać się w usłudze ACR.
- Zainstaluj interfejs wiersza polecenia platformy Kubernetes,
kubectl
. - Skonfiguruj
kubectl
, aby nawiązać połączenie z klastrem usługi AKS.
W następnym samouczku dowiesz się, jak wdrożyć aplikację w klastrze.