Udostępnij za pośrednictwem


Samouczek: wdrażanie węzłów wirtualnych w usłudze Azure Container Instances w klastrze usługi Azure Kubernetes Service

W tym samouczku użyjesz witryny Azure Portal do wdrożenia klastra usługi Azure Kubernetes Service (AKS). Po wdrożeniu klastra usługi AKS użyj wykresu helm do wdrożenia węzłów wirtualnych w usłudze Azure Container Instances.

Wymagania wstępne

W tym samouczku założono, że masz zainstalowane następujące narzędzia:

  • Interfejs wiersza polecenia platformy Azure
  • kubectl (wersja 1.29+)
  • Helm
  • Usługa Git

Logowanie się do platformy Azure

Zaloguj się do witryny Azure Portal pod adresem https://portal.azure.com

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Tworzenie sieci wirtualnej dla klastra usługi AKS

Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób.

Zrzut ekranu przedstawiający sposób rozpoczynania tworzenia nowej sieci wirtualnej w witrynie Azure Portal.

Wybierz pozycję Sieć wirtualna>.

Zrzut ekranu przedstawiający sposób wybierania nowej sieci wirtualnej, którą chcesz utworzyć w witrynie Azure Portal.

Na stronie Podstawy wybierz subskrypcję i wprowadź następujące wartości:

  • Grupa zasobów: Utwórz nową>virtualnodesresourcegroup
  • Nazwa sieci wirtualnej: myvirtualnetwork
  • Region: East US

Zrzut ekranu przedstawiający sposób konfigurowania strony Podstawy tworzenia sieci wirtualnej w witrynie Azure Portal.

Na stronie Adresy IP skonfiguruj następujące przestrzenie adresowe i podsieci:

Zrzut ekranu przedstawiający sposób konfigurowania strony adresów IP na potrzeby tworzenia sieci wirtualnej w witrynie Azure Portal.

Pozostaw wartości domyślne wszystkich innych ustawień, a następnie wybierz pozycję Przejrzyj i utwórz.

Po zakończeniu walidacji zostanie wyświetlone podsumowanie ustawień sieci wirtualnej. Wybierz pozycję Utwórz , aby przesłać żądanie wdrożenia sieci wirtualnej.

Po rozpoczęciu wdrażania zostanie wyświetlone powiadomienie wskazujące, że wdrożenie jest w toku. Po wdrożeniu sieci wirtualnej zostanie wyświetlone inne powiadomienie.

Tworzenie klastra usługi AKS

Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób.

Zrzut ekranu przedstawiający sposób rozpoczynania tworzenia nowej sieci wirtualnej w witrynie Azure Portal.

Wybierz pozycję Kontenery>usługi Azure Kubernetes Service (AKS).

Zrzut ekranu przedstawiający sposób wybierania nowego klastra usługi AKS, który chcesz utworzyć w witrynie Azure Portal.

Na stronie Podstawy wybierz tę samą subskrypcję używaną do tworzenia sieci wirtualnej i wprowadź następujące wartości:

  • Grupa zasobów: virtualnodesresourcegroup
  • Konfiguracja ustawień wstępnych klastra: Dev/Test
  • Nazwa klastra Kubernetes: virtualnodescluster
  • Region: East US
  • Wersja platformy Kubernetes: dowolna wersja rozpoczynająca się od 1.29. — na przykład 1.29.10
  • Automatyczne uaktualnianie: Enabled with patch

Zrzut ekranu przedstawiający sposób konfigurowania strony Podstawy tworzenia klastra usługi AKS w witrynie Azure Portal.

Na stronie Pule węzłów wybierz dowolną jednostkę SKU maszyny wirtualnej z co najmniej 4 procesorami wirtualnymi i 16 GB pamięci RAM dla agentpool puli węzłów. Te węzły będą używane do hostowania infrastruktury węzłów wirtualnych. Nie wybieraj Enable virtual nodes — dotyczy to poprzedniej oferty węzłów wirtualnych dla usługi AKS.

Zrzut ekranu przedstawiający sposób konfigurowania strony Pule węzłów na potrzeby tworzenia klastra usługi AKS w witrynie Azure Portal.

Na stronie Sieć wprowadź następujące wartości:

  • Konfiguracja sieci: Azure CNI Node Subnet
  • Przynieś własną sieć wirtualną platformy Azure: Enabled
  • Sieć wirtualna: myvirtualnetwork
  • Podsieć klastra: aks
  • Zakres adresów usługi Kubernetes: 10.4.0.0/16
  • Adres IP usługi DNS kubernetes: 10.4.0.10
  • Zasady sieciowe: Calico

Zrzut ekranu przedstawiający sposób konfigurowania strony Sieć dla tworzenia klastra usługi AKS w witrynie Azure Portal.

Pozostaw wartości domyślne wszystkich innych ustawień, a następnie wybierz pozycję Przejrzyj i utwórz.

Po zakończeniu walidacji zostanie wyświetlone podsumowanie ustawień klastra usługi AKS. Wybierz pozycję Utwórz , aby przesłać żądanie wdrożenia klastra usługi AKS.

Po rozpoczęciu wdrażania zostanie wyświetlone powiadomienie wskazujące, że wdrożenie jest w toku. Po wdrożeniu klastra usługi AKS zostanie wyświetlone inne powiadomienie.

Przypisywanie uprawnień do tożsamości zarządzanej klastra usługi AKS

Podczas wdrażania klastra usługi AKS usługa AKS tworzy grupę zasobów węzła w tej samej subskrypcji w celu hostowania infrastruktury klastra. Domyślnie ta grupa zasobów ma nazwę taką jak MC_<resource group>_<AKS cluster>_<region>. Na potrzeby tego samouczka grupa zasobów węzła powinna mieć nazwę MC_virtualnodesresourcegroup_virtualnodescluster_eastus.

Jedną z zasobów utworzonych w grupie zasobów węzła jest tożsamość zarządzana o nazwie virtualnodescluster_agentpool. Przejdź do tej tożsamości zarządzanej i wybierz pozycję Przypisania ról platformy Azure. Następnie dodaj następujące dwa przypisania ról:

  • Zakres: Resource group
  • Subskrypcje: <your subscription name>
  • Grupa zasobów: MC_virtualnodesresourcegroup_virtualnodescluster_eastus
  • Rola: Contributor

To przypisanie roli umożliwia tworzenie grup kontenerów ACI w grupie zasobów węzła.

  • Zakres: Resource group
  • Subskrypcje: <your subscription name>
  • Grupa zasobów: virtualnodesresourcegroup
  • Rola: Contributor

To przypisanie roli umożliwia wstrzyknięcie grup kontenerów usługi ACI do sieci wirtualnej utworzonej w tej grupie zasobów.

Zrzut ekranu przedstawiający przypisania ról dodane do tożsamości zarządzanej usługi AKS.

Instalowanie węzłów wirtualnych w usłudze Azure Container Instances przy użyciu pakietu Helm

Użyj interfejsu wiersza polecenia platformy Azure, aby ściągnąć konfigurację i poświadczenia utworzonego klastra usługi AKS. Spowoduje to skonfigurowanie narzędzia kubectl dla klastra usługi AKS.

az login

az account set --subscription <your subscription ID>

az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup

Ponadto zarejestrujemy dostawcę zasobów ACI w ramach subskrypcji, aby można było wdrożyć grupy kontenerów.

az provider register -n Microsoft.ContainerInstance

Sklonuj repozytorium GitHub virtualnodesOnAzureContainerInstances . Pakiet Helm do instalowania węzłów wirtualnych w usłudze Azure Container Instances znajduje się w folderze Helm/virtualnode .

Zainstaluj pakiet Helm przy użyciu następującego polecenia:

helm install virtualnode <cloned repository location>\Helm\virtualnode

W ciągu minuty nowy węzeł wirtualny zostanie zarejestrowany i w stanie Gotowe w klastrze usługi AKS. Stan węzłów klastra usługi AKS można sprawdzić za pomocą narzędzia kubectl.

kubectl get nodes

Zrzut ekranu przedstawiający dane wyjściowe polecenia kubectl get nodes z węzłem wirtualnym w stanie Gotowe.

Wdrażanie pierwszego zasobnika w węźle wirtualnym

Możesz wchodzić w interakcje z węzłami wirtualnymi, takimi jak wszystkie inne węzły kubernetes. Na przykład poniższy przykładowy kod YAML wdroży zasobnik na węźle wirtualnym w klastrze usługi AKS — zwróć uwagę na użycie selektorów węzłów i tolerancji, aby odpowiednio umieścić zasobnik. Kod YAML można wdrożyć przy użyciu narzędzia kubectl apply.

apiVersion: v1
kind: Pod
metadata:
  annotations:    
  name: demo-pod
spec:
  containers:
  - command:
    - /bin/bash
    - -c
    - 'counter=1; while true; do echo "Hello, World! Counter: $counter"; counter=$((counter+1)); sleep 1; done'
    image: mcr.microsoft.com/azure-cli
    name: hello-world-counter
    resources:
      limits:
        cpu: 2250m
        memory: 2256Mi
      requests:
        cpu: 100m
        memory: 128Mi
  nodeSelector:
    virtualization: virtualnode2
  tolerations:
  - effect: NoSchedule
    key: virtual-kubelet.io/provider
    operator: Exists

Po wdrożeniu zasobnika możesz wchodzić z nim w interakcje dokładnie tak, jak w przypadku "normalnego" zasobnika Kubernetes.

Aby na przykład wyświetlić stan zasobnika i zdarzenia (przydatne do znajdowania błędów!):

kubectl describe pods demo-pod

Aby wyświetlić dzienniki zasobnika:

kubectl logs demo-pod

Aby uzyskać powłokę dla zasobnika:

kubectl exec demo-pod -it -- /bin/bash

Następne kroki

W tym samouczku utworzono klaster usługi AKS w witrynie Azure Portal, wdrożono węzły wirtualne w usłudze Azure Container Instances przy użyciu wykresu programu Helm i wdrożono zasobnik w węźle wirtualnym. Teraz masz podstawową znajomość sposobu uruchamiania zasobników Kubernetes w węźle wirtualnym i możesz korzystać z większości możliwości i konstrukcji platformy Kubernetes na tych zasobnikach.

Jeśli chcesz korzystać z wyspecjalizowanych funkcji lub zachowań węzłów wirtualnych dla zasobników, zobacz Dostosowywanie zasobników.

Jeśli chcesz dostosować instalację węzła wirtualnego, zobacz Dostosowywanie węzła.

Jeśli planujesz wdrożyć obciążenia o dużej skali (tysiące zasobników na minutę) w węzłach wirtualnych, mamy najlepsze rozwiązania i zalecenia.