OpenShift Init Container: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
=External=
=External=


* https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
* https://docs.openshift.com/container-platform/latest/architecture/core_concepts/containers_and_images.html#init-containers
* https://docs.openshift.com/container-platform/latest/architecture/core_concepts/containers_and_images.html#init-containers


Line 7: Line 6:


* [[OpenShift_Pod_Concepts#Init_Container|OpenShift Pod Concepts]]
* [[OpenShift_Pod_Concepts#Init_Container|OpenShift Pod Concepts]]
* [[Kuberentes Init Containers]]
* [[Kubernetes Init Containers]]


=Declaration=
=Overview=


Declared within the context of a pod, under the "[[OpenShift_Pod_Definition#initContainers|initContainers]]" field.
{{Internal|Kubernetes Init Containers|Kubernetes Init Containers}}
 
A simple example:
 
apiVersion: v1
kind: Pod
[...]
'''spec''':
  containers:
  - name: app-container1
    [...]
  '''initContainers''':
  - name: init-container1
    image: busybox
    command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
 
=Life Cycle=
 
{{External|https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#detailed-behavior}}
 
=Timeout=
 
An init container must finish initializing within ... otherwise it puts the deployment into an error state:
 
NAME        READY    STATUS    RESTARTS  AGE
a-1-deploy  0/1      Error    0          13m
 
=Resources=
 
{{External|https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#resources}}
 
=Troubleshooting Init Containers=
 
The logs of init containers can be accessed by identifying the name of the init container with:
 
oc describe po/a-1-0g52b
...
Init Containers:
  b-dependency-checker:
  ...
 
and then getting the logs from that specific container:
 
oc logs -f -c b-dependency-checker po/a-1-0g52b
 
=Application Dependency Example=
 
{{External|https://github.com/NovaOrdis/playground/tree/master/openshift/applications/service-dependency}}
 
<font color=red>TODO: write a step-by-step article.</font>

Latest revision as of 02:04, 19 September 2019