Kubernetes Pod Manifest: Difference between revisions
Line 98: | Line 98: | ||
Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. | Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. | ||
===readinessProbe=== | |||
===command=== | ===command=== |
Revision as of 22:48, 2 October 2019
External
Internal
Overview
Example
apiVersion: v1 kind: Pod metadata: name: loop labels: color: blue spec: dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler terminationGracePeriodSeconds: 120 containers: - name: loop-container image: docker.io/ovidiufeodorov/loop:latest imagePullPolicy: Always resources: limits: memory: '4096Mi' cpu: '1000m' terminationMessagePath: /dev/termination-log terminationMessagePolicy: File command: ... ports: - containerPort: 8080 protocol: TCP - containerPort: 8787 protocol: TCP env: - name: SOMETHING value: 'something else' volumeMounts: - name: 'mount-0' mountPath: '/red' # 'orange' must exist in the root of the volume identified by 'mount-0'; the content of that # directory will be exposed in the container under the '/red' directory. subPath: 'orange' readinessProbe: # ... initContainers: - name: init-container1 image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;'] volumes: - name: mount-0 hostPath: # '/yellow' must contain an 'orange' sub-directory path: '/yellow'
.spec Elements
hostname
Optional field. If not specified, the hostname exposed to the processes running inside the pod will be the name of the pod.
restartPolicy
Optional field. See:
containers
name
image
imagePullPolicy
The value is one of "Always", "Never", "IfNotPresent". Defaults to "Always" if ":latest" tag is specified, or "IfNotPresent" otherwise.
TODO: https://kubernetes.io/docs/concepts/containers/images#updating-images
volumeMounts
Pod volumes to mount into the container's filesystem.
name
The identifier of the volume. Must match the name the volume specification was declared under, in the volumes section of the specification.
mountPath
Specifies the path within the container where the volume will be mounted. Must not contain ':'.
subPath
Specifies the path within the volume (it needs to exist inside the external volume) from which the container's volume should be mounted. Defaults to "" (volume's root).
readOnly
Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.
readinessProbe
command
Optional field. If not present, the docker image's ENTRYPOINT is used. If present, represents the entrypoint array of the container. Not executed within a shell, so if a shell is required, must be specified as below. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
Example:
command: ['sh', '-c', 'while true; do echo .; sleep 1; done']
Also see:
initContainers
volumes
List of volumes that can be mounted by containers belonging to the pod.