如何使用kubeadm安裝kubernetes(K8S)——2.搭建高可用集羣

=>返回首頁<=

二. 搭建高可用集羣

1. 部署keepalived - apiserver高可用(任選兩個master節點)

重要:如果是雲環境,一般不支持自定義虛擬ip。這一步可以跳過了。下面所有用到虛擬ip的地方設置爲其中某一臺master的ip即可。

1.1 安裝keepalived

# 在兩個主節點上安裝keepalived(一主一備)
$ yum install -y keepalived

1.2 創建keepalived配置文件

# 創建目錄
$ ssh <user>@<master-ip> "mkdir -p /etc/keepalived"
$ ssh <user>@<backup-ip> "mkdir -p /etc/keepalived"

# 分發配置文件
$ scp target/configs/keepalived-master.conf <user>@<master-ip>:/etc/keepalived/keepalived.conf
$ scp target/configs/keepalived-backup.conf <user>@<backup-ip>:/etc/keepalived/keepalived.conf

# 分發監測腳本
$ scp target/scripts/check-apiserver.sh <user>@<master-ip>:/etc/keepalived/
$ scp target/scripts/check-apiserver.sh <user>@<backup-ip>:/etc/keepalived/

1.3 啓動keepalived

# 分別在master和backup上啓動服務
$ systemctl enable keepalived && service keepalived start

# 檢查狀態
$ service keepalived status

# 查看日誌
$ journalctl -f -u keepalived

# 查看虛擬ip
$ ip a

2. 部署第一個主節點

# 準備配置文件
$ scp target/configs/kubeadm-config.yaml <user>@<node-ip>:~
# ssh到第一個主節點,執行kubeadm初始化系統(注意保存最後打印的加入集羣的命令)
$ kubeadm init --config=kubeadm-config.yaml --experimental-upload-certs

# copy kubectl配置(上一步會有提示)
$ mkdir -p ~/.kube
$ cp -i /etc/kubernetes/admin.conf ~/.kube/config

# 測試一下kubectl
$ kubectl get pods --all-namespaces

# **備份init打印的join命令**

3. 部署網絡插件 - calico

我們使用calico官方的安裝方式來部署。

# 創建目錄(在配置了kubectl的節點上執行)
$ mkdir -p /etc/kubernetes/addons

# 上傳calico配置到配置好kubectl的節點(一個節點即可)
$ scp target/addons/calico* <user>@<node-ip>:/etc/kubernetes/addons/

# 部署calico
$ kubectl apply -f /etc/kubernetes/addons/calico-rbac-kdd.yaml
$ kubectl apply -f /etc/kubernetes/addons/calico.yaml

# 查看狀態
$ kubectl get pods -n kube-system

4. 加入其它master節點

# 使用之前保存的join命令加入集羣
$ kubeadm join ...

# 耐心等待一會,並觀察日誌
$ journalctl -f

# 查看集羣狀態
# 1.查看節點
$ kubectl get nodes
# 2.查看pods
$ kubectl get pods --all-namespaces

5. 加入worker節點

# 使用之前保存的join命令加入集羣
$ kubeadm join ...

# 耐心等待一會,並觀察日誌
$ journalctl -f

# 查看節點
$ kubectl get nodes
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章