sudo apt update sudo apt-get install unzip curl software-properties-common snap -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get install docker-ce=5:19.03.14~3-0~ubuntu-focal docker-ce-cli=5:19.03.14~3-0~ubuntu-focal containerd.io -y
sudo curl -LO https://dl.k8s.io/release/v1.18.17/bin/linux/amd64/kubectl sudo chmod a+x kubectl sudo mv ./kubectl /usr/local/bin/ mkdir -p ~/.kube/
sudo swapoff -asudo useradd -s /bin/bash -d /home/rkeuser/ -m -G sudo rkeuser sudo passwd rkeuser sudo usermod -aG docker rkeuser
ssh-keygen -t rsa -C '[email protected]'ssh-copy-id [email protected] ssh-copy-id [email protected]
ssh [email protected] docker ps
sudo vi /etc/ssh/sshd_config: AllowTcpForwarding yes :
sudo systemctl reload sshd
wget https://github.com/rancher/rke/releases/download/v1.2.7/rke_linux-amd64 sudo mv rke_linux-amd64 /usr/local/bin/rke sudo chmod +x /usr/local/bin/rke rke --version
rke config --name cluster.ymlnodes:
- address: 10.20.0.35
port: "22"
internal_address: 10.20.0.35
role:
- controlplane
- worker
- etcd
hostname_override: ""
user: rkeuser
docker_socket: /var/run/docker.sock
ssh_key: ""
ssh_key_path: ~/.ssh/id_rsa
ssh_cert: ""
ssh_cert_path: ""
labels: {}
taints: []
- address: 10.20.0.37
port: "22"
internal_address: 10.20.0.37
role:
- worker
hostname_override: ""
user: rkeuser
docker_socket: /var/run/docker.sock
ssh_key: ""
ssh_key_path: ~/.ssh/id_rsa
ssh_cert: ""
ssh_cert_path: ""
labels: {}
taints: []
services:
etcd:
image: ""
:
:
rke up --config cluster.yml因為要下載一些 images 需要等一些時間才會完成, 最後應該可以看到類似以下的訊息
: INFO[0378] [addons] Executing deploy job rke-ingress-controller INFO[0405] [ingress] ingress controller nginx deployed successfully INFO[0405] [addons] Setting up user addons INFO[0405] [addons] no user addons defined INFO[0405] Finished building Kubernetes cluster successfully
$ ls -lt total 4476 -rw-r----- 1 localadmin localadmin 105805 Apr 7 19:18 cluster.rkestate -rw-r----- 1 localadmin localadmin 5381 Apr 7 19:13 kube_config_cluster.yml -rw-r----- 1 localadmin localadmin 5653 Apr 7 19:12 cluster.yml
cp kube_config_cluster.yml ~/.kube/config kubectl get nodes
如果沒問題應該會出現類似以下的訊息
$ kubectl get node NAME STATUS ROLES AGE VERSION 10.20.0.35 Ready controlplane,etcd,worker 7m52s v1.18.17 10.20.0.37 Ready worker 7m47s v1.18.17
rke up --update-only --config cluster.yml nodes:
- address: 10.20.0.35
port: "22"
internal_address: 10.20.0.35
role:
- controlplane
- worker
- etcd
hostname_override: ""
user: rkeuser
docker_socket: /var/run/docker.sock
ssh_key: ""
ssh_key_path: ~/.ssh/id_rsa
ssh_cert: ""
ssh_cert_path: ""
labels: {}
taints: []
- address: 10.20.0.36
port: "22"
internal_address: 10.20.0.36
role:
- worker
hostname_override: ""
user: rkeuser
docker_socket: /var/run/docker.sock
ssh_key: ""
ssh_key_path: ~/.ssh/id_rsa
ssh_cert: ""
ssh_cert_path: ""
labels: {}
taints: []
- address: 10.20.0.37
port: "22"
internal_address: 10.20.0.37
role:
- worker
hostname_override: ""
user: rkeuser
docker_socket: /var/run/docker.sock
ssh_key: ""
ssh_key_path: ~/.ssh/id_rsa
ssh_cert: ""
ssh_cert_path: ""
labels: {}
taints: []
services:
etcd:
:
:
rke up --update-only --config cluster.ymlrke remove --config cluster.yml