OpenShift DeploymentConfig Definition: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(116 intermediate revisions by the same user not shown)
Line 1: Line 1:
=External=
* https://docs.openshift.com/container-platform/latest/rest_api/apis-apps.openshift.io/v1.DeploymentConfig.html
* https://docs.openshift.com/container-platform/latest/rest_api/openshift_v1.html#v1-deploymentconfigspec
=Internal=
=Internal=


* [[OpenShift_Concepts#Deployment_Configuration|OpenShift Concepts]]
* [[OpenShift_Concepts#Deployment_Configuration|OpenShift Concepts]]
* [[OpenShift_Configuration#Definitions|OpenShift Definitions]]
* [[OpenShift Pod Definition|OpenShift Pod Definition]]


=Definition=
=Definition=


 
  '''[[OpenShift_REST_Resource_Definition_Schema#apiVersion|apiVersion]]''': v1
  '''apiVersion''': v1
   
   
  '''kind''':      DeploymentConfig
  '''[[OpenShift_REST_Resource_Definition_Schema#kind|kind]]''':      DeploymentConfig
   
   
  '''metadata''':  
  '''[[OpenShift_REST_Resource_Definition_Schema#metadata|metadata]]''':  
             '''name''':     <font color=SandyBrown>''deployment-config-name''</font>
             '''[[OpenShift_REST_Resource_Definition_Schema#name|name]]''': <font color=SandyBrown>blue</font>
   
   
             '''labels''':   ?
             '''[[OpenShift_REST_Resource_Definition_Schema#labels|labels]]''': {...}
    
    
  '''spec''':  
  '''[[OpenShift_REST_Resource_Definition_Schema#spec|spec]]''':  
             '''replicas''': 1
             '''replicas''': 1
   
   
             '''selector''':  
             '''<span id='spec.selector.2'></span>[[#spec.selector|selector]]''':  
                       '''app''':             <font color=SandyBrown>?</font>
                       '''deploymentconfig''': <font color=SandyBrown>?</font>
                       <font color=SandyBrown>pod_selector_label_name_1</font>: <font color=SandyBrown> pod_selector_value_1</font>
                       <font color=SandyBrown>pod_selector_label_name_2</font>: <font color=SandyBrown> pod_selector_value_2</font>
   
   
             '''strategy''':  
             '''strategy''':  
Line 26: Line 33:
   
   
             '''template''':  
             '''template''':  
                       '''metadata''':  
 
                              '''labels''':   ?
                       [ See [[OpenShift Pod Definition#Example|Pod Definition]] ]
                      '''spec''':  
                            '''containers''':
            '''triggers''':  
                                - '''name''': <font color=SandyBrown>''name''</font>
                      - '''type''': ConfigChange
                                  '''image''':  
                      - '''type''': ImageChange
          imagePullPolicy: Always
                        '''imageChangeParams''':
          livenessProbe:
                          '''from''':
            failureThreshold: 3
                            '''kind''': [[OpenShift_Image_Stream_Definition#Overview|ImageStreamTag]]
            initialDelaySeconds: 15
                            '''name''': gogs:0.11.29
            periodSeconds: 10
            successThreshold: 1
'''[[OpenShift_REST_Resource_Definition_Schema#status|status]]''': {...}
            httpGet:
              port: 3000
              path: /
            timeoutSeconds: 1


          ports:
=Elements=
          - containerPort: 3000
            protocol: TCP
          resources:
            requests:
              memory: 256Mi
              cpu: 100m
            limits:
              memory: 512Mi
              cpu: 200m
          terminationMessagePath: /dev/termination-log
          readinessProbe:
            failureThreshold: 3
            initialDelaySeconds: 15
            periodSeconds: 10
            successThreshold: 1
            httpGet:
              port: 3000
              path: /
            timeoutSeconds: 1
          volumeMounts:
          - name: gogs-data
            mountPath: /opt/gogs/data
          - name: gogs-config
            mountPath: /etc/gogs/conf
          - name: gogs-custom-config
            mountPath: /opt/gogs/custom/conf


                            '''volumes''': 
==spec==
                            '''dnsPolicy''': ClusterFirst
 
                            '''restartPolicy''': Always
===<span id='spec.selector'></span>selector===
                            '''securityContext''': {}
 
                            '''terminationGracePeriodSeconds''': 30
Represents a query that applied over pods, returns the number of pods which should match the "replica" count. This is the query used by the replication controller to figure out whether it has to spin up or shut down pods. The labels specified in the "spec.selector" map must match the labels applied to the pods created by this deployment configuration, which are the "[[#spec.template.metadata.labels|spec.template.metadata.labels]]". More details: https://docs.openshift.com/container-platform/latest/rest_api/openshift_v1.html#v1-deploymentconfigspec
            '''triggers''':
'''status''':


=Toerase=
===<span id='metadata'></span><span id='annotations'></span><span id='labels'></span><span id='template_spec'></span><span id='spec'></span><span id='env'></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span><span id=''></span>template===


<pre>
{{Internal|OpenShift Pod Definition#Overview|Pod Defintion}}
  "spec": {
    "template": {  
      "metadata": {
        "labels": {
          "name": "frontend"
        }
      },
      "spec": {
        "containers": [
          {
            "name": "helloworld",
            "image": "openshift/origin-ruby-sample",
            "ports": [
              {
                "containerPort": 8080,
                "protocol": "TCP"
              }
            ]
          }
        ]
      }
    }
    "replicas": 5,
    "selector": {
      "name": "frontend"
    },
    "triggers": [
      {
        "type": "ConfigChange"
      },
      {
        "type": "ImageChange",
        "imageChangeParams": {
          "automatic": true,
          "containerNames": [
            "helloworld"
          ],
          "from": {
            "kind": "ImageStreamTag",
            "name": "origin-ruby-sample:latest"
          }
        }
      }
    ],
    "strategy": {
      "type": "Rolling"
    }
  }
</pre>

Latest revision as of 21:06, 28 February 2018

External

Internal

Definition

apiVersion: v1

kind:       DeploymentConfig

metadata: 
            name: blue

            labels: {...}
  
spec: 
            replicas: 1

            selector: 

                      pod_selector_label_name_1:  pod_selector_value_1
                      pod_selector_label_name_2:  pod_selector_value_2

            strategy: 
                      type: Recreate

            template: 
 
                      [ See Pod Definition ]

            triggers: 
                     - type: ConfigChange
                     - type: ImageChange
                       imageChangeParams:
                         from:
                           kind: ImageStreamTag
                           name: gogs:0.11.29

status: {...}

Elements

spec

selector

Represents a query that applied over pods, returns the number of pods which should match the "replica" count. This is the query used by the replication controller to figure out whether it has to spin up or shut down pods. The labels specified in the "spec.selector" map must match the labels applied to the pods created by this deployment configuration, which are the "spec.template.metadata.labels". More details: https://docs.openshift.com/container-platform/latest/rest_api/openshift_v1.html#v1-deploymentconfigspec

template

Pod Defintion