Kubernetes Deployment Manifest: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 28: Line 28:
   [[#template|template]]:
   [[#template|template]]:
     metadata:
     metadata:
       # see pod ma
       # see [[Kubernetes_Pod_Manifest#Example|pod manifest]]
     spec:
     spec:
       ...
       # see [[Kubernetes_Pod_Manifest#Example|pod manifest]]


=.spec Elements=
=.spec Elements=

Revision as of 23:18, 11 September 2019

External

Internal

Overview

Example

apiVersion: apps/v1
kind: Deployment
metadata:
  name: archaeopteryx
  labels:
    color: blue
spec:
  replicas: 1
  selector:
    matchLabels:
      function: 'builder'
  strategy:
  revisionHistoryLimit:
  progressDeadlineSeconds:
  template:
    metadata:
      # see pod manifest
    spec:
      # see pod manifest

.spec Elements

replicas

Specifies the number of desired pods. Defaults to 1.

selector

Specifies the label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template's labels.

Selector Concepts

strategy

Specifies the deployment strategy to use to replace existing pods with new ones.

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#deploymentstrategy-v1-apps

revisionHistoryLimit

The number of old ReplicaSets to retain to allow rollback. Defaults to 10.

progressDeadlineSeconds

The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.

template

The template describes the pods that will be created. Its structure is similar to that of a pod manifest:

Pod Manifest