推薦個好用的安裝k8s的工具 https://github.com/easzlab/kubeasz
該工具基於二進位制方式部署 k8s, 利用 ansible-playbook 實現自動化
1.1 高可用架構圖
1.2 準備三臺虛擬機器 (2C/4G/30G,這裡配置只是做實驗用)
- 192.168.0.211 (master)
- 192.168.0.212 (master)
- 192.168.0.213 (node)
1.3 在其中一臺 master 節點安裝 ansible, 並配置到其他節點免密碼登入
Ubuntu 18.04 請執行以下命令
apt-get update && apt-get install -y python3-pip python -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple/ python -m pip install ansible==2.9.2 -i https://mirrors.aliyun.com/pypi/simple/ # 生成祕鑰 ssh-keygen -t rsa -b 2048 -N '' -f ~/.ssh/id_rsa # 配置免密登入 ssh-copy-id 192.168.0.211 ssh-copy-id 192.168.0.212 ssh-copy-id 192.168.0.213 # 測試連通性 ansible -i "192.168.0.211,192.168.0.212,192.168.0.213" all -m ping
1.4 克隆 kubeasz 工具
cd /etc/ git clone https://github.com/easzlab/kubeasz.git cd kubeasz git checkout 3.1.0
1.5 執行指令碼下載安裝包
./ezdown -D
1.6 建立叢集 (給叢集起個名字)
./ezctl new k8s-01
1.7 配置叢集節點
根據上一步的提示, 修改配置檔案
# 主要修改下面幾項 # vim /etc/kubeasz/clusters/k8s-01/hosts [etcd] 192.168.0.211 192.168.0.212 192.168.0.213 # master node(s) [kube_master] 192.168.0.211 192.168.0.212 # work node(s) [kube_node] 192.168.0.213 # vim /etc/kubeasz/clusters/k8s-01/config.yml # 我們選擇線上安裝, 需要的安裝包前面已經下載過了。這檔案不用修改
1.8 執行安裝命令
./ezctl setup k8s-01 all
1.9 驗證
kubectl get nodes kubectl get pods --all-namespaces kubectl get cs kubectl cluster-info
以上就是藉助工具 kubeasz 來安裝k8s叢集,該工具可以線上或離線安裝,不受網路環境的影響,十分方便。有興趣的話也試一下吧。