推薦個好用的安裝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集群,該工具可以在線或離線安裝,不受網絡環境的影響,十分方便。有興趣的話也試一下吧。
