このページでは、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 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 のサービス終了 | × |