クラウドとコンテナの基礎

KubernetesのDeploymentで、Podのテンプレートのコンテナイメージを新しい版に変更した。既定の更新方式(RollingUpdate)で起きることとして、正しいものはどれか。

  1. A新しいReplicaSetを作り、新しい版のPodを増やしながら古い版のPodを減らす。古いReplicaSetは、ロールバック用にPodが0で残る
  2. B動いているPodの中のコンテナイメージが、Podを作り直さずにその場で新しい版に入れ替えられるので、PodのIPアドレスも名前も変わらない
  3. C古い版のPodをすべて同時に削除してから、新しい版のPodをまとめて作るので、更新の間は一時的にサービスが止まる
答えと解説を見る

正解:A. 新しいReplicaSetを作り、新しい版のPodを増やしながら古い版のPodを減らす。古いReplicaSetは、ロールバック用にPodが0で残る

Deploymentは、Podのテンプレートが変わると、新しいテンプレートのReplicaSetを作り、新しいPodが準備できたことを確かめながら、古いReplicaSetのPodを少しずつ減らします。そのため、更新の間も一定の数のPodが要求を処理し続けます。古いReplicaSetはPodが0の状態で残されるので、kubectl rollout undo で前の版に戻せます。全部のPodを先に消してから作り直す方式は Recreate で、明示的に指定したときに使われます。

  • A. 正しい。ReplicaSetを切り替えながら、Podを少しずつ入れ替えます。
  • B. Podの中のコンテナイメージをその場で入れ替えることはありません。新しいPodが作られ、IPアドレスも変わります。
  • C. これは Recreate という方式の動作です。既定の RollingUpdate では、Podを少しずつ入れ替えます。
この分野を解く 分野ページへ

クラウドとコンテナの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

クラウドとコンテナの基礎のほかの問題

  1. replicas: 10 のDeploymentで、ローリングアップデートの設定を maxSurge: 25%、maxUnavailable: 25% とした。更新の途中の、Podの総数の上限と、利用可能なPodの数の下限の組み合わせとして、正しいものはどれか。
  2. Kubernetesで、Podは作り直されるたびにIPアドレスが変わる。ほかのアプリケーションから、ラベルで選んだ複数のPodに、変わらない名前とアドレスで接続して負荷を分散できるようにするリソースはどれか。
  3. Kubernetesのクラスタで、1つのホスト名に届いたHTTPSの要求のうち、パスが /api で始まるものは api のServiceへ、それ以外は web のServiceへ振り分けたい。この振り分けの規則を定めるのに適したリソースはどれか。
  4. KubernetesのSecretに、データベースのパスワードを保存する。Secretの説明として、正しいものはどれか。
  5. あるWebアプリケーションは、起動してからキャッシュを読み込むまでの約60秒間は要求を処理できず、その間は /ready に503を返す。Podのコンテナに上の設定を加えたときの効果として、正しいものはどれか。