ACEクラウドソリューションのデプロイと実装HARD単一選択

GKE クラスターにデプロイしたアプリが特定の Node Pool 上でのみ実行されるよう制御したいと考えています。最も適切な Kubernetes の機能はどれですか?

  1. A. Node Selector または Node Affinity でラベルが付いた特定ノードにのみスケジュールするよう設定する
  2. B. Kubernetes NetworkPolicy で特定ノードへの通信を制限する
  3. C. DaemonSet を使って各ノードに 1 つの Pod を配置する
  4. D. Pod Affinity ルールで同じ Node Pool の Pod に近づけるように設定する
解答と解説を見る

正解: A

Node Selector は Pod の spec に nodeSelector フィールドで特定のノードラベルを指定し、そのラベルを持つノードにのみ Pod をスケジュールします。GKE ではノードプールに自動的にラベルが付与されるため、cloud.google.com/gke-nodepool: <POOL_NAME> を nodeSelector に指定することで特定ノードプールに制限できます。Node Affinity はより柔軟な条件指定が可能で、required/preferred の区別もできます。Pod Affinity は他の Pod との位置関係を制御するもので、特定ノードへの制限には使いません。NetworkPolicy はネットワーク通信の制御でスケジューリングとは無関係です。DaemonSet は全ノードに Pod を配置するオブジェクトで、特定ノードへの制限とは逆方向の設定です。

▸ この試験を本気で演習する(全150問・無料)