Kubernetes YAML for a simple pod

Below is the Kubernetes YAML file for creating a simple pod.

~$ cat simple-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

Explanation of each field in YAML

Below is the explanation of each of the lines in the YAML file.

kind: PodThe field “kind” shows the api resource that is required to be created, when this YAML section is applied. The resource is of kind “Pod”.
containers:
The section “containers” is a list of containers that are executed in the pod. There is only one container.
name: nginxThe name section is in the container spec section and explains that name of the container is nginx.
image: nginx:latestThe image key explains that the container image is nginx and “latest” tag for the image will be downloaded.

Running the YAML file

We have created a Kubernetes 2 node cluster with the client machine where we issue the kubectl command as below. We deploy the YAML file using “kubectl apply” and check the pods using the “kubectl get pods” command.

~$ kubectl apply -f simple-pod.yaml
pod/nginx created

~$ kubectl get pods
NAME    READY   STATUS              RESTARTS   AGE
nginx   0/1     ContainerCreating   0          4s

~$ kubectl get pods
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          8s