チュートリアル: Azure Linux コンテナー ホスト ノードをアップグレードする
Azure Linux コンテナー ホストでは、更新された Azure Linux ノード イメージとパッケージの自動更新という 2 つのメカニズムによって更新プログラムがリリースされます。
アプリケーションとクラスターのライフサイクルの一部として、クラスターのアップグレードを有効にして、クラスターを最新の状態に保ち、セキュリティで保護することをお勧めします。 ノード イメージの自動アップグレードを有効にして、クラスターをスケールアップするときに最新の Azure Linux コンテナー ホスト イメージを使用するようにできます。 クラスター上のノード イメージを手動でアップグレードすることもできます。
このチュートリアル (パート 5/5) では、次の方法を学習します。
- クラスター上のノード イメージを手動でアップグレードする。
- Azure Linux コンテナー ホスト クラスターを自動的にアップグレードする。
- Azure Linux コンテナー ホスト クラスターに Kured をデプロイする。
Note
手動でも自動でも、アップグレード操作を実行すると、ノード イメージのバージョンがまだ最新でない場合はアップグレードされます。 最新バージョンは完全な AKS リリースに依存しており、AKS リリース トラッカーにアクセスすることで特定できます。
前提条件
- 前のチュートリアルでは、Azure Linux コンテナー ホスト クラスターを作成してデプロイしました。 このチュートリアルを完了するには、既存のクラスターが必要です。 この手順を実行しておらず、手順に沿って進めたい場合は、「チュートリアル 1: AKS 用 Azure Linux コンテナー ホストを使用してクラスターを作成する」から始めます。
- 最新バージョンの Azure CLI が必要です。 バージョンは、
az --version
コマンドを使用して確認します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。
クラスターを手動でアップグレードする
クラスター上のノードイメージを手動でアップグレードするには、az aks nodepool upgrade
を実行します。
az aks nodepool upgrade \
--resource-group testAzureLinuxResourceGroup \
--cluster-name testAzureLinuxCluster \
--name myAzureLinuxNodepool \
--node-image-only
AKS クラスターを自動的にアップグレードする
自動アップグレードは、時間と運用コストの面で目に見えるメリットを生み出す、1 回設定するだけのメカニズムです。 自動アップグレードを有効にすると、クラスターを常に最新の状態に保ち、AKS やアップストリーム Kubernetes が提供する最新の Azure Linux コンテナー ホストの機能やパッチを見逃さないようにすることができます。
自動的に実行されたアップグレードは、手動アップグレードと機能的に同じです。 選択したチャネルによって、アップグレードのタイミングが決まります。 自動アップグレードに変更を加える場合、変更が有効になるまで 24 時間かかります。
既存のクラスターに自動アップグレード チャネルを設定するには、次の例のように --auto-upgrade-channel
パラメーターを更新します。これは、前のマイナー バージョンでサポートされている最新のパッチ リリースにクラスターを自動的にアップグレードします。
az aks update --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster --auto-upgrade-channel stable
アップグレード チャネルの詳細については、「クラスターの自動アップグレードの使用」を参照してください。
パッケージの自動アップグレードを有効にする
クラスターを自動アップグレードに設定するのと同様に、パッケージのアップグレードの場合も、ノード OS アップグレード チャネルを有効にして、1 回設定するだけの同じメカニズムを使用できます。 パッケージの自動アップグレードが有効になっている場合、dnf-automatic
systemd サービスが毎日実行され、発行された更新済みのパッケージがインストールされます。
既存のクラスターにノード OS アップグレード チャネルを設定するには、次の例のように --node-os-upgrade-channel
パラメーターを更新します。これは、パッケージのアップグレードを自動的に有効にします。
az aks update --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster --node-os-upgrade-channel Unmanaged
自動再起動デーモンを有効にする
クラスターを保護するために、Azure Linux ノードにセキュリティ更新プログラムが自動的に適用されます。 これらの更新プログラムには、OS のセキュリティ修正プログラム、カーネルの更新プログラム、パッケージのアップグレードが含まれます。 これらの更新プログラムの中には、プロセスを完了するためにノードの再起動が必要なものがあります。 AKS では、更新プロセスを完了するためのこれらのノードの再起動は自動的に行われません。
カーネルの更新を行ったノードをクラスターが再起動できるように、Kured などの自動再起動デーモンを有効にすることをお勧めします。 Azure Linux コンテナー ホスト クラスターに Kured デーモンセットをデプロイするには、「AKS クラスターに kured をデプロイする」を参照してください。
リソースをクリーンアップする
このチュートリアルはシリーズの最後のパートなので、Azure Linux コンテナー ホスト クラスターを削除することをお勧めします。 Kubernetes ノードは Azure 仮想マシンで実行されており、クラスターを使わない場合でも引き続き料金が発生します。 az group delete
コマンドを使用して、リソース グループと関連するリソースをすべて削除します。
az group delete --name testAzureLinuxCluster --yes --no-wait
次のステップ
このチュートリアルでは、Azure Linux コンテナー ホスト クラスターをアップグレードしました。 以下の方法を学習しました。
- クラスター上のノード イメージを手動でアップグレードする。
- Azure Linux コンテナー ホスト クラスターを自動的にアップグレードする。
- Azure Linux コンテナー ホスト クラスターに kured をデプロイする。
Azure Linux コンテナー ホストの詳細については、Azure Linux コンテナー ホストの概要に関する記事を参照してください。