Info |
---|
|
Although the exciting instructions on Steps described in this page are working for kubernetes, the cluster configuration part is still working in progress. Will be updated as soon as it becomes available.run by "ubuntu", a non-root user. |
This page describes the steps of using rancher (rancher environment) to deploy Kubernetes node and config Kubernetes cluster nodes.
Deploy The First Kubernetes Node
This section, similar as Quickstart Installation in ONAP on Kubernetes, provides the instruction of setting kubernestes deploying Kubernetes node through Rancher. The steps described on this page include using rancher to configure clustered kubernetes nodes.
The first Kubernetes node in the Kubernetes cluster is to be deployed on the rancher server VM which also is configured with ranch client running.
Setup Rancher Server
...
Follow the steps below to install and configure Rancher:
# | Purpose | Command and Example |
---|
1 | Add host name to /etc/hosts fileAdding all cluster nodes to /etc/hosts file |
1on each node
| sudo vi /etc/hosts Expand |
---|
title | Example result of /etc/hosts file |
---|
|
|
ubuntu@sdnc-k8s:~$ $ more /etc/hosts 127.0.0.1 sdnc-k8s localhost ... 10.147.132.10 sdnc-k8s 10.147.90.6 sdnc-k8s-2 |
|
2 | Clone the OOM project from ONAP gerrit | git clone http://gerrit.onap.org/r/oom |
3 | Install Docker 1.12 2
curl https://releases.rancher.com/install-docker/1.12.sh | sh
Expand |
---|
title | Example of docker installation |
---|
|
+ sudo -E sh -c docker version
Client:
Version: 1.12.6
API version: 1.24
Go version: go1.6.4
Git commit: 78d1802
Built: Tue Jan 10 20:38:45 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.6
API version: 1.24
Go version: go1.6.4
Git commit: 78d1802
Built: Tue Jan 10 20:38:45 2017
OS/Arch: linux/amd64
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker ubuntu
Remember that you will have to log out and back in for this to take effect!
4 | Install/Start Rancher server 3 | Only on master node (if you are installing more than one Kubernetes nodes), 2 | Install/Start Rancher server
There may be issues with the DNS pod in Rancher after a reboot or when running clustered hosts as described in ONAP bug: A clean system is OK. |
Use port 8880 instead of 8080. docker run -d --restart=unless-stopped -p 8880:8080 rancher/server:v1.6.10 Expand |
---|
title | Example of rancher start in docker |
---|
| $ docker run -d --restart=unless-stopped -p 8880:8080 rancher/server:v1.6.10 Unable to find image 'rancher/server:latest' locally latest: Pulling from rancher/server 6599cadaf950: Pull complete 23eda618d451: Pull complete f0be3084efe9: Pull complete 52de432f084b: Pull complete a3ed95caeb02: Pull complete e75cd91a1dc5: Pull complete 997f1b48f59f: Pull complete 313c28fb4e37: Pull complete 2a0730d1275c: Pull complete 8848fbebd2c8: Pull complete 906504ea9ea6: Pull complete 9329940f8e65: Pull complete e849debd7945: Pull complete 4883bd135dd2: Pull complete 605c6a0fe940: Pull complete 274bc004c933: Pull complete a6cb25e8d1a2: Pull complete 3ded9d4c8c2b: Pull complete a571d2f40012: Pull complete Digest: sha256:096026aa3eed411077690c904cd5dd3cce66eb39312c78a84209eab23387c36d Status: Downloaded newer image for rancher/server:latest 4b3020cfccc2db47905e89e66cd8533fea82d60b886b2f4509e5f1c56764563a |
Expand |
---|
title | Example of validate rancher server is up in docker |
---|
|
|
ubuntu@sdnc-k8s:~$ ID IMAGE COMMAND CREATED STATUS PORTS ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
4b3020cfccc2 server server:v1.6.10 "/usr/bin/entry /usr/" |
|
12 minutes ago Up 12 minutes 7 seconds ago Up 6 seconds 3306/tcp, 0.0.0.0:8880->8080/ |
|
tcp backstabbingwrightNotes:
- Adding all cluster nodes to /etc/hosts file on each node is optional
- Check out compartible versions among Rancher, Kubernetes and Docker
- There may be issues with the DNS pod in Rancher after a reboot or when running clustered hosts as described in ONAP bug OOM-236 (Rancher DNS pod non-functional after system reboot - only in cluster mode). A clean system is OK.
Configure Rancher Client
You can access the Rancher UI through http:<master <master node host IP>:8880 ; it takes you to the apps/stacks page.
...
From here, follow the steps below to configure the Rancher:
# | Purpose | Script shots illustrated steps |
---|
1 | Create Rancher environment: | |
enviroments
Image Removed
Image Removed Image Added
- Click on "Add Enviroment"
Image Added- Fill in the template with the following, and then click on the Create button
- Name: "sdnc-ha"
- (Optional) Add Description of the new environment
- Environment Template: Kubernetes
|
Click on the Create button Image Added
- Check that the new enviroment has been created and displays as "Active"
|
Image Removed Image Added
|
(Optional) delete Delete pre-existing Default environment |
|
|
Image Removed
Image Added |
|
Image Removed Image Added
|
|
2 | Add host to INFRASTRUCTURE | - Go to the Hosts page via INFRASTRUCTURE -> Hosts
- Click on the AddHost button
|
Image Removed Image Added
- For the first time only, the following confirmation page will appear (click the Save button to continue):
|
Image Removed Image Added
- The following Add Host page will appear:
|
Image Removed Image Added
- Skip steps 1, 2, and 3 listed in the page
- In step 4, fill in the blank with the server IP
- In step 5:
|
ubuntu@sdnc-k8s:~$ $ docker run -e CATTLE_AGENT_IP="10.147.132.10" --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.6http://10.147.132.10:8880/v1/scripts/774E9A523D82DBCBDE13:1483142400000:FPPmrMz8IurKQwVLV2UpfGR10AY Unable to find image 'rancher/agent:v1.2.6' locally v1.2.6: Pulling from rancher/agent b3e1c725a85f: Pull complete 6a710864a9fc: Pull complete d0ac3b234321: Pull complete 87f567b5cf58: Pull complete 063e24b217c4: Pull complete d0a3f58caef0: Pull complete 16914729cfd3: Pull complete 2ce3828c0b9d: Pull complete 7df47a98fc4b: Pull complete Digest: sha256:a68afd351c7417e6d66a77e97144113ceb7a9c3cdd46fb6e1fd5f5a5a33111cd Status: Downloaded newer image for rancher/agent:v1.2.6 INFO: Running Agent Registration Process, CATTLE_URL=http://10.147.132.10:8880/v1 INFO: Attempting to connect to: http://10.147.132.10:8880/v1 INFO: http://10.147.132.10:8880/v1 is accessible INFO: Inspecting host capabilities INFO: Boot2Docker: false INFO: Host writable: true INFO: Token: xxxxxxxx INFO: Running registration INFO: Printing Environment INFO: ENV: CATTLE_ACCESS_KEY=0CB90B4247A136F6E43E INFO: ENV: CATTLE_AGENT_IP=10.147.132.10 INFO: ENV: CATTLE_HOME=/var/lib/cattle INFO: ENV: CATTLE_REGISTRATION_ACCESS_KEY=registrationToken INFO: ENV: CATTLE_REGISTRATION_SECRET_KEY=xxxxxxx INFO: ENV: CATTLE_SECRET_KEY=xxxxxxx INFO: ENV: CATTLE_URL=http://10.147.132.10:8880/v1 INFO: ENV: DETECTED_CATTLE_AGENT_IP=172.17.0.1 INFO: ENV: RANCHER_AGENT_IMAGE=rancher/agent:v1.2.6 INFO: Launched Rancher Agent: 4e3b1e4c2b4c33095ef550cbece626277b63783b012efe74ed2713df63cc925c |
Expand |
---|
title | Example of validating rancher agent started |
---|
|
|
ubuntu@sdnc-k8s:~$ ID IMAGE COMMAND CREATED STATUS PORTS NAMES43eff054da6a ID IMAGE COMMAND CREATED STATUS PORTS NAMES 64562118a30c rancher/etcd:v2.3.7-13 "/.r/r /opt/rancher/r" 1 seconds ago Up Less than a second r-kubernetes-etcd-1-b95cd471 308b3fbf1882 rancher/net:holder "/.r/r /rancher-entry" 12 seconds ago Up 11 seconds r-ipsec-ipsec-1-9198fa8b 523278d910f4 rancher/dns:v0.15.3 "/rancher-entrypoint." 12 seconds ago Up 11 seconds r-network-services-metadata-dns-1-2730cb6f 8520cc50c5ff rancher/metadata:v0.9.4 "/rancher-entrypoint." 13 seconds ago Up 12 seconds r-network-services-metadata-1-53bf4aaf 1f6dcb021f5b rancher/healthcheck:v0.3.3 "/.r/r /rancher-entry" 14 seconds ago Up 13 seconds r-healthcheck-healthcheck-1-3d14df58 1d7ad141ceec rancher/network-manager:v0.7.8 "/rancher-entrypoint." 14 seconds ago Up 13 seconds r-network-services-network-manager-1-fdd38b68 c7dfdde262d7 rancher/net:v0.11. |
|
9 5 ago Up 4 seconds ago Up 13 seconds r-ipsec-cni-driver-1- |
|
4a5c6e164e3b1e4c2b4c 64e2f05b0394 rancher/agent:v1.2. |
|
6 27 ago Up 27 seconds ago Up 19 seconds rancher-agent
|
|
4b3020cfccc2 server server:v1.6.10 "/usr/bin/entry /usr/" |
|
46 ago 46 minutes 9 minutes 3306/tcp, 0.0.0.0:8880->8080/ |
|
tcp backstabbing_wright- Click on the Close button to close the Add Host page
- Go to the Hosts page from INFRASTRUCTURE -> Hosts
|
Image Removed
|
Expand |
---|
title | Example of Hosts page has 2 nodes |
---|
|
Image Removed Image Added
|
|
3 | Confirm that the host process has completed | The end of adding the host operation is indicated by the CLI option shown under the KUBERNETES dropdown menu: Expand |
---|
title | Example of CLI option in KUBERNETES drop down |
---|
|
|
Image Removed
|
Install kubectl
kubectl is a command line interface for running commands against Kubernetes clusters.
Image Added
|
|
Configure Kubernetes Cluster Nodes
Repeat the following steps as many times as the number of nodes you are going to have in the Kubernetes cluster.Follow the steps below to install kubectrl:
# | Purpose | Command and Example |
---|
1 |
Download kubectl on the server | Add host name to /etc/hosts fileAdding all cluster nodes to /etc/hosts file on each node
| |
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl of download kubectl process % 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 |
3 | Generate Config from the Rancher UI | result of /etc/hosts file |
| $ more /etc/hosts 127.0.0.1 sdnc-k8s-2 localhost ... 10.147.132.10 sdnc-k8s 10.147.90.6 sdnc-k8s-2 |
|
2 | Add host to INFRASTRUCTURESee examples from step 2 of section "Configure Rancher Client" | - Go to the Hosts page via INFRASTRUCTURE -> Hosts
- Click on the AddHost button
- Skip steps 1, 2, and 3 listed in the page
- In step 4, fill in the blank with the server IP
- In step 5:
|
- From the Rancher UI, go to a Kubernetes CLI page through KUBERNETES -> CLI
- Click on the Generate Config button to generate the config
Image Removed
The following content will be brought up; click on generated config use it in next step:
Image Removed
4 | Create the kube config 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
Expand |
---|
title | Example of validation result on kube config through "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'.
Configure Kubernetes Cluster
...
- Click on the Close button to close the Add Host page
- Go to the Hosts page from INFRASTRUCTURE -> Hosts
|
3 | Confirm that the Setup has Finished | Wait until all hosts in Rancher show green, indicating that setup is complete! |