3. Set Up the Undercloud
Steps described in this page are run by "ubuntu", a non-root user.
ONAP deployment in Kubernetes is modeled in the oom project as a one-to-one set of service to pod sets (one pod per docker container).
The following table illustrate the steps that much run or can be skipped on the each of the Kubernetes cluster node.
Steps Description | Kubernetes Node | |
---|---|---|
Master | worker | |
Install Docker | ||
Configure Kubernetes Cluster | ||
Install kubectl | ||
Install Helm (expect OOM project will be mounted on the same node) |
Install Docker
# | Purpose | Command and Example |
---|---|---|
1 | Install Docker 1.12 | Check out compartible versions among Rancher, Kubernetes and Docker, curl https://releases.rancher.com/install-docker/1.12.sh | sh $ curl https://releases.rancher.com/install-docker/1.12.sh | sh ... + sudo -E sh -c docker version Server: If you would like to use Docker as a non-root user, you should now consider sudo usermod -aG docker ubuntu Remember that you will have to log out and back in for this to take effect! $ |
2 | Enable docker command for ubuntu useras recommend from docker installation | sudo usermod -aG docker ubuntu logout log back in and validate docker command is usable by entering "docker" |
Configure Kubernetes Cluster
Set up Kubernetes cluster follow steps at Kubernetes Cluster by Rancher.
Install kubectl
kubectl is a command line interface for running commands against Kubernetes clusters.
Follow the steps below to install kubectrl:
# | Purpose | Command and Example |
---|---|---|
1 | Download kubectl on the server | curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.6/bin/linux/amd64/kubectl % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 49.8M 100 49.8M 0 0 15.3M 0 0:00:03 0:00:03 --:--:-- 15.3M |
2 | Enable the kubectl command | chmod +x kubectl sudo mv kubectl /usr/local/bin/kubectl vi ~/.bashrc
source ~/.bashrc |
3 | Generate config from the Rancher UI | From the Rancher UI ( access the Rancher UI through http:<master node host IP>:8880 as specified in Kubernetes Cluster by Rancher),
|
4 | Create the kube config on the server | mkdir ~/.kube vi ~/.kube/config Paste the generated config from rancher UI (from last step) to this file, then save the file. |
5 | Validate the kube config | kubectl cluster-info $ kubectl cluster-info Kubernetes master is running at https://10.147.132.10:8880/r/projects/1a8/kubernetes:6443 Heapster is running at https://10.147.132.10:8880/r/projects/1a8/kubernetes:6443/api/v1/namespaces/kube-system/services/heapster/proxy KubeDNS is running at https://10.147.132.10:8880/r/projects/1a8/kubernetes:6443/api/v1/namespaces/kube-system/services/kube-dns/proxy kubernetes-dashboard is running at https://10.147.132.10:8880/r/projects/1a8/kubernetes:6443/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy monitoring-grafana is running at https://10.147.132.10:8880/r/projects/1a8/kubernetes:6443/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy monitoring-influxdb is running at https://10.147.132.10:8880/r/projects/1a8/kubernetes:6443/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy tiller-deploy is running at https://10.147.132.10:8880/r/projects/1a8/kubernetes:6443/api/v1/namespaces/kube-system/services/tiller-deploy/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. |
6 | Validate the nodes added | kubectl get nodes $ kubectl get nodes |
Install Helm
Helm is used by OOM for package and configuration management. Hence, we are installing Helm (use 2.3.0 not current 2.6.0) on the server where we have mounted the OOM project.
Follow the steps below to download and enable Helm on the server:
# | Purpose | Command and Example |
---|---|---|
1 | Download the Helm tar file | wget http://storage.googleapis.com/kubernetes-helm/helm-v2.3.0-linux-amd64.tar.gz $ wget http://storage.googleapis.com/kubernetes-helm/helm-v2.3.0-linux-amd64.tar.gz --2017-11-08 20:12:30-- http://storage.googleapis.com/kubernetes-helm/helm-v2.3.0-linux-amd64.tar.gz Resolving storage.googleapis.com (storage.googleapis.com)... 216.58.208.48, 2a00:1450:4001:815::2010 Connecting to storage.googleapis.com (storage.googleapis.com)|216.58.208.48|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 12568314 (12M) [application/x-tar] Saving to: ‘helm-v2.3.0-linux-amd64.tar.gz’ helm-v2.3.0-linux-amd64.tar.gz 100%[========================================================================================================>] 11.99M 10.8MB/s in 1.1s 2017-11-08 20:12:32 (10.8 MB/s) - ‘helm-v2.3.0-linux-amd64.tar.gz’ saved [12568314/12568314] |
2 | Untar the Helm tar file | tar -zxvf helm-v2.3.0-linux-amd64.tar.gz |
3 | Enable the Helm command | sudo mv linux-amd64/helm /usr/local/bin/helm |
Tip of viewing helm command menu |