チュートリアル:Azure Kubernetes Service (AKS) での Kubernetes のアップグレードTutorial: Upgrade Kubernetes in Azure Kubernetes Service (AKS)

アプリケーションとクラスターのライフサイクルの一環として、使用可能な最新バージョンの Kubernetes にアップグレードし、新しい機能を使用することができます。As part of the application and cluster lifecycle, you may wish to upgrade to the latest available version of Kubernetes and use new features. Azure Kubernetes Service (AKS) クラスターは、Azure CLI を使用してアップグレードできます。An Azure Kubernetes Service (AKS) cluster can be upgraded using the Azure CLI.

このチュートリアル (7 部構成の第 7 部) では、Kubernetes クラスターがアップグレードされます。In this tutorial, part seven of seven, a Kubernetes cluster is upgraded. 学習内容は次のとおりです。You learn how to:

  • 現在の使用可能な Kubernetes バージョンを識別するIdentify current and available Kubernetes versions
  • Kubernetes ノードをアップグレードするUpgrade the Kubernetes nodes
  • 正常なアップグレードを検証するValidate a successful upgrade

開始する前にBefore you begin

これまでのチュートリアルでは、アプリケーションをコンテナー イメージにパッケージ化しました。In previous tutorials, an application was packaged into a container image. このイメージを Azure Container Registry にアップロードし、AKS クラスターを作成しました。This image was uploaded to Azure Container Registry, and you created an AKS cluster. その後、AKS クラスターにアプリケーションをデプロイしました。The application was then deployed to the AKS cluster. これらの手順を完了しておらず、順番に進めたい場合は、チュートリアル 1 - コンテナー イメージを作成するに関するページから開始してください。If you have not done these steps, and would like to follow along, start with Tutorial 1 – Create container images.

このチュートリアルでは、Azure CLI バージョン 2.0.53 以降を実行している必要があります。This tutorial requires that you are running the Azure CLI version 2.0.53 or later. バージョンを確認するには、az --version を実行します。Run az --version to find the version. インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure CLI.

使用可能なクラスターのバージョンを取得するGet available cluster versions

クラスターをアップグレードする前に、az aks get-upgrades コマンドを使用して、アップグレードで利用できる Kubernetes のリリースを確認します。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

次の例では、現在のバージョンが 1.13.10 であることがわかります。また、 [Upgrades] 列からは利用可能なアップグレードのバージョンがわかります。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

クラスターをアップグレードするUpgrade a cluster

実行中のアプリケーションの中断を最小限に抑えるために、AKS ノードは慎重に切断およびドレインされます。To minimize disruption to running applications, AKS nodes are carefully cordoned and drained. このプロセスでは、以下の手順が行われます。In this process, the following steps are performed:

  1. Kubernetes スケジューラが、アップグレードされるノードに追加のポッドがスケジュールされないようにします。The Kubernetes scheduler prevents additional pods being scheduled on a node that is to be upgraded.
  2. ノードで実行中のポッドは、クラスター内の他のノードにスケジュールされます。Running pods on the node are scheduled on other nodes in the cluster.
  3. 最新の Kubernetes コンポーネントを実行するノードが作成されます。A node is created that runs the latest Kubernetes components.
  4. 新しいノードの準備が整い、クラスターに参加すると、Kubernetes スケジューラによってそのノードでポッドの実行が開始されます。When the new node is ready and joined to the cluster, the Kubernetes scheduler begins to run pods on it.
  5. 古いノードが削除され、クラスター内の次のノードが切断およびドレイン プロセスを開始します。The old node is deleted, and the next node in the cluster begins the cordon and drain process.

az aks upgrade コマンドを使用して、AKS クラスターをアップグレードします。Use the az aks upgrade command to upgrade the AKS cluster. 次の例では、クラスターを Kubernetes バージョン 1.14.6 にアップグレードします。The following example upgrades the cluster to Kubernetes version 1.14.6.

注意

一度に 1 つのマイナー バージョンのみをアップグレードできます。You can only upgrade one minor version at a time. たとえば、1.12.x から 1.13.x にアップグレードすることはできますが、1.12.x から 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. 1.12.x から 1.14.x にアップグレードするには、まず 1.12.x から 1.13.x にアップグレードします。その後、1.13.x から 1.14.x にもう一度アップグレードします。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

次に示したのは、その出力例の抜粋です。kubernetesVersion1.14.6 としてレポートされていることがわかります。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"
}

アップグレードを検証するValidate an upgrade

az aks show コマンドを次のように使用して、アップグレードが成功したことを確認します。Confirm that the upgrade was successful using the az aks show command as follows:

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

次の出力例は、AKS クラスターで KubernetesVersion 1.14.6 が実行されていることを示しています。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

クラスターを削除するDelete the cluster

このチュートリアルはシリーズの最後の部分なので、AKS クラスターを削除することをお勧めします。As this tutorial is the last part of the series, you may want to delete the AKS cluster. Kubernetes ノードは Azure 仮想マシン (VM) で実行され、クラスターを使用しない場合でも引き続き料金が発生するためです。As the Kubernetes nodes run on Azure virtual machines (VMs), they continue to incur charges even if you don't use the cluster. az group delete コマンドを使用して、リソース グループ、コンテナー サービス、およびすべての関連リソースを削除します。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

注意

クラスターを削除したとき、AKS クラスターで使用される Azure Active Directory サービス プリンシパルは削除されません。When you delete the cluster, the Azure Active Directory service principal used by the AKS cluster is not removed. サービス プリンシパルを削除する手順については、AKS のサービス プリンシパルに関する考慮事項と削除に関するページを参照してください。For steps on how to remove the service principal, see AKS service principal considerations and deletion.

次の手順Next steps

このチュートリアルでは、AKS クラスター内の Kubernetes をアップグレードしました。In this tutorial, you upgraded Kubernetes in an AKS cluster. 以下の方法について学習しました。You learned how to:

  • 現在の使用可能な Kubernetes バージョンを識別するIdentify current and available Kubernetes versions
  • Kubernetes ノードをアップグレードするUpgrade the Kubernetes nodes
  • 正常なアップグレードを検証するValidate a successful upgrade

AKS の詳細については、このリンクに従ってください。Follow this link to learn more about AKS.