---
apiVersion: v1
kind: ConfigMap
metadata:
  name: q1
  labels:
    question.kontest.amsy.dev: "1"
data:
  question: |-
    コンテナイメージは、「イメージ名：バージョンタグ」で指定します。
    下記のPodで利用されているコンテナイメージではlatestタグが利用されていますが、latestタグはその時点の最新バージョンを意味するため、次回のPod再作成時に別のイメージになってしまう可能性があることから利用は避けたほうが良いでしょう。
    今回は下記のPodで利用するイメージをlatestではなく1.19のタグを利用して特定のNginxのバージョンを利用するようにしてください。

    apiVersion: v1
    kind: Pod
    metadata:
      name: sample-pod
    spec:
      containers:
      - name: nginx-container
        image: nginx:latest
  hint: |-
    https://kubernetes.io/docs/concepts/containers/images/
  base_content.yaml: |-
    apiVersion: v1
    kind: Pod
    metadata:
      name: sample-pod
    spec:
      containers:
      - name: nginx-container
        image: nginx:latest
  answer.yaml: |-
    apiVersion: v1
    kind: Pod
    metadata:
      name: sample-pod
    spec:
      containers:
      - name: nginx-container
        image: nginx:1.19
  comment: |-
    【解説 by カサレアル】
    spec.containers[].image の値を nginx:latest から nginx:1.19 に変更すればOKです。
    latestを指定していると、例えば昨日まではnginx:1.18.0だったのに、今日再起動したらnginx:1.19に変わってしまった、ということが起こり得ます。そして、マイナーバージョンアップによる変更点が原因で、思うように動作しなくなるかもしれません。
    バージョンの正確性をより重視するなら、 nginx:1.19.1 のようにパッチバージョンまで指定すると良いでしょう。しかし、パッチバージョンアップであれば一般的に影響は小さいですし、再起動時に自動的にパッチバージョンが上がるようになる、という面もあります。マイナーバージョンまでのみを指定するか、パッチバージョンまで指定するかは、組織のポリシーやイメージの種類などを考慮して決定すると良いでしょう。
  author: |-
    Masaya Aoyama (@amsy810)
