Node Lifecycle Management クイズ
このクイズでは、Node Lifecycle Management ドキュメントの理解度を確認します。
- NodeConfig の kubelet 設定で
systemReservedとkubeReservedを設定する主な目的は何ですか?- A) Pod のリソース要求を自動的に調整するため
- B) Node の安定性を確保するために、システムプロセスと Kubernetes コンポーネント用のリソースを予約するため
- C) Node で利用可能な総リソースを増やすため
- D) Pod のスケジューリング優先度を決定するため
回答を表示
回答: B) Node の安定性を確保するために、システムプロセスと Kubernetes コンポーネント用のリソースを予約するため
説明:systemReserved は OS とシステムデーモン(sshd、udev など)用のリソースを予約し、kubeReserved は kubelet と containerd 用のリソースを予約します。これにより、Pod が Node のすべてのリソースを消費することを防ぎ、Node の安定性を維持します。
- kubelet の
evictionHardとevictionSoftの違いは何ですか?- A)
evictionHardはソフトリミットで、evictionSoftはハードリミットである - B)
evictionHardは即時退避をトリガーし、evictionSoftは猶予期間後に退避する - C)
evictionHardは Pod のみを退避し、evictionSoftは Node をシャットダウンする - D) 両方の設定は名前が異なるだけで同じように動作する
- A)
回答を表示
回答: B) evictionHard は即時退避をトリガーし、evictionSoft は猶予期間後に退避する
説明:evictionHard のしきい値に達すると、kubelet はただちに Pod を退避します。evictionSoft は、しきい値が evictionSoftGracePeriod で指定された期間継続した場合にのみ退避し、Pod の突然の終了を防ぎます。
- Kubernetes の version skew policy によると、EKS control plane がバージョン 1.31 の場合に実行できる最も古い kubelet バージョンは何ですか?
- A) 1.27
- B) 1.28
- C) 1.29
- D) 1.30
回答を表示
回答: B) 1.28
説明: Kubernetes の version skew policy によると、kubelet は API server より最大 3 つ前のマイナーバージョンまで古くできます。API server が 1.31 の場合、kubelet は 1.31、1.30、1.29、1.28 と互換性があります。バージョン 1.27 は n-4 であり、サポートされません。
- canary upgrade 戦略の中核となる原則は何ですか?
- A) すべての Node を同時にアップグレードする
- B) まず 1 つの Node をアップグレードして検証し、その後残りを進める
- C) Node を削除して新しい Node を作成する
- D) ダウンタイムなしで in-place upgrade を実行する
回答を表示
回答: B) まず 1 つの Node をアップグレードして検証し、その後残りを進める
説明: canary upgrade では、最初に単一の「canary」Node をアップグレードし、結果を検証します。問題が見つからなければ、残りの Node に対して rolling upgrade を進め、リスクを最小化します。
- hybrid node を初期化するとき、nodeadm はどのラベルを自動的に割り当てますか?
- A)
node-role.kubernetes.io/hybrid=true - B)
topology.kubernetes.io/zone=on-premises - C)
eks.amazonaws.com/compute-type=hybrid - D)
kubernetes.io/os=hybrid
- A)
回答を表示
回答: C) eks.amazonaws.com/compute-type=hybrid
説明: nodeadm は hybrid node の初期化中に eks.amazonaws.com/compute-type=hybrid ラベルを自動的に割り当てます。このラベルを --node-labels に手動で追加する必要はなく、Cilium affinity、workload 配置などに使用されます。
- SSM Hybrid Activation の有効期限が切れた場合の正しい対応は何ですか?
- A) 既存の activation の有効期限を延長する
- B) 新しい SSM Hybrid Activation を作成し、nodeconfig.yaml を更新する
- C) IAM Roles Anywhere に切り替える
- D) 自動更新のために kubelet を再起動する
回答を表示
回答: B) 新しい SSM Hybrid Activation を作成し、nodeconfig.yaml を更新する
説明: SSM Hybrid Activation は、有効期限が切れた後に有効期限を延長することはできません。新しい activation を作成し、nodeconfig.yaml の activationCode と activationId を更新し、必要に応じて Node を再登録する必要があります。
- Kubernetes コンポーネントをアップグレードする正しい順序は何ですか?
- A) まず Node をアップグレードし、その後 control plane をアップグレードする
- B) control plane と Node を同時にアップグレードする
- C) まず control plane (EKS) をアップグレードし、その後 Node をアップグレードする
- D) 順序は重要ではない
回答を表示
回答: C) まず control plane (EKS) をアップグレードし、その後 Node をアップグレードする
説明: Kubernetes の version skew policy によると、kubelet は API server より新しくすることはできません。常に最初に control plane をアップグレードし、その後 Node をアップグレードする必要があります。control plane より先に Node をアップグレードすると、互換性の問題が発生します。
shutdownGracePeriod: 60sとshutdownGracePeriodCriticalPods: 20sが設定されている場合、通常の Pod はどれだけの終了猶予時間を受け取りますか?- A) 20 秒
- B) 40 秒
- C) 60 秒
- D) 80 秒
回答を表示
回答: B) 40 秒
説明:shutdownGracePeriodCriticalPods は shutdownGracePeriod に含まれます。合計 60 秒の猶予期間から critical Pod 用に予約された 20 秒を差し引くと、通常の Pod 終了用に 40 秒が残ります。critical Pod(priority class system-cluster-critical または system-node-critical を持つ Pod)は最後の 20 秒間に終了されます。