測試 Rancher 佈署 K8S
- 主機共四台 : Ubuntu 18.04.5
- 統一使用者為 localadmin , 並更到最新版
sudo useradd -s /bin/bash -d /home/localadmin/ -m -G sudo localadmin sudo passwd localadmin sudo -i apt-get update apt upgrade reboot
- 安裝 Docker
sudo apt install docker.io
- 更改 Node Hostname
sudo vi /etc/cloud/cloud.cfg
: preserve_hostname: true :
Exp. 第一台: pve-dev1
hostnamectl set-hostname pve-dev1
- 更改 Node IP, Exp. 第一台:192.168.11.204
sudo vi /etc/netplan/00-installer-config.yaml
network: ethernets: ens18: addresses: [192.168.11.204/24] gateway4: 192.168.11.1 nameservers: addresses: [8.8.8.8,8.8.4.4] dhcp4: no version: 2
- 重新開機讓 hostname 與 IP 生效
sudo reboot
- 如果要 IP 立即生效可以使用以下語法
sudo netplan apply
- 如果要測試更改 IP 是否正常, 120 秒自動改回, 可使用以下語法
sudo netplan try
安裝 Rancher Cluster 環境
- 安裝程序
WORK_DIR=/home/localadmin mkdir $WORK_DIR/rancher chmod 755 $WORK_DIR/rancher sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v $WORK_DIR/rancher:/var/lib/rancher rancher/rancher
- 使用 Web 介面產生針對 Node2-N 的 docker 命令來進行 K8S 環境建立 Exp. http://192.168.11.204
- 設定 admin 密碼
- 確認 Rancher 之後網址 (讓之後 Node2-N 可以使用)
- Add Cluster → From existing nodes → 設定 Cluster 名稱 Exp. MyDevOps → Next → Node Role [V]etcd [V]Control Plane [V]Worker
- 複製底下 Docker 語法 Exp.
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.7 --server https://192.168.11.204 --token krbkc4knrj.......................................frzt --ca-checksum 009caed0ea.......................................9bb3c2cca13e1f --etcd --controlplane --worker
- 至 Node2-N 執行上面 Docker 語法
開始使用 Rancher 環境
- Node1 安裝 kubectl
sudo snap install kubectl --classic kubectl version --client
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.0", GitCommit:"e19964183377d0ec2052d1f1fa930c4d7575bd50", GitTreeState:"clean", BuildDate:"2020-09-30T19:31:27Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
- 建立 ~/.kube/config 設定檔
- 將內容複製貼入 ~/.kube/config
- 執行
kubectl get all
應該可以出現類似以下畫面
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 19h