國內安裝k3s
1、安裝master
export INSTALL_K3S_EXEC="--docker --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"
curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
命令參數解釋:
- INSTALL_K3S_EXEC="(略)"效果為啟動k3s服務時使用的額外參數。
- --docker :效果為使用docker而不是默認的containerd。
- --write-kubeconfig-mode 666 :效果為將配置文件權限改為非所有者也可讀可寫,進而使kubectl命令無需root或sudo。
- --write-kubeconfig ~/.kube/config :效果為將配置文件寫到k8s默認會用的位置,而不是k3s默認的位置/etc/rancher/k3s/k3s.yaml。后者會導致istio、helm需要額外設置或無法運行。
2、安裝rancher圖形界面
sudo docker run -d --name=rancher2 --restart=unless-stopped -p 9080:80 -p 9443:443 rancher/rancher:stable
通過http://<ip>:9080訪問圖形界面。
(注意:127.0.0.1:9080和localhost:9080不建議,可能會造成resolv.conf中的域名解析失敗,K3S中使用CoreDNS作為域名發現,在后面rancher界面中導入k3s集群出現cattle-system命名空間下的pod處於CrashLoopBackOff 狀態);
新建集群選擇導入集群,選擇三個命令框中的最后一個復制粘貼,在bash中執行粘貼的命令。
執行命令檢查是否成功:k3s kubectl get node
3、安裝agent
從master獲取K3S_URL和K3S_TOKEN
1、查看master主機IP,(注意:master主機和work主機可以通信。)命令如下:
k3s_url="https://192.168.56.1:6443"
2、查看k3s_token,
執行下列命令得到到一串字符。
cat /var/lib/rancher/k3s/server/node-token
復制粘貼成如下形式,得到K3S_TOKEN
k3s_token="K1045d99099808b2be724d058e093979aef001a6fa729971debf2b27f6598e78ab7::server:1ebb67ca054be143acb9dce99c7b70dd"
3、得到如下agent命令行,在work主機中執行
curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=${k3s_url} K3S_TOKEN=${k3s_token} sh -
