クラスタの更新
各KubernetesノードのOracle Container Host for Kubernetes (OCK)イメージを更新して、Kubernetesクラスタを更新する方法について学習します。
この項では、最新のKubernetesパッチ・リリースにノードを更新する方法、または次のKubernetesマイナー・リリースにノードを更新する方法について説明します。
パッチ・リリースには、エラータの更新が含まれ、Common Vulnerabilities and Exposures (CVE)の修正、Kubernetesの更新、OSの更新などが含まれる場合があります。 次のKubernetesマイナー・バージョンへの更新は、パッチ更新と同じ方法で実行され、Kubernetesバージョン番号を設定する追加のステップが1つあります。
Oracle CNEは、更新されたOracle Container Host for Kubernetes (OCK)イメージを介してすべての更新を提供します。 更新は、Kubernetesマイナー・バージョンに固有のOCKイメージを介して配信されます(たとえば、Kubernetesリリース1.32)。
各ノードは定期的にコンテナ・レジストリをポーリングして、実行されているOCKイメージの更新をチェックするか、Kubernetesをアップグレードする場合はターゲットKubernetesバージョンのイメージをチェックします。 アップグレードのKubernetesバージョンを設定すると、そのバージョンのイメージがクラスタ内のノードにプルおよびステージングされます。 パッチの更新は、各ノードに自動的にダウンロードされるため、ノードの更新前にステージングする必要はありません。
更新が使用可能な場合は、ocne node update
コマンドを使用してノードを再起動し、新しいイメージを使用します。 ノードに対してocne node update
コマンドを実行すると、次のアクションが完了します:
-
ノードは、クラスタから(
kubectl drain
コマンドを使用して)排出されます。 これにより、ノードからポッドが削除されます。 -
ホストOCKイメージがノードにインストールされ、ノードが再起動されます。
-
ノードは(
kubectl uncordon
コマンドを使用して)クラスタに戻され、ポッドの実行に使用できます。
コントロール・プレーン・ノードから順にノードを更新します。
ヒント:
時間を節約するために、コントロール・プレーン・ノードの1つが更新可能であると注釈が付けられ次第、更新プロセスを開始できます。
高可用性クラスタは、クラスタを停止せずに更新できます。 1つのコントロール・プレーン・ノードがオフラインになると、別のコントロール・プレーン・ノードによってクラスタが制御されます。 単一のコントロール・プレーン・ノードを持つクラスタでは、更新の実行中にコントロール・プレーン・ノードが短時間オフラインになります。
アプリケーションが複数のワーカー・ノードで実行されている場合、更新中は起動したまま使用可能になります。