Azure Linux Container Host には、更新された Azure Linux ノード イメージとパッケージの自動更新という 2 つのメカニズムを通じて更新プログラムが出荷されます。
アプリケーションとクラスターのライフサイクルの一環として、クラスターのアップグレードを有効にして、クラスターを最新の状態に保ち、セキュリティで保護することをお勧めします。 ノード イメージの自動アップグレードを有効にして、クラスターがスケールアップ時に最新の Azure Linux コンテナー ホスト イメージを使用するようにすることができます。 クラスター上のノード イメージを手動でアップグレードすることもできます。
このチュートリアルの全5回中の第5回では、次の方法を学習します。
- クラスター上のノード イメージを手動でアップグレードします。
- Azure Linux コンテナー ホスト クラスターを自動的にアップグレードします。
- Kured を Azure Linux コンテナー ホスト クラスターにデプロイします。
このチュートリアルのコマンドでは、「Tutorial 1: Azure Linux Container Host for AKS と Tutorial 2: Azure Linux ノード プールを既存の AKS クラスターに追加する で設定された環境変数を使用します。
Note
手動または自動のいずれのアップグレード操作でも、ノード イメージのバージョンがまだ最新でない場合はアップグレードされます。 最新バージョンは完全な AKS リリースに対応しており、 AKS リリース トラッカーにアクセスして判断できます。
Prerequisites
- 前のチュートリアルでは、Azure Linux コンテナー ホスト クラスターを作成してデプロイしました。 このチュートリアルを完了するには、既存のクラスターが必要です。 この手順を実行しておらず、手順に沿って進めたい場合は、「チュートリアル 1: AKS 用 Azure Linux コンテナー ホストを使用してクラスターを作成する」から始めます。
- 最新バージョンの Azure CLI が必要です。
az --versionコマンドを使用してバージョンを検索します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールを参照してください。
クラスターを手動でアップグレードする
az aks nodepool upgrade コマンドを使用して、クラスター上のノード イメージを手動でアップグレードします。
az aks nodepool upgrade --resource-group $RESOURCE_GROUP --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"
}
}
アップグレード チャネルの詳細については、「 クラスターの自動アップグレードの使用」を参照してください。
パッケージの自動アップグレードを有効にする
パッケージの自動アップグレードを有効にすることもできます。 パッケージの自動アップグレードが有効になっている場合、dnf-automatic systemd サービスは毎日実行され、発行された更新されたパッケージがインストールされます。
az aks update パラメーターを指定して、--node-os-upgrade-channel コマンドを使用して、既存のクラスターでノード OS アップグレード チャネルを設定します。 次の例では、ノード OS アップグレード チャネルを既存のクラスターの Unmanaged に設定します。
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-os-upgrade-channel Unmanaged
出力例:
{
"id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
"location": "WestUS2",
"name": "testAzureLinuxCluster",
"properties": {
"nodeOsUpgradeChannel": "Unmanaged",
"provisioningState": "Succeeded"
}
}
自動再起動デーモンを有効にする
クラスターを保護するために、セキュリティ更新プログラムは Azure Linux ノードに自動的に適用されます。 これらの更新プログラムには、OS のセキュリティ修正プログラム、カーネルの更新プログラム、パッケージのアップグレードが含まれます。 これらの更新プログラムの中には、プロセスを完了するためにノードの再起動が必要なものがあります。 AKS は、更新プロセスを完了するためにこれらのノードを自動的に再起動しません。
カーネルの更新を行ったノードをクラスターで再起動できるように、 Kured などの自動再起動デーモンを有効にすることをお勧めします。 Azure Linux コンテナー ホスト クラスターに Kured DaemonSet をデプロイするには、「 AKS クラスターに Kured をデプロイする」を参照してください。
リソースをクリーンアップする
このチュートリアルはシリーズの最後の部分であるため、Azure Linux Container Host クラスターを削除することをお勧めします。 Kubernetes ノードは、Azure仮想マシン (VM) 上で実行され、クラスターを使用しない場合でも料金が発生し続けます。
az group delete コマンドを使用して、Azure リソース グループとすべての関連リソースを削除します。
az group delete --name $RESOURCE_GROUP --yes --no-wait
次のステップ
このチュートリアルでは、Azure Linux Container Host クラスターをアップグレードしました。
Azure Linux コンテナー ホストの詳細については、 Azure Linux コンテナー ホストの概要に関するページを参照してください。