1. Kubernetes Documentation
"Deployments": A Deployment's primary purpose is to provide declarative updates for Pods and ReplicaSets. "You describe a desired state in a Deployment
and the Deployment Controller changes the actual state to the desired state at a controlled rate." This supports option A's statement about guaranteeing a number of pods.
Source: kubernetes.io/docs/concepts/workloads/controllers/deployment/
Section: "What is a Deployment?".
2. Kubernetes Documentation
"Container v1 core" API Reference: The containerPort field is officially defined as the "Number of port to expose on the pod's IP address. This must be a valid port number
0 < x < 65536." This confirms the purpose described in option D.
Source: kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/
Section: "Container v1 core".
3. Kubernetes Documentation
"Object Names and IDs": "Each object in your cluster has a Name that is unique for that type of resource." The YAML clearly specifies name: nginx-deployment
making option B incorrect. The document also explains that pods owned by a ReplicaSet have unique
generated names
making option C incorrect.
Source: kubernetes.io/docs/concepts/overview/working-with-objects/names/
Section: "Names".
4. Kubernetes Documentation
"Container Images": The process of pulling an image is handled by the kubelet on a node after a pod has been scheduled. If an image cannot be pulled
the pod enters a failure state like ImagePullBackOff. The initial kubectl create command
which creates the Deployment object
would have already succeeded. This invalidates the premise of option E.
Source: kubernetes.io/docs/concepts/containers/images/
Section: "Image pull policy".