二進位制方式安裝 k8s

運維工作棧 發表於 2021-07-26
k8s

推薦個好用的安裝k8s的工具 https://github.com/easzlab/kubeasz

該工具基於二進位制方式部署 k8s, 利用 ansible-playbook 實現自動化
  
1.1 高可用架構圖

 二進位制方式安裝 k8s

  

 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

二進位制方式安裝 k8s

  

以上就是藉助工具 kubeasz 來安裝k8s叢集,該工具可以線上或離線安裝,不受網路環境的影響,十分方便。有興趣的話也試一下吧。