...
2. Tiller service should be updated to expose a nodeport
You can let K8S assign unused random port by changing the "type" from "ClusterIP" to "NodePort" in the service definition.
Code Block | ||||
---|---|---|---|---|
| ||||
kubectl edit svc -n kube-system tiller-deploy -o yaml
# Assign an unused nodeport available in cluster
#After update K8S svc definition should reflect the node port assigned
#verify node port assignment
kubectl get svc --all-namespaces | grep tiller
kube-system tiller-deploy ClusterIP 10.43.218.97 <none> 44134/TCP 5d
Example below of modified tiller service with nodeport assigned to 32764
apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2019-11-12T17:48:22Z"
labels:
app: helm
name: tiller
name: tiller-deploy
namespace: kube-system
resourceVersion: "12675524"
selfLink: /api/v1/namespaces/kube-system/services/tiller-deploy
uid: 9ee66cde-0574-11ea-baf9-fa163e7033c0
spec:
clusterIP: 10.43.128.185
externalTrafficPolicy: Cluster
ports:
- name: tiller
nodePort: 32764
port: 44134
protocol: TCP
targetPort: tiller
selector:
app: helm
name: tiller
sessionAffinity: None
type: NodePort
status:
loadBalancer: {} |
Installation
- Modify the blueprint templates
Code Block language bash theme Midnight kubectl exec -it -n onap <dcae-bootstrap pod> /bin/bash cd blueprints ls k8s-helm.yaml k8s-helm-override.yaml # Helm Blueprint templates are available under this directory # Verify and update the blueprint parameters if required # Create a corresponding input files
Note: Explanation of parameters are documented under CCSDK wiki page : Introduction of Helm Plugin.
- Validate and Upload the blueprint into CM
Code Block language bash theme Midnight cfy blueprints validate cfy blueprints upload -b k8s-helm-test /blueprints/k8s-helm.yaml
- Deploy the blueprint
Code Block language bash theme Midnight cfy deployments create -b k8s-helm-test k8s-helm-test cfy executions start -d k8s-helm-test install
- Validation
Code Block language bash theme Midnight # Verify if new NS identified in blueprint configuration is created kubectl get ns # Verify if required component was deployed kubectl get pods -n <ns specified>
...