summaryrefslogtreecommitdiffstats
path: root/kubernetes/sdnc/templates/sdnc-statefulset.yaml
diff options
context:
space:
mode:
authorHao Kuang <Hao.Kuang@amdocs.com>2017-12-15 20:38:03 +0000
committerHao Kuang <Hao.Kuang@amdocs.com>2017-12-20 16:43:29 +0000
commit27af4a308d56795eddb08d07cbb86d8651c4f5a2 (patch)
treea2acc5bff9251f6f5c00f859488c289c7f3211c2 /kubernetes/sdnc/templates/sdnc-statefulset.yaml
parenta6eb9be0e091746c824b169a46242ef0943a2b05 (diff)
Single K8S Node Of Deploying SDNC Cluster POC
It's a reference of how to deploy sdnc cluster under single node k8s environment. Currently the config of nfs for mysql db only supports one k8s node. For mutiple nodes, because of dockernfs mount, nfs provisioner has conflict with it, which fails mount operation of SDNC pod. Also, if SDNC needs to fully utilize mysql cluster under k8s, in core project, DbLibService.java should be enhanced to support that writing to master only and reading from them. Issue-ID: SDNC-163 Change-Id: I85ad327f2fe04fe8e9a135289d7c25a917234438 Signed-off-by: Hao Kuang <Hao.Kuang@amdocs.com>
Diffstat (limited to 'kubernetes/sdnc/templates/sdnc-statefulset.yaml')
-rw-r--r--kubernetes/sdnc/templates/sdnc-statefulset.yaml109
1 files changed, 109 insertions, 0 deletions
diff --git a/kubernetes/sdnc/templates/sdnc-statefulset.yaml b/kubernetes/sdnc/templates/sdnc-statefulset.yaml
new file mode 100644
index 0000000000..3ba37af197
--- /dev/null
+++ b/kubernetes/sdnc/templates/sdnc-statefulset.yaml
@@ -0,0 +1,109 @@
+#{{ if not .Values.disableSdncSdnc }}
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+ name: sdnc
+ namespace: "{{ .Values.nsPrefix }}-sdnc"
+spec:
+ serviceName: "sdnhost-cluster"
+ replicas: {{ .Values.numberOfODLReplicas }}
+ podManagementPolicy: Parallel
+ selector:
+ matchLabels:
+ app: sdnc
+ template:
+ metadata:
+ labels:
+ app: sdnc
+ name: sdnc
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - sdnc-db-container
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ .Values.image.readiness }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: sdnc-readiness
+ containers:
+ - command:
+ - bash
+ - "-c"
+ - |
+ sed -i 's/dbhost/sdnc-dbhost-0.dbhost.onap-sdnc.svc.cluster.local/g' /opt/onap/sdnc/data/properties/svclogic.properties
+ sed -i 's/^\(org.onap.ccsdk.sli.jdbc.hosts=\).*/\1sdnc-dbhost-0.dbhost.onap-sdnc.svc.cluster.local/' /opt/onap/sdnc/data/properties/dblib.properties
+ /opt/onap/sdnc/bin/startODL.sh
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ value: openECOMP1.0
+ - name: SDNC_CONFIG_DIR
+ value: /opt/onap/sdnc/data/properties
+ - name: ENABLE_ODL_CLUSTER
+ value: "{{ .Values.enableODLCluster }}"
+ - name: SDNC_REPLICAS
+ value: "{{ .Values.numberOfODLReplicas }}"
+ image: {{ .Values.image.sdnc }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: sdnc-controller-container
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
+ name: sdnc-aaiclient-properties
+ - mountPath: /opt/onap/sdnc/data/properties/admportal.json
+ name: sdnc-admportal-json
+ - mountPath: /var/log/onap
+ name: sdnc-logs
+ - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
+ name: sdnc-log-config
+ ports:
+ - containerPort: 8181
+ - containerPort: 8101
+ - containerPort: 2550
+ - containerPort: 8080
+ readinessProbe:
+ tcpSocket:
+ port: 8181
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ - image: {{ .Values.image.filebeat }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: filebeat-onap
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: sdnc-logs
+ - mountPath: /usr/share/filebeat/data
+ name: sdnc-data-filebeat
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: filebeat-conf
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/filebeat/log4j/filebeat.yml
+ - name: sdnc-log-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/sdnc/org.ops4j.pax.logging.cfg
+ - name: sdnc-logs
+ emptyDir: {}
+ - name: sdnc-data-filebeat
+ emptyDir: {}
+ - name: sdnc-aaiclient-properties
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/aaiclient.properties
+ - name: sdnc-admportal-json
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/admportal.json
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+#{{ end }}