...
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
Versions
Currently Docker 18.06, RKE 0.1.16, Kubernetes 1.11.6, Kubectl 1.11.6, Helm 2.912.13
TODO: verify later versions of helm and a way to get RKE to install Kubernetes 1.13
...
Don't just use the latest docker version - check the RKE release page to get the version pair - 0.1.15/17.03 and 0.1.16/18.06 - see https://github.com/docker/docker-ce/releases - currently https://github.com/docker/docker-ce/releases/tag/v18.06.3-ce
Code Block | ||
---|---|---|
| ||
ubuntu@a-rke:~$ sudo curl https://releases.rancher.com/install-docker/18.06.sh | sh
ubuntu@a-rke:~$ sudo usermod -aG docker ubuntu
ubuntu@a-rke:~$ sudo docker version
Client:
Version: 18.06.3-ce
API version: 1.38
Go version: go1.10.3
Git commit: d7080c1
Built: Wed Feb 20 02:27:18 2019
# install RKE
sudo wget https://github.com/rancher/rke/releases/download/v0.1.16/rke_linux-amd64
mv rke_linux-amd64 rke
sudo mv ./rke /usr/local/bin/rke
ubuntu@a-rke:~$ rke --version
rke version v0.1.16 |
Private SSH key
scp your public key to the box - ideally to ~/.ssh and chmod 400 it - make sure you add your key to authorized_keys
Elastic Reserved IP
get a VIP or EIP and assign this to your VM
generate cluster
...
.yml - optional
cluster.yml will generated by the script rke_setup.sh
Code Block | ||
---|---|---|
| ||
azure config - no need to hand build the yamlyml Watch the path of your 2 keys Also don't add an "addon" until you have one of the config job will fail {noformat} ubuntu@a-rke:~$ rke config --name cluster.yml [+] Cluster Level SSH Private Key Path [~/.ssh/id_rsa]: ~/.ssh/onap_rsa [+] Number of Hosts [1]: [+] SSH Address of host (1) [none]: rke.onap.cloud [+] SSH Port of host (1) [22]: [+] SSH Private Key Path of host (rke.onap.cloud) [none]: ~/.ssh/onap_rsa [+] SSH User of host (rke.onap.cloud) [ubuntu]: [+] Is host (rke.onap.cloud) a Control Plane host (y/n)? [y]: y [+] Is host (rke.onap.cloud) a Worker host (y/n)? [n]: y [+] Is host (rke.onap.cloud) an etcd host (y/n)? [n]: y [+] Override Hostname of host (rke.onap.cloud) [none]: [+] Internal IP of host (rke.onap.cloud) [none]: [+] Docker socket path on host (rke.onap.cloud) [/var/run/docker.sock]: [+] Network Plugin Type (flannel, calico, weave, canal) [canal]: [+] Authentication Strategy [x509]: [+] Authorization Mode (rbac, none) [rbac]: [+] Kubernetes Docker image [rancher/hyperkube:v1.11.6-rancher1]: [+] Cluster domain [cluster.local]: [+] Service Cluster IP Range [10.43.0.0/16]: [+] Enable PodSecurityPolicy [n]: [+] Cluster Network CIDR [10.42.0.0/16]: [+] Cluster DNS Service IP [10.43.0.10]: [+] Add addon manifest URLs or YAML files [no]: no ubuntu@a-rke:~$ sudo cat cluster.yml # If you intened to deploy Kubernetes in an air-gapped environment, # please consult the documentation on how to configure custom RKE images. nodes: - address: rke.onap.cloud port: "22" internal_address: "" role: - controlplane - worker - etcd hostname_override: "" user: ubuntu docker_socket: /var/run/docker.sock ssh_key: "" ssh_key_path: ~/.ssh/onap_rsa labels: {} services: etcd: image: "" extra_args: {} extra_binds: [] extra_env: [] external_urls: [] ca_cert: "" cert: "" key: "" path: "" snapshot: null retention: "" creation: "" kube-api: image: "" extra_args: {} extra_binds: [] extra_env: [] service_cluster_ip_range: 10.43.0.0/16 service_node_port_range: "" pod_security_policy: false kube-controller: image: "" extra_args: {} extra_binds: [] extra_env: [] cluster_cidr: 10.42.0.0/16 service_cluster_ip_range: 10.43.0.0/16 scheduler: image: "" extra_args: {} extra_binds: [] extra_env: [] kubelet: image: "" extra_args: {} extra_binds: [] extra_env: [] cluster_domain: cluster.local infra_container_image: "" cluster_dns_server: 10.43.0.10 fail_swap_on: false kubeproxy: image: "" extra_args: {} extra_binds: [] extra_env: [] network: plugin: canal options: {} authentication: strategy: x509 options: {} sans: [] system_images: etcd: rancher/coreos-etcd:v3.2.18 alpine: rancher/rke-tools:v0.1.15 nginx_proxy: rancher/rke-tools:v0.1.15 cert_downloader: rancher/rke-tools:v0.1.15 kubernetes_services_sidecar: rancher/rke-tools:v0.1.15 kubedns: rancher/k8s-dns-kube-dns-amd64:1.14.10 dnsmasq: rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.10 kubedns_sidecar: rancher/k8s-dns-sidecar-amd64:1.14.10 kubedns_autoscaler: rancher/cluster-proportional-autoscaler-amd64:1.0.0 kubernetes: rancher/hyperkube:v1.11.6-rancher1 flannel: rancher/coreos-flannel:v0.10.0 flannel_cni: rancher/coreos-flannel-cni:v0.3.0 calico_node: rancher/calico-node:v3.1.3 calico_cni: rancher/calico-cni:v3.1.3 calico_controllers: "" calico_ctl: rancher/calico-ctl:v2.0.0 canal_node: rancher/calico-node:v3.1.3 canal_cni: rancher/calico-cni:v3.1.3 canal_flannel: rancher/coreos-flannel:v0.10.0 wave_node: weaveworks/weave-kube:2.1.2 weave_cni: weaveworks/weave-npc:2.1.2 pod_infra_container: rancher/pause-amd64:3.1 ingress: rancher/nginx-ingress-controller:0.16.2-rancher1 ingress_backend: rancher/nginx-ingress-controller-defaultbackend:1.4 metrics_server: rancher/metrics-server-amd64:v0.2.1 ssh_key_path: ~/.ssh/onap_rsa ssh_agent_auth: false authorization: mode: rbac options: {} ignore_docker_version: false kubernetes_version: "" private_registries: [] ingress: provider: "" options: {} node_selector: {} extra_args: {} cluster_name: "" cloud_provider: name: "" prefix_path: "" addon_job_timeout: 0 bastion_host: address: "" port: "" user: "" ssh_key: "" ssh_key_path: "" monitoring: provider: "" options: {} {noformat} |
...
Code Block | ||
---|---|---|
| ||
sudo chmod 777 cluster.yml rke up # install kubectl sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.11.6/bin/linux/amd64/kubectl sudo chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin/kubectl sudo mkdir ~/.kube sudo cp kube_config_cluster.yml ~/.kube/config sudo chmod 777 ~/.kube/config kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE ingress-nginx default-http-backend-797c5bc547-45msr 1/1 Running 0 17m ingress-nginx nginx-ingress-controller-dfhp8 1/1 Running 0 17m kube-system canal-lc6g6 3/3 Running 0 17m kube-system kube-dns-7588d5b5f5-6k286 3/3 Running 0 17m kube-system kube-dns-autoscaler-5db9bbb766-6slz7 1/1 Running 0 17m kube-system metrics-server-97bc649d5-q84tz 1/1 Running 0 17m kube-system rke-ingress-controller-deploy-job-5q2w7 0/1 Completed 0 17m kube-system rke-kubedns-addon-deploy-job-7vq49 0/1 Completed 0 17m kube-system rke-metrics-addon-deploy-job-2hnbl 0/1 Completed 0 17m kube-system rke-network-plugin-deploy-job-6fzt2 0/1 Completed 0 17m/rke_install.sh -b master -s localhost -e onap -l ubuntu |
Kubernetes HA Cluster Production Installation
...