Tutorial: Durchführen eines Upgrades für Kubernetes in Azure Kubernetes Service (AKS)Tutorial: Upgrade Kubernetes in Azure Kubernetes Service (AKS)

Im Rahmen des Anwendungs- und Clusterlebenszyklus möchten Sie möglicherweise ein Upgrade auf die neueste verfügbare Version von Kubernetes durchführen und neue Funktionen nutzen.As part of the application and cluster lifecycle, you may wish to upgrade to the latest available version of Kubernetes and use new features. Ein Upgrade für den Azure Kubernetes Service-Cluster (AKS) kann über die Azure CLI durchgeführt werden.An Azure Kubernetes Service (AKS) cluster can be upgraded using the Azure CLI.

In diesem Tutorial (Teil 7 von 7) wird ein Upgrade für einen Kubernetes-Cluster durchgeführt.In this tutorial, part seven of seven, a Kubernetes cluster is upgraded. Folgendes wird vermittelt:You learn how to:

  • Identifizieren der aktuellen und verfügbaren Kubernetes-VersionenIdentify current and available Kubernetes versions
  • Aktualisieren der Kubernetes-KnotenUpgrade the Kubernetes nodes
  • Überprüfen des erfolgreichen UpgradesValidate a successful upgrade

VoraussetzungenBefore you begin

In den vorherigen Tutorials wurde eine Anwendung als Containerimage verpackt.In previous tutorials, an application was packaged into a container image. Dieses Image wurde in Azure Container Registry hochgeladen, und Sie haben einen AKS-Cluster erstellt.This image was uploaded to Azure Container Registry, and you created an AKS cluster. Die Anwendung wurde dann für den AKS-Cluster bereitgestellt.The application was then deployed to the AKS cluster. Falls Sie diese Schritte nicht ausgeführt haben und dies jetzt nachholen möchten, sollten Sie mit Tutorial 1 – Erstellen von Containerimages beginnen.If you have not done these steps, and would like to follow along, start with Tutorial 1 – Create container images.

Für dieses Tutorial müssen Sie mindestens Version 2.0.53 der Azure CLI ausführen.This tutorial requires that you are running the Azure CLI version 2.0.53 or later. Führen Sie az --version aus, um die Version zu finden.Run az --version to find the version. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Abrufen verfügbarer ClusterversionenGet available cluster versions

Verwenden Sie vor dem Upgrade eines Clusters den Befehl az aks get-upgrades, um zu überprüfen, welche Kubernetes-Versionen als Upgrade verfügbar sind:Before you upgrade a cluster, use the az aks get-upgrades command to check which Kubernetes releases are available for upgrade:

az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --output table

Im folgenden Beispiel lautet die aktuelle Version 1.13.10, und die verfügbaren Versionen werden in der Spalte Upgrades angezeigt.In the following example, the current version is 1.13.10, and the available versions are shown under the Upgrades column.

Name     ResourceGroup    MasterVersion    NodePoolVersion    Upgrades
-------  ---------------  ---------------  -----------------  --------------
default  myResourceGroup  1.13.10          1.13.10            1.14.5, 1.14.6

Aktualisieren eines ClustersUpgrade a cluster

AKS-Knoten werden sorgfältig isoliert und ausgeglichen, um ausgeführte Anwendungen möglichst wenig zu beeinträchtigen.To minimize disruption to running applications, AKS nodes are carefully cordoned and drained. Bei diesem Prozess werden die folgenden Schritte ausgeführt:In this process, the following steps are performed:

  1. Der Kubernetes-Planer verhindert, dass weitere Pods für einen Knoten geplant werden, für den ein Upgrade durchgeführt werden soll.The Kubernetes scheduler prevents additional pods being scheduled on a node that is to be upgraded.
  2. Ausgeführte Pods auf dem Knoten werden auf anderen Knoten im Cluster eingeplant.Running pods on the node are scheduled on other nodes in the cluster.
  3. Es wird ein Knoten erstellt, auf dem die aktuellen Kubernetes-Komponenten ausgeführt werden.A node is created that runs the latest Kubernetes components.
  4. Wenn der neue Knoten bereit ist und in den Cluster eingebunden wurde, beginnt der Kubernetes-Planer damit, Pods darauf auszuführen.When the new node is ready and joined to the cluster, the Kubernetes scheduler begins to run pods on it.
  5. Der alte Knoten wird gelöscht, und der nächste Knoten im Cluster beginnt mit dem Prozess des Absperrens und Ausgleichens.The old node is deleted, and the next node in the cluster begins the cordon and drain process.

Verwenden Sie den Befehl az aks upgrade, um ein Upgrade des AKS-Clusters durchzuführen.Use the az aks upgrade command to upgrade the AKS cluster. Im folgenden Beispiel wird ein Upgrade des Clusters auf Kubernetes-Version 1.14.6 durchgeführt.The following example upgrades the cluster to Kubernetes version 1.14.6.

Hinweis

Upgrades sind jeweils nur auf die nächste Nebenversion möglich.You can only upgrade one minor version at a time. Beispielsweise können Sie ein Upgrade von 1.12.x auf 1.13.x durchführen, aber nicht direkt von 1.12.x auf 1.14.x.For example, you can upgrade from 1.12.x to 1.13.x, but cannot upgrade from 1.12.x to 1.14.x directly. Für ein Upgrade von 1.12.x auf 1.14.x müssen Sie zuerst ein Upgrade von 1.12.x auf 1.13.x und dann ein weiteres Upgrade von 1.13.x auf 1.14.x durchführen.To upgrade from 1.12.x to 1.14.x, first upgrade from 1.12.x to 1.13.x, then perform another upgrade from 1.13.x to 1.14.x.

az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.14.6

In der folgenden verkürzten Beispielausgabe wird für kubernetesVersion jetzt die Versionsangabe 1.14.6 angezeigt:The following condensed example output shows the kubernetesVersion now reports 1.14.6:

{
  "agentPoolProfiles": [
    {
      "count": 3,
      "maxPods": 110,
      "name": "nodepool1",
      "osType": "Linux",
      "storageProfile": "ManagedDisks",
      "vmSize": "Standard_DS1_v2",
    }
  ],
  "dnsPrefix": "myAKSClust-myResourceGroup-19da35",
  "enableRbac": false,
  "fqdn": "myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io",
  "id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
  "kubernetesVersion": "1.14.6",
  "location": "eastus",
  "name": "myAKSCluster",
  "type": "Microsoft.ContainerService/ManagedClusters"
}

Überprüfen eines UpgradesValidate an upgrade

Überprüfen mit dem Befehl az aks show folgendermaßen, ob das Upgrade erfolgreich durchgeführt wurde:Confirm that the upgrade was successful using the az aks show command as follows:

az aks show --resource-group myResourceGroup --name myAKSCluster --output table

Die folgende Beispielausgabe zeigt, dass der AKS-Cluster KubernetesVersion 1.14.6 ausführt:The following example output shows the AKS cluster runs KubernetesVersion 1.14.6:

Name          Location    ResourceGroup    KubernetesVersion    ProvisioningState    Fqdn
------------  ----------  ---------------  -------------------  -------------------  ----------------------------------------------------------------
myAKSCluster  eastus      myResourceGroup  1.14.6               Succeeded            myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io

Löschen des ClustersDelete the cluster

Da dieses Tutorial der letzte Teil der Reihe ist, ist es ratsam, den AKS-Cluster zu löschen.As this tutorial is the last part of the series, you may want to delete the AKS cluster. Da die Kubernetes-Knoten auf virtuellen Azure-Computern (VMs) ausgeführt werden, fallen dafür auch dann weiter Gebühren an, wenn Sie den Cluster nicht nutzen.As the Kubernetes nodes run on Azure virtual machines (VMs), they continue to incur charges even if you don't use the cluster. Führen Sie den Befehl az group delete aus, um die Ressourcengruppe, den Containerdienst und alle dazugehörigen Ressourcen zu entfernen.Use the az group delete command to remove the resource group, container service, and all related resources.

az group delete --name myResourceGroup --yes --no-wait

Hinweis

Wenn Sie den Cluster löschen, wird der vom AKS-Cluster verwendete Azure Active Directory-Dienstprinzipal nicht entfernt.When you delete the cluster, the Azure Active Directory service principal used by the AKS cluster is not removed. Schritte zum Entfernen des Dienstprinzipals finden Sie unter den Überlegungen zum AKS-Dienstprinzipal und dessen Löschung.For steps on how to remove the service principal, see AKS service principal considerations and deletion.

Nächste SchritteNext steps

In diesem Tutorial haben Sie Kubernetes in einem AKS-Cluster aktualisiert.In this tutorial, you upgraded Kubernetes in an AKS cluster. Es wurde Folgendes vermittelt:You learned how to:

  • Identifizieren der aktuellen und verfügbaren Kubernetes-VersionenIdentify current and available Kubernetes versions
  • Aktualisieren der Kubernetes-KnotenUpgrade the Kubernetes nodes
  • Überprüfen des erfolgreichen UpgradesValidate a successful upgrade

Über den folgenden Link erhalten Sie weitere Informationen zu AKS.Follow this link to learn more about AKS.