CDS can be deployed to minikube.
Rough outline of steps.
- Install minikube using k8s before 1.16 (our OOM charts are not compatible with 1.16)
- install helm (I had 2.15.2)
clone OOM repo (git clone "https://gerrit.onap.org/r/oom")
- Start HELM service (helm serve&)
- go into "kubernetes" dir inside oom
- Build common and CDS charts (make common cds)
- Copy values.yaml file (we'll call it overrides file) to another place (we'll reference it later)
Edit the file and add the following lines (note spacing should be lining up)
cds-blueprints-processor: dmaapEnabled: false global: nodePortPrefix: 302 nodePortPrefixExt: 304 repository: nexus3.onap.org:10001 readinessRepository: oomk8s readinessImage: readiness-check:2.0.2 loggingRepository: docker.elastic.co loggingImage: beats/filebeat:5.5.0 persistence: enabled: true storageClass: standard ##mountPath: /dockerdata-nfs
Do modification for mariadb-galera as well
mariadb-galera: config: userName: sdnctl userPassword: sdnctl mariadbRootPassword: sdnctl mysqlDatabase: sdnctl nameOverride: cds-db service: name: cds-db portName: cds-db replicaCount: 1 persistence: enabled: true storageClass: standard mountSubPath: cds/data
- You can check which storageclass you'll need by using "kubectl get sc"
- Deploy tiller
But first, check if you are in the right context "kubectl config current-context". You want to see minikube.
helm init - Create k8s role/rolebindings to get pods. This is needed by the readiness probes which do equivalent of "kubectl get pod |grep something".
kubectl create role pod-reader --verb=get --verb=list --verb=watch --resource=pods --resource=statefulset --resource=deployment kubectl create rolebinding pod-reader-binding --role pod-reader --serviceaccount=default:default --namespace=default
Deploy the helm chart:
Go into kubernetes/cds directoryhelm upgrade -i minikubecds . -f /location/to/cds.overrides
Note. Currently, elalto branch of OOM is more tested. I've just noticed that master OOM provides CDS 0.6.3, which is outdated....