Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Table of Contents

...

The following pod layout is desired for the APPC cluster deployment (as described in 

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyAPPC-476
) from POD and SERVICE view, which will have:

  • 1 DB pod (2 or more DB pods to supported with the introduction of MariaDB and Galera)
  • 3 appc (ODL) pods
  • 1 dgbuilder pod
  • 1 cdt pod

...

Gliffy
namePod, service, deploy kind Copy
pagePin6

APPC DB Clustering details

...

Gliffy
namesdnc pods start up order Copy
pagePin2

Troubleshoot situation where APPC pods do not start up in order

...

  • Do a describe of the pod using command kubectl describe pod <pod-name>, to ensure the Init Container section is presented as your defined in your yaml template.
  • If it does not exist, it is possible that your Kubernetes version supports a different format for the init-containers:

    init-containers syntax supported by Kubernetes 1.5, 1.6 and 1.7 and not supported by Kubernetes 1.8 and greaterinitContainers syntax supported from Kubernetes 1.6 and greater

    Init container is defined under

    spec.template.metadata.annotations."pod.beta.kubernetes.io/init-containers

    Code Block
    languagexml
    titleAn example of init container by beta annotation
    linenumberstrue
    collapsetrue
    apiVersion: apps/v1beta1
    kind: StatefulSet
    metadata:
      name: appc
      ...
    spec:
      ...
      template:
        metadata:
          ...
          annotations:
            pod.beta.kubernetes.io/init-containers: '[
              {
                  "args": [
                      "--container-name",
                      "appc-db-container"
                  ],
                  "command": [
                      "/root/ready.py"
                  ],
                  "env": [
                      {
                          "name": "NAMESPACE",
                          "valueFrom": {
                              "fieldRef": {
                                  "apiVersion": "v1",
                                  "fieldPath": "metadata.namespace"
                              }
                          }
                      }
                  ],
                  "image": "{{ .Values.image.readiness }}",
                  "imagePullPolicy": "{{ .Values.pullPolicy }}",
                  "name": "appc-readiness"
              }
              ]'
        spec:
          containers:
          ...

    Init container is defined under spec.template.spec.initContainers

    Code Block
    languagexml
    titleAn example of init container by spec.initContainers
    linenumberstrue
    collapsetrue
    apiVersion: apps/v1beta1
    kind: StatefulSet
    metadata:
      name: sdnc
      ...
    spec:
      ...
      template:
        ...
        spec:
          initContainers:
          - command:
            - /root/ready.py
            - "--container-name"
            - "appc-db-container"
            env:
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            image: "{{ .Values.image.readiness }}"
            imagePullPolicy: {{ .Values.pullPolicy }}
            name: appc-readiness
          containers:
          ...

...