チュートリアル: Azure Kubernetes Service (AKS) クラスター Azure OS Guard (プレビュー) ノードを使用して Linux をアップグレードする

Note

Azure Linux と OS Guard (プレビュー) は、Azure Container Linux (ACL) に置き換えられます。

Azure Container Linux は、Azure Kubernetes Service (AKS)用の長期的で不変のコンテナー最適化 Linux オペレーティング システム (OS) です。 コンテナー化されたワークロードを大規模に実行するように設計された、セキュリティで保護され、最小限かつ運用上一貫性のあるホスト OS が提供されます。

詳細については、Azure Container Linux (ACL) の概要を参照してください。

OS Guard を使用した Azure Linux では、更新されたノード イメージとパッケージの自動更新によって更新プログラムが出荷されます。 アプリケーションとクラスターのライフサイクルの一環として、クラスターのアップグレードを有効にして、クラスターを最新の状態に保ち、セキュリティで保護することをお勧めします。 ノード イメージの自動アップグレードを有効にして、クラスターがスケールアップ時に最新の Azure Linux と OS Guard イメージを確実に使用できるようにします。 クラスター上のノード イメージを手動でアップグレードすることもできます。

このチュートリアルの全5回中の第5回では、次の方法を学習します。

  • クラスター上のノード イメージを手動でアップグレードします。
  • OS Guard クラスターを使用して Azure Linux を自動的にアップグレードします。
  • OS Guard クラスターを使用して Azure Linux に Kured をデプロイします。

Note

手動と自動どちらであっても、アップグレード操作を実行すると、ノード イメージが最新バージョンではない場合、ノード イメージがアップグレードされます。 最新バージョンは完全な AKS リリースに対応しており、 AKS リリース トラッカーにアクセスして確認できます。

Prerequisites

  • 前のチュートリアルでは、OS Guard クラスターを使用して Azure Linux を作成してデプロイしました。 このチュートリアルを完了するには、既存のクラスターが必要です。 この手順を完了していない場合は、「 チュートリアル 1: AKS 用 OS Guard を使用して Azure Linux を使用してクラスターを作成する」を参照してください。
  • 最新バージョンの Azure CLI が必要です。 az version コマンドを使用してバージョンを検索します。 最新バージョンにアップグレードするには、 az upgrade コマンドを使用します。

OS Guard 使用時の Azure Linux に関する考慮事項と制限事項

開始する前に、OS Guard (プレビュー) を使用した Azure Linux に関する次の考慮事項と制限事項を確認してください。

クラスターを手動でアップグレードする

az aks nodepool upgrade コマンドを使用して、クラスター上のノード イメージを手動でアップグレードします。

az aks nodepool upgrade --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name <node-pool-name>

クラスターを自動的にアップグレードする

自動アップグレードは、機能的には手動アップグレードと同じです。 選択したチャネルによって、アップグレードのタイミングが決まります。 自動アップグレードに変更を加える場合、変更を有効にするには 24 時間かかります。

az aks update コマンドと --auto-upgrade-channel パラメーターを使用して、既存のクラスターに自動アップグレード チャネルを設定します。 次の例では、自動アップグレード チャネルを既存のクラスターの stable に設定します。

az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --auto-upgrade-channel stable

出力例:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
  "location": "WestUS2",
  "name": "testAzureLinuxCluster",
  "properties": {
    "autoUpgradeChannel": "stable",
    "provisioningState": "Succeeded"
  }
}

アップグレード チャネルの詳細については、「 クラスターの自動アップグレードの使用」を参照してください。

ノード OS イメージを自動的にアップグレードする

AKS には、タイムリーなノード レベルの OS セキュリティ更新プログラム専用の複数の自動アップグレード チャネルが用意されています。 このチャネルは、クラスター レベルの Kubernetes バージョンのアップグレードとは異なり、それに代わるものです。

Important

NodeImage と None は、AKS 上で OS Guard を使用する Azure Linux でサポートされている唯一のオペレーティング システム (OS) アップグレード チャネルです。 Unmanaged および SecurityPatch は、変更できない /usr ディレクトリのため、OS Guard を使用する Azure Linux と互換性がありません。

az aks update パラメーターを指定して、--node-os-upgrade-channel コマンドを使用して、既存のクラスターでノード OS アップグレード チャネルを設定します。 次の例では、ノード OS アップグレード チャネルを既存のクラスターの NodeImage に設定します。

az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-os-upgrade-channel NodeImage

出力例:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
  "location": "WestUS2",
  "name": "testAzureLinuxCluster",
  "properties": {
    "nodeOsUpgradeChannel": "NodeImage",
    "provisioningState": "Succeeded"
  }
}

ノード・アップグレード・チャネルの詳細については、 ノード OS 自動アップグレードの使用を参照してください。

リソースをクリーンアップする

このチュートリアルはシリーズの最後の部分であるため、os Guard クラスターを使用して linux Azureを削除できます。 Kubernetes ノードは、Azure仮想マシン (VM) 上で実行され、クラスターを使用しない場合でも料金が発生し続けます。

az group delete コマンドを使用して、Azure リソース グループとすべての関連リソースを削除します。

az group delete --name $RESOURCE_GROUP --yes --no-wait

次のステップ

このチュートリアルでは、Azure Linux Container Host クラスターをアップグレードしました。

OS Guard を使用した Azure Linux の詳細については、 OS Guard を使用した Azure Linux の概要に関するページを参照してください。