このページでは、Kubernetes や他の依存関係による機能と API の非推奨化が、Google Kubernetes Engine(GKE)とどのように連動するかについて説明します。このページには、アップストリームの特定の非推奨化に関する情報を示す表も掲載されています。今後非推奨になる可能性を確認する方法については、非推奨化に関する分析情報と推奨事項の表示をご覧ください。
Kubernetes の非推奨化とは
GKE クラスタでは、Kubernetes オープンソース クラスタ管理システムが使用されます。Kubernetes の機能セットは時間の経過とともに進化するため、時間の経過とともに新機能が導入されることにより、機能の削除が必要になる場合があります。ベータ版フェーズから一般提供フェーズに移行するための機能もあります。Kubernetes 非推奨ポリシーにより、削除される前に非推奨になった機能または API から移行できるように、ユーザーには予測可能なプロセスが用意されています。
非推奨期間が経過した後に削除された機能または API は、対応する GKE マイナー バージョン以降では使用できなくなります。サポートが終了した機能または API にクラスタが依存している場合は、機能に障害が発生する可能性があります。
他のアップストリームの依存関係に起因する非推奨化
Kubernetes の機能と API とは別に、GKE は、Microsoft がサポートする Windows ノードイメージや、Canonical を基盤とする Ubuntu ノードイメージなど、他のプロバイダを活用した機能も備えています。これらのアップストリーム プロバイダが機能を非推奨化した場合、または機能のサポートを終了した場合、GKE では対応する機能の削除が必要になる可能性があります。このページの表には、Kubernetes 以外のアップストリームの依存関係に起因する今後の非推奨化と削除に関する情報も記載されています。
GKE で Kubernetes の非推奨が機能する仕組み
GKE でアプリケーションを実行するには、ユーザーと GKE の間で責任を共有する必要があります。
ユーザーは、今後の Kubernetes マイナー バージョンで削除される非推奨の機能と API の影響を評価し、緩和する必要があります。次のセクションでは、非推奨の Kubernetes 機能と API の使用状況を検出し、その使用状況に関する分析情報を共有し、今後のマイナー バージョンと互換性のある機能と API への移行方法に関する推奨事項を示すことで、GKE でこのプロセスを簡単に行う方法について説明します。
GKE が Kubernetes の今後のマイナー バージョンで削除される機能をクラスタが使用していることを検出した場合、次のマイナー バージョンへのクラスタの自動アップグレードは一時停止され、GKE は非推奨の分析情報と推奨事項を共有します。
GKE が自動アップグレードを一時停止するとどうなりますか?
GKE で非推奨の機能または API の使用が検出された場合、クラスタが破損した状態にアップグレードされないように、GKE は自動アップグレードを一時停止します。次の Kubernetes マイナー バージョンへのアップグレードは一時停止されますが、GKE は引き続き、現在のマイナー バージョンのクラスタにパッチ アップグレードを配信します。たとえば、クラスタがバージョン 1.21.11-gke.1100 を使用しており、バージョン 1.22 から削除された非推奨の API を呼び出している場合、GKE はバージョン 1.22 への自動アップグレードを一時停止します。ただし、GKE は、新しいパッチ バージョン 1.21.11-gke.1900 への自動アップグレードを一時停止しません。
GKE ではすべての使用の検出が保証されるわけではないため、GKE では、非推奨の機能や API が使用されているときにアップグレードが常に一時停止されることを保証することはできません。クラスタがアップグレードされないようにするには、メンテナンスの除外を使用する必要があります。
GKE が自動アップグレードを再開するのはいつですか?
GKE が 30 日間、非推奨の機能の使用または非推奨の API の呼び出しを検出していない場合、次のマイナー バージョンがクラスタのリリース チャンネルのクラスタの自動アップグレードのターゲットであり、クラスタにアクティブなメンテナンスの除外などのアップグレードを妨げる他の要因がない場合は、クラスタが自動的にアップグレードされます。クラスタのリリース チャンネルでマイナー バージョンが自動アップグレードの対象になる時期を確認するには、リリース スケジュールで推定日付を確認し、リリースノートで具体的なお知らせを確認します。特定のクラスタの自動アップグレードのターゲットを取得するには、クラスタのアップグレードに関する情報の取得(プレビュー)をご覧ください。
GKE が非推奨機能の使用状況をクラスタで引き続き検出すると、GKE はバージョンのサポート終了日まで現在のマイナー バージョンを維持します。
マイナー バージョンのサポート終了日は、リリース スケジュールで確認できます。マイナー バージョンのサポート終了日はリリース チャンネルの登録に依存するため、クラスタのリリース チャンネルを反映した正しい日付を参照してください。
- Extended 以外のリリース チャンネル: クラスタが Rapid、Regular、Stable のチャンネルに登録されている場合、またはリリース チャンネルに登録されていない場合、この日付はマイナー バージョンの標準サポートの終了日となります。
- Extended チャンネル: クラスタが Extended チャンネルに登録されている場合、GKE は拡張サポートの終了まで、マイナー バージョンからのクラスタの自動アップグレードは行いません。
この日付になると、クラスタは自動的に次のマイナー バージョンにアップグレードされます。削除された機能が引き続き使用されていると、クラスタ環境に障害が発生する可能性があります。詳しくは、サポート終了時の自動アップグレードをご覧ください。
非推奨に関する分析情報と推奨事項
Kubernetes の今後のマイナー バージョンで削除される機能をクラスタが使用していることを GKE が検出すると、GKE は非推奨化に関する分析情報と推奨事項を共有し、クラスタで非推奨の機能が使用されていることをユーザーに通知します。この分析情報は、最後に検出された使用状況に関する情報と、非推奨化の種類に応じた詳細情報を示します。この情報の表示については、非推奨化に関する分析情報と推奨事項の表示をご覧ください。
今後の Kubernetes の非推奨からの影響に対する評価と緩和
GKE では、非推奨の機能と API から、今後のマイナー バージョンと互換性のある機能と API へ移行する方法を説明する移行ガイドが提供されています。今後の非推奨とその移行ガイドの一覧については、Kubernetes の非推奨に関する情報をご覧ください。
GKE は、非推奨から影響を受けるクラスタに関する分析情報を共有しますが、影響される将来のすべての非推奨の検出は保証されません。たとえば、非推奨の機能が過去 30 日間使用されていなければ、GKE は使用状況を検出せず、分析情報と推奨事項は生成されません。
クラスタを次のマイナー バージョンにアップグレードする前に、クラスタ環境が今後の非推奨に影響されるかどうかを個別に評価する必要があります。アップグレード プロセスを制御するには、リリース チャンネルの選択、メンテナンスの時間枠と除外の使用、または、次のマイナー バージョンでの非推奨に影響されないことが判明している場合、クラスタの手動アップグレードを行います。
Kubernetes の非推奨からのクラスタ環境への影響の解決
対応については、今後の非推奨化をご確認ください。非推奨化に関する分析情報と推奨事項を表示してクラスタが影響を受けているかどうかを評価し、移行ガイドを使用して、この機能をサポートする最後の利用可能なマイナー バージョンがサポート終了の段階に達するまでの間の影響を軽減します。
クラスタで非推奨の API や機能の使用を停止すると、GKE は非推奨の API や機能の使用が 30 日間検出されなくなるまで待機し、その後で自動アップグレードのブロックを解除します。自動アップグレードはリリース スケジュールに沿って行われます。
アップグレードによりクラスタ環境に中断が発生しないことを確認した場合は、クラスタを手動でアップグレードすることもできます。これを行うには、まずテストクラスタを作成し、アップグレードによって中断が発生するかどうかを確認します。発生しない場合は、クラスタを手動でアップグレードできます。
推奨を拒否しても、すべてのユーザーに推奨が非表示になるだけです。自動アップグレードは、非推奨の機能から移行し、GKE が非推奨の機能の使用を 30 日間連続して検出しなくなるまで、一時停止のままです。
Kubernetes の非推奨化に関する情報
以下のセクションでは、利用可能な Kubernetes マイナー バージョンと互換性のある機能または API への移行方法など、継続的な非推奨に関する情報を提供します。これらの表により、分析情報と推奨事項とともに、GKE が使用状況を検出し、報告しているかを確認できます。
以下の表では、現在進行中の非推奨に関する情報のみを提供しています。サポート終了日から長期間が経過したバージョンで非推奨となった機能や API に関する情報は省略しています。
Kubernetes の機能の非推奨化
次の表に、GKE で使用が継続されている非推奨の機能と、それらの機能がサポート終了になるバージョンを示します。
名前 | 非推奨 | 削除済み | 詳細 | GKE での使用状況の検出と報告 |
---|---|---|---|---|
Linux cgroupv1 モード | GKE バージョン 1.31 | 未定 | ノードの Linux cgroupv2 への移行 | × |
GKE Standard エディションからの脆弱性スキャンの削除 | 2015 年 7 月 23 日 | 2015 年 7 月 31 日 | GKE Standard エディションからの脆弱性スキャンの削除 | × |
SHA-1 アルゴリズムで署名された TLS 証明書 | GKE バージョン 1.24 | GKE バージョン 1.29 | SHA-1 TLS 証明書のサポートの削除 | ○ |
Kubernetes クライアント用の組み込み認証プラグイン | GKE バージョン 1.22 | GKE バージョン 1.25 | Kubernetes クライアント用の非推奨の認証プラグイン | × |
PodSecurityPolicy | GKE バージョン 1.21 | GKE バージョン 1.25 | PodSecurityPolicy のサポートの終了 | はい |
Docker ベースのノードイメージ | GKE バージョン 1.20 | GKE バージョン 1.24 | Docker ノードイメージの非推奨化 | ○ |
Webhook 証明書の X.509 Common Name(CN)フィールド | GKE バージョン 1.19 | GKE バージョン 1.23 | Webhook 証明書 CN フィールドのサポート終了 | ○ |
Kubernetes API のサポート終了
次の表に、Kubernetes API が非推奨になり提供されなくなった Kubernetes のバージョンを示します。
Kubernetes のバージョン | 詳細 | GKE で使用状況が検出、報告されるか |
---|---|---|
1.29 | Kubernetes 1.29 の非推奨 API | ○ |
1.27 | Kubernetes 1.27 の非推奨 API | はい |
1.26 | Kubernetes 1.26 の非推奨 API | はい |
1.25 | Kubernetes 1.25 の非推奨 API | はい |
1.22 | Kubernetes 1.22 の非推奨 API、 GKE 1.23 で削除された Kubernetes Ingress ベータ版 API |
○ |
その他の機能の非推奨化
次の表に、Kubernetes オープンソース プロジェクトの一部ではない他のアップストリーム プロバイダに起因する非推奨化と削除について示します。
名前 | 非推奨 | 削除済み | 詳細 | GKE で使用状況が検出、報告されますか? |
---|---|---|---|---|
Windows Server Semi-Annual Channel(SAC)ノードイメージ | なし | 2022 年 8 月 9 日 | Windows Server SAC のサービス終了 | × |