SDN-C Clustering on Kubernetes
About the SDN-C Clustering
The following diagram illustrates the desired SDN-C cluster deployment (as described in https://lf-onap.atlassian.net/browse/SDNC-163) from POD and SERVICE view, which will have:
2 DB pods
3 sdnc (ODL) pods
1 admin (portal) pod
1 dgbuilder pod
SDN-C DB Clustering details
See details from SDN-C DB (MySQL) Clustered Deployment.
Deployment Setup Steps
You can use Rancher or kubeadm to deploy your Kubernetes cluster:
Additional Information
SDN-C Startup Order
Troubleshoot SDN-C pods are not start up in order
Usually, this is caused by init-container malfuntion. You can troubleshoot it by the following steps:
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 greater
initContainers syntax supported from Kubernetes 1.6 and greater
Init container is defined under
spec.template.metadata.annotations."pod.beta.kubernetes.io/init-containers
Init container is defined under spec.template.spec.initContainers
Restart Dead Instance (start a new one in its place)
When a pod is dead, Kubernetes automatically starts a new one to replace the dead pod.
Examples:
Pod-level restart:
Container-level restart:
Source Code
The source code is currently temporary shared through gerrit topic SDNC-163 until it is commited into gerrit.