Udostępnij przez


Samouczek — tworzenie klastra usługi Azure Kubernetes Service (AKS)

Usługa Kubernetes zapewnia rozproszoną platformę dla konteneryzowanych aplikacji. Dzięki usłudze Azure Kubernetes Service (AKS) można szybko utworzyć gotowy do produkcji klaster Kubernetes.

W tym samouczku wdrożysz klaster Kubernetes w usłudze AKS. Dowiedz się, jak:

  • Wdróż klaster usługi AKS, 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.

Zanim rozpoczniesz

W poprzednich samouczkach utworzyłeś obraz kontenera i przesłałeś go do instancji usługi ACR. Rozpocznij od Tutorial 1 - Przygotowanie aplikacji dla AKS, aby śledzić kolejne kroki.

  • Jeśli używasz interfejsu wiersza polecenia platformy Azure, ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.35.0 lub nowszej. Sprawdź swoją wersję za pomocą az --version. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
  • Jeśli używasz programu Azure PowerShell, ten samouczek wymaga programu Azure PowerShell w wersji 5.9.0 lub nowszej. Sprawdź swoją wersję za pomocą Get-InstalledModule -Name Az. Aby zainstalować lub uaktualnić, zobacz Instalowanie programu Azure PowerShell.
  • Jeśli używasz interfejsu wiersza polecenia dla deweloperów platformy Azure, ten samouczek wymaga interfejsu wiersza polecenia dla deweloperów platformy Azure w wersji 1.5.1 lub nowszej. Sprawdź swoją wersję za pomocą azd version. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia dla deweloperów platformy Azure.

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żytkownik ma przypisane wiele ról, uprawnienia są łączone. Uprawnienia mogą być ograniczone do jednej przestrzeni nazw lub w całym klastrze.

Aby dowiedzieć się więcej o AKS i Kubernetes RBAC, zobacz Kontroluj dostęp do zasobów klastra za pomocą Kubernetes RBAC i tożsamości Microsoft Entra w AKS.

Ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.35.0 lub nowszej. Sprawdź wersję za pomocą polecenia az --version. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. Jeśli używasz środowiska Bash w usłudze Azure Cloud Shell, najnowsza wersja jest już zainstalowana.

Instalowanie interfejsu wiersza polecenia Kubernetes

Interfejs wiersza polecenia Kubernetes, kubectl, służy do łączenia się z klastrem Kubernetes. Jeśli korzystasz z usługi Azure Cloud Shell, narzędzie kubectl jest już zainstalowane. Jeśli uruchamiasz polecenia lokalnie, możesz zainstalować kubectl za pomocą Azure CLI lub programu Azure PowerShell.

  • Zainstaluj kubectl lokalnie przy użyciu az aks install-cli polecenia .

    az aks install-cli
    

Tworzenie klastra AKS

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. Uprawnienia są łączone, gdy użytkownicy mają przypisane wiele ról. Uprawnienia mogą być ograniczone do jednej przestrzeni nazw lub w całym klastrze. Aby uzyskać więcej informacji, zobacz Kontrolowanie dostępu do zasobów klastra przy użyciu systemu RBAC Kubernetes i Microsoft Entra ID w AKS.

Aby uzyskać informacje na temat limitów zasobów i dostępności regionów usługi AKS, zobacz Limity przydziału, ograniczenia rozmiaru maszyny wirtualnej i dostępność regionów w usłudze AKS.

Ważne

Ten samouczek tworzy trzywęzłowy klaster. Jeśli podczas próby utworzenia klastra zostanie wyświetlony komunikat o błędzie, może być konieczne zażądanie zwiększenia limitu przydziału dla subskrypcji platformy Azure lub wypróbowanie innego regionu świadczenia usługi Azure. Alternatywnie, można użyć mniejszej liczby węzłów lub pominąć parametr rozmiaru węzła maszyny wirtualnej, aby użyć domyślnego rozmiaru maszyny wirtualnej.

Aby umożliwić klastrowi usługi AKS interakcję z innymi zasobami platformy Azure, platforma Azure automatycznie tworzy tożsamość klastra. W tym przykładzie tożsamości klastra zostało przyznane prawo do pobierania obrazów z instancji ACR, którą utworzono w poprzednim samouczku. Aby wykonać polecenie pomyślnie, musisz mieć rolę właściciela lub administratora konta platformy Azure w ramach subskrypcji platformy Azure.

  • 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 westus2. Będziemy nadal używać zmiennej środowiskowej , $ACRNAMEktóra jest ustawiona w poprzednim samouczku. Jeśli nie masz tego zestawu zmiennych środowiskowych, ustaw ją teraz na tę samą wartość, która została wcześniej użyta.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-count 3 \
        --node-vm-size standard_l8s_v3 \
        --generate-ssh-keys \
        --attach-acr $ACRNAME
    

    Uwaga

    Jeśli klucze SSH są 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ć podmiot zabezpieczeń w celu pobierania obrazów z usługi ACR. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie ACR za pomocą głównych elementów usługi lub Uwierzytelnianie z platformy Kubernetes przy użyciu wpisu tajnego do pobierania. Alternatywnie można użyć tożsamości zarządzanej zamiast podmiotu usługi, aby ułatwić zarządzanie.

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

  1. Skonfiguruj kubectl, aby nawiązać połączenie z klastrem Kubernetes przy użyciu polecenia az aks get-credentials. Poniższy przykład pobiera poświadczenia dla klastra AKS o nazwie myAKSCluster w myResourceGroup.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. Sprawdź połączenie z klastrem kubectl get nodes przy użyciu polecenia , które zwraca listę węzłów klastra.

    kubectl get nodes
    

    Następujące przykładowe dane wyjściowe zawierają listę węzłów klastra:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-19366578-vmss000000   Ready    agent   47h   v1.30.9
    aks-nodepool1-19366578-vmss000001   Ready    agent   47h   v1.30.9
    aks-nodepool1-19366578-vmss000002   Ready    agent   47h   v1.30.9
    

Następny krok

W tym samouczku wdrożono klaster Kubernetes w usłudze AKS i skonfigurowano kubectl do nawiązania połączenia z klastrem. Nauczyłeś się, jak:

  • Wdróż klaster AKS, który może uwierzytelniać się w 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ć Azure Container Storage na swoim klastrze i utworzyć ogólny wolumin efemeryczny. Jeśli korzystasz z Azure Developer CLI lub nie możesz użyć rodzaju maszyny wirtualnej zoptymalizowanej pod kątem magazynu z powodu ograniczeń związanych z limitem przydziału, przejdź bezpośrednio do samouczka Wdrażanie konteneryzowanej aplikacji.