QUIZ 15分

Q1. etcd に障害が発生した場合、Kubernetes クラスタへの影響として正しいものはどれか?

A. 既存のPodは影響を受けないが、新規リソースの作成や変更ができなくなる B. 全てのPodが即座に停止する C. kube-proxy のみが影響を受ける D. ワーカーノードのみが影響を受ける

答えを見る

正解: A

etcd はクラスタの全ての状態を保存しているため、障害時は新規リソースの作成や既存リソースの変更ができなくなります。ただし、既にスケジュールされて実行中の Pod は kubelet により引き続き動作します。


Q2. StatefulSet と Deployment の主な違いとして正しいものはどれか?

A. StatefulSet は自動スケーリングに対応していない B. StatefulSet は安定したネットワーク ID と永続ストレージを提供する C. Deployment はローリングアップデートに対応していない D. StatefulSet は1つの Pod しか作成できない

答えを見る

正解: B

StatefulSet は各 Pod に安定したネットワーク ID(例: pod-0, pod-1)と、Pod に紐付く永続ストレージ(PVC)を提供します。これにより、データベースやメッセージキューなどのステートフルなワークロードに適しています。


Q3. Pod Security Standards の「Restricted」レベルで許可されていない設定はどれか?

A. readOnlyRootFilesystem: true B. runAsNonRoot: true C. privileged: true D. capabilities.drop: [“ALL”]

答えを見る

正解: C

Restricted レベルでは privileged: true は許可されません。Restricted は最も厳格なレベルで、特権コンテナの禁止、非rootユーザーでの実行、全capabilities のドロップ、読み取り専用ルートファイルシステムなどが要求されます。


Q4. IRSA(IAM Roles for Service Accounts)の仕組みとして正しいものはどれか?

A. IAM ユーザーのアクセスキーを Kubernetes Secret に保存する B. Pod の ServiceAccount に IAM Role を関連付け、OIDC で認証する C. 全ての Pod が同じ IAM Role を共有する D. EC2 インスタンスプロファイルを直接 Pod に適用する

答えを見る

正解: B

IRSA は Kubernetes の ServiceAccount と AWS IAM Role を OIDC (OpenID Connect) を使って関連付けます。これにより、Pod レベルで細かい AWS 権限を付与でき、アクセスキーをシークレットに保存する必要がなくなります。


Q5. HPA の behavior.scaleDown.stabilizationWindowSeconds の目的は何か?

A. スケールダウンの速度を制限する B. 一定時間内のメトリクスの変動を吸収し、頻繁なスケールダウンを防ぐ C. Pod の終了にかかる最大時間を設定する D. スケールダウン不可能な時間帯を設定する

答えを見る

正解: B

stabilizationWindowSeconds は、指定された期間内のメトリクスの最大値を使ってスケールダウンの判断を行います。これにより、一時的な負荷低下で即座にスケールダウンし、その直後にスケールアップが必要になるといったフラッピングを防止できます。


Q6. Gateway API において、GatewayClass / Gateway / HTTPRoute の責任分離として正しいものはどれか?

A. GatewayClass = 開発者、Gateway = クラスタ管理者、HTTPRoute = インフラ管理者 B. GatewayClass = インフラ管理者、Gateway = クラスタ管理者、HTTPRoute = アプリ開発者 C. 全て同じチームが管理する D. GatewayClass と Gateway は同じ管理者、HTTPRoute のみ開発者

答えを見る

正解: B

Gateway API は責任の分離を明確にしています。GatewayClass はインフラプロバイダー(クラウドベンダーやプラットフォームチーム)が定義し、Gateway はクラスタ管理者がリスナーやTLS設定を行い、HTTPRoute はアプリ開発者がルーティングルールを定義します。


Q7. External Secrets Operator の refreshInterval を 1h に設定した場合の動作として正しいものはどれか?

A. Secret が1時間後に自動削除される B. 1時間ごとに外部シークレットストアから最新の値を取得して Kubernetes Secret を更新する C. Secret が1時間だけ有効になる D. 1時間後にExternalSecret リソースが削除される

答えを見る

正解: B

refreshInterval は External Secrets Operator が外部のシークレット管理サービス(AWS Secrets Manager 等)から最新の値をフェッチする間隔です。これにより、シークレットのローテーションが自動的に Kubernetes Secret に反映されます。


Q8. DaemonSet の updateStrategy を RollingUpdate に設定し、maxUnavailable: 1 とした場合の動作はどれか?

A. 全ノードのPodを同時に更新する B. 1ノードずつ順番にPodを更新する C. ランダムに選ばれた1つのPodのみ更新する D. 更新は手動で行う必要がある

答えを見る

正解: B

maxUnavailable: 1 の場合、DaemonSet は一度に最大1つの Pod のみ停止・更新します。あるノードの Pod の更新が完了してから、次のノードの Pod の更新を開始します。これにより、サービスの中断を最小限に抑えながらローリングアップデートを行えます。