ノード・プールおよびワーカー・ノード・プロパティの変更
Kubernetes Engine (OKE)を使用して作成した既存のノード・プールおよびワーカー・ノードのプロパティを変更する方法を確認します。
Kubernetes Engineを使用して、既存のKubernetesクラスタ内のノード・プールおよびワーカー・ノードのプロパティを変更できます。
次の変更が可能です:
- ノード・プールの名前
- 新しいワーカー・ノードで実行するKubernetesのバージョン
- ノード・プール内のワーカー・ノードの数、およびそれらを配置する可用性ドメイン、フォルト・ドメインおよびサブネット
- 新規ワーカー・ノードに使用するイメージ
- 新規ワーカー・ノードに使用するシェイプ
- 新規ワーカー・ノードに使用するブート・ボリューム・サイズおよび暗号化設定
- ワーカー・ノードを終了するときに使用するcordonおよびdrainオプション
- ワーカー・ノードをホストするインスタンスに使用するcloud-initスクリプト
- 新規ワーカー・ノードへのアクセスに使用する公開SSHキー
Kubernetes Engineによって作成されたリソースの自動生成された名前(ワーカー・ノードの名前など)は変更しないでください。
重要
ワーカー・ノード・プロパティに対する変更は、新しいワーカー・ノードにのみ適用されます。既存のワーカー・ノードのプロパティは変更できません。変更をすぐに有効にする場合は、必要な設定で新しいノード・プールを作成し、作業を元のノード・プールから新しいノード・プールにシフトすることを検討してください(「プロパティが更新されたワーカー・ノードの作成」を参照)。
ワーカー・ノード・プロパティに対する変更は、新しいワーカー・ノードにのみ適用されます。既存のワーカー・ノードのプロパティは変更できません。変更をすぐに有効にする場合は、必要な設定で新しいノード・プールを作成し、作業を元のノード・プールから新しいノード・プールにシフトすることを検討してください(「プロパティが更新されたワーカー・ノードの作成」を参照)。
また、次についても注意してください:
- 状況によっては、ノード・プール内で起動する新しいワーカー・ノードのプロパティのみでなく、ノード・プール内のすべてのワーカー・ノードのプロパティを同時に更新することが必要な場合があります。たとえば、すべてのワーカー・ノードを新しいバージョンのOracle Linuxにアップグレードする場合です。この場合、必要なプロパティを持つワーカー・ノードで新しいノード・プールを作成し、
kubectl drain
コマンドおよびポッド中断予算を使用して、元のノード・プールから新しいノード・プールに作業をシフトできます。詳細は、「プロパティが更新されたワーカー・ノードの作成」を参照してください。 - ノード・プールの配置構成(可用性ドメイン、フォルト・ドメインおよびワーカー・ノードが配置されているがノード・プールの容量タイプではないサブネット)を変更すると、既存のワーカー・ノードは終了し、新しい場所に新しいワーカー・ノードが作成されます。
- UpdateNodePool API操作を使用して既存のノード・プールのプロパティを変更する場合は、更新されたノード・プール・プロパティと同期していないワーカー・ノード・プロパティの既知の問題およびその回避策に注意してください。
- Kubernetes Engineによって作成されたクラスタ内のワーカー・ノードのスケール・ダウンまたは終了には、
kubectl delete node
コマンドを使用しないでください。かわりに、コンソールまたはAPIを使用して、対応するノード・プールのプロパティを変更し、ワーカー・ノードの数を減らします。kubectl delete node
コマンドでは、必要な状態(ワーカー・ノードの数を含む)を決定するノード・プールのプロパティは変更されません。また、kubectl delete node
コマンドは、クラスタのetcdキー-値ストアからワーカー・ノードを削除しますが、基礎となるコンピュート・インスタンスは削除しません。
コンソール、CLIおよびAPIを使用して、ノード・プールおよびワーカー・ノードのプロパティを変更できます。詳細は、次を参照してください: