模擬問題集 › GCP-PCD › 練習問題 6

GCP-PCD 練習問題 6|クラウドネイティブ アプリケーションのデプロイ構成

Professional Cloud Developer・無料公開(全 200 問中 15 問を無料公開中)

問題
あなたは GKE Autopilot モードのクラスタに新しいワークロードをデプロイしようとしています。Arm アーキテクチャの CPU を使用するノードに Pod がスケジュールされるようにする必要があります。クラスタには現在、Arm ベースの CPU はありません。クラスタの運用作業は最小限に抑えたいと考えています。GKE クラスタ上のワークロードが Arm ベースの CPU ノードを使用するようにするには、どうすればよいですか。

選択肢と解説

  • 1
    Arm ベースの CPU を持たないノードに Pod をスケジュールしないよう GKE に要求するため、Pod の toleration を適用する。
  • 2
    Arm ベースの CPU ノードにのみワークロードをスケジュールするよう GKE に指示するため、ノードプールに node taint を適用する。
  • 3
    GKE Standard モードで新しいクラスタをデプロイし、Arm ベースの CPU ノードを含むノードプールを設定する。マニフェストで nodeSelector を使用して、Pod がこのノードプールにスケジュールされるようにする。
  • ✓
    マニフェストで Scale-Out コンピューティング クラスと arm64 アーキテクチャをリクエストする。

解説

【正解】D

【0からの解説】
①前提知識:GKE Autopilot は、ノードやノードプールの作成・管理を Google が行うモードです。利用者は Pod のマニフェストで必要なリソースやハードウェアの種類を宣言するだけで、それに合うノードを GKE が自動でプロビジョニングします。
・コンピューティング クラス(ComputeClass):Autopilot で Pod が実行されるノードのハードウェア特性を選ぶ仕組みです。例えば Scale-Out クラスは、シングルスレッドのスケールアウト型ワークロード向けで、arm64 を指定すると Arm ベースの Tau T2A マシンシリーズのノードが使われます(Performance クラスや autopilot-arm クラスなどでも Arm を選べます)。
・Arm を要求する方法:Pod の nodeSelector(またはノード アフィニティ)に cloud.google.com/compute-class: Scale-Out と kubernetes.io/arch: arm64 を指定します。Autopilot はこれを見て Arm ノードを自動作成し、そのノードに taint を、Pod に対応する toleration を自動で付与します(なお、コンテナ イメージは Arm 用にビルドされている必要があります)。

②要件の整理:「Autopilot クラスタ」「Arm CPU のノードで Pod を実行」「現在 Arm ノードはない」「クラスタの運用作業を最小限に」。

③正解の理由:D のようにマニフェストで Scale-Out コンピューティング クラスと arm64 アーキテクチャをリクエストするだけで、Autopilot が Arm ノードを自動で用意して Pod を配置します。ノードプールの作成や taint の管理は不要で、運用作業は最小です。GKE の公式ドキュメント「Arm アーキテクチャに Autopilot ワークロードをデプロイする」で示されている方法そのものです(新しい GKE バージョンでは kubernetes.io/arch: arm64 のみの指定や autopilot-arm クラスでも要求できるようになっていますが、選択肢の中で正しく Arm ノードを要求できるのは D だけです)。

【誤りの選択肢】
A:toleration は「taint の付いたノードにも配置されてよい」と許可するだけの設定で、「特定のノード以外に配置しない」と要求する機能ではありません。Arm ノードがまだ存在しない状況で toleration を付けても、Arm ノードは作成されず、Pod が Arm ノードに配置される保証もありません。
B:Autopilot ではノードプールを利用者が管理しないため、ノードプールに taint を付けるという操作自体が前提に合いません。また taint は「その他の Pod を締め出す」仕組みであり、そもそも Arm ノードが無ければ意味がありません。
C:Standard モードの新クラスタを作り、Arm ノードプールを自分で用意すれば技術的には動きますが、クラスタの新規作成、ノードプールの設計・運用(アップグレード、スケーリング)といった作業が大幅に増えます。「クラスタの運用作業を最小限に」という要件に反し、既存の Autopilot クラスタでマニフェストに数行加えるだけで済む D に劣ります。

【参考】
Arm アーキテクチャに Autopilot ワークロードをデプロイする | Google Kubernetes Engine (GKE)
Autopilot Pod のコンピューティング クラスを選択する | Google Kubernetes Engine (GKE)
← 練習問題 5練習問題 7 →
GCP-PCD の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PCD の模試を受ける料金プランを見る

GCP-PCD の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15