OpenShift DeploymentConfig Definition: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 8: Line 8:
* [[OpenShift_Concepts#Deployment_Configuration|OpenShift Concepts]]
* [[OpenShift_Concepts#Deployment_Configuration|OpenShift Concepts]]
* [[OpenShift_Configuration#Definitions|OpenShift Definitions]]
* [[OpenShift_Configuration#Definitions|OpenShift Definitions]]
* [[OpenShift Pod Definition|OpenShift Pod Definition]]


=Definition=
=Definition=
Line 32: Line 33:
   
   
             '''template''':  
             '''template''':  
                      '''metadata''':
                              '''<span id='spec.template.metadata.annotations'></span>[[#annotations|annotations]]''':
                                  <font color=SandyBrown>arbitrary-key-1</font>: <font color=SandyBrown>arbitrary-value-1</font>
    
    
                              '''<span id='spec.template.metadata.labels'></span>[[#labels|labels]]''':
                      [ See [[OpenShift Pod Definition#Example|Pod Definition]] ]
   
   
                                  <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>
                      '''[[#template_spec|spec]]''':
                            '''containers''': 
                                        - '''name''': <font color=SandyBrown>blue</font>
                                          '''image''':
                                          '''[[#imagePullPolicy|imagePullPolicy]]''': Always
                                          '''[[#env|env]]''':
                                          - name: TEST_ENV1
                                            value: TEST_VALUE1
                                          '''ports''':
                                                  - '''containerPort''': <font color=SandyBrown>1234</font>
                                                    '''protocol''': TCP
                                          '''volumeMounts''':
                                                  - '''name''': <font color=SandyBrown>data</font>
                                                    '''mountPath''': <font color=SandyBrown>/opt/blue/data</font>
                                                  - '''name''': <font color=SandyBrown>config</font>
                                                    '''mountPath''': <font color=SandyBrown>/etc/blue/conf</font>
                                          '''livenessProbe''': {...}
                                          '''readinessProbe''': {...}
                                          '''terminationMessagePath''': /dev/termination-log
                                          '''resources''': {...}
                            '''dnsPolicy''': ClusterFirst
                            '''restartPolicy''': Always
                            '''securityContext''': {...}
                            '''terminationGracePeriodSeconds''': 30
                            '''volumes''': 
                                    - '''name''': <font color=SandyBrown>data</font>
                                      '''persistentVolumeClaim''':
                                        '''claimName''': <font color=SandyBrown>data-pvc</font>
                                    - '''name''': <font color=SandyBrown>config</font>
                                      '''configMap''':
                                        '''name''': <font color=SandyBrown>config-cm</font>
                                        '''items''':
                                          - '''key''': <font color=SandyBrown>app.ini</font>
                                            '''path''': <font color=SandyBrown>app.ini</font>
             '''triggers''':  
             '''triggers''':  
                       - '''type''': ConfigChange
                       - '''type''': ConfigChange
Line 102: Line 54:
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
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


===template===
===<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===
 
====metadata====
 
=====annotations=====
 
An unstructured key-value map stored with the resource that may be set by external tools to store and retrieve arbitrary metadata.
 
Also see {{Internal|OpenShift_Concepts#Custom_Metadata_Annotations|Custom Metadata Annotations}}
 
=====labels=====
 
Labels applied to pods created by this deployment configuration. They must match '[[#spec.selector.2|spec.selector]]' values.
 
====<span id='template_spec'></span>spec====
 
=====containers=====
 
<font color=red>TODO consolidate with [[OpenShift_Pod_Definition#containers]]</font>.
 
======env======
 
The list of the environment variables to set in the container.
 
spec:
  template:
    spec:
      containers:
      - name: my-container
        env:
        - name: TEST_ENV_1
          value: TEST_VALUE_1
 
More about: {{Internal|OpenShift_Concepts#Environment_Variables|Environment Variables}}
 
======imagePullPolicy======
 
"Always"


Also see: {{Internal|OpenShift_Image_and_ImageStream_Operations#Create_an_Individual_Image_Stream_with_import-image|Create an Individual Image Stream with import-image}}
{{Internal|OpenShift Pod Definition#Overview|Pod Defintion}}

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