Google Kubernetes Engine 信頼性ガイド

Last reviewed 2023-07-19 UTC

Google Kubernetes Engine(GKE)は、コンテナ化されたアプリケーションをクラウドで大規模に運用するためのシステムです。GKE は、コンテナ化されたアプリケーションのリソースをデプロイ、管理、プロビジョニングします。GKE 環境は Compute Engine インスタンスで構成され、これらのインスタンスがグループ化されてクラスタを形成します。

ベスト プラクティス

  • コンテナ運用のベスト プラクティス - ロギング メカニズムの使用方法、コンテナのステートレス化と不変化、アプリケーションのモニタリング、実行状況と準備プローブの実行方法。
  • コンテナ構築のベスト プラクティス - コンテナごとにアプリケーションを 1 つパッケージ化し、プロセス ID(PID)を処理する方法、Docker ビルド キャッシュを最適化する方法、アップロードとダウンロード時間を短縮するためにより小さいイメージをビルドする方法。
  • Google Kubernetes Engine ネットワーキングのベスト プラクティス - VPC ネイティブ クラスタを使用してスケーリングを容易にする、IP アドレスを計画する、クラスタ接続をスケールする、Google Cloud Armor を使用して分散型サービス拒否攻撃(DDoS)をブロックする、実装するコンテナ ネイティブのロード バランシングを実装してレイテンシを短縮する、外部アプリケーション ロードバランサのヘルスチェック機能を使用して正常なフェイルオーバーを実現する、リージョン クラスタを使用してクラスタ内のアプリケーションの可用性を向上させる。
  • クラウドベースの Kubernetes アプリケーションを準備する - ベスト プラクティスに沿って、アプリケーションのキャパシティを計画する、アプリケーションを水平方向または垂直方向に拡張する、メモリと CPU のリソース リクエストに対して相対的なリソース制限を設定する、コンテナの無駄を省いてアプリケーションの起動を高速化する、Pod Disruption Budget(PDB)を設定して Pod による中断を制限する。また、アプリケーションの正常な起動のために liveness プローブと readiness プローブを設定する方法、中断のないシャットダウンを確保する方法、再試行されたリクエストに対して指数バックオフを実装してアプリケーションの負荷が急増するのを防ぐ方法を理解する。
  • GKE マルチテナンシーのベスト プラクティス - 高可用性と信頼性を備えたマルチテナント クラスタ アーキテクチャを設計する方法、テナントごとの使用状況の指標に Google Kubernetes Engine(GKE)の使用状況測定を使用する方法、テナント固有のログを提供する方法、テナント固有のモニタリングを行う方法。