一文學會k8s多master集群+keepalived高可用實戰

一、概述

Apiserver是 kubernetes 集群交互的入口,封裝了核心對象的增刪改查操作,提供了 RESTFul 風格的 API 接口,通過etcd來實現持久化并維護對象的一致性。所以在整個K8S集群中,Apiserver服務至關重要,一旦宕機,整個K8S平臺將無法使用,所以保障企業高可用是運維必備的工作之一。

二、安裝keepalived

1.安裝keepalived

yum install keepalived.x86_64

2.修改配置

cd /etc/keepalived/
vi keepalived.conf
  • 修改master1配置文件keepalived.conf
global_defs {
 router_id keepalive-master
}

vrrp_script check_apiserver {
 # 檢測腳本路徑
 script "/etc/keepalived/check-apiserver.sh"
 # 多少秒檢測一次
 interval 3
 # 失敗的話權重-2
 weight -2
}

vrrp_instance VI-kube-master {
   state MASTER  # 定義節點角色
   interface eth0 # 網卡名稱
   virtual_router_id 68
   priority 100
   dont_track_primary
   advert_int 3
   virtual_ipaddress {
     # 自定義虛擬ip
     192.168.1.199
   }
   track_script {
       check_apiserver
   }
}
  • 修改master2配置文件keepalived.conf
global_defs {
 router_id keepalive-master
}

vrrp_script check_apiserver {
 # 檢測腳本路徑
 script "/etc/keepalived/check-apiserver.sh"
 # 多少秒檢測一次
 interval 3
 # 失敗的話權重-2
 weight -2
}

vrrp_instance VI-kube-master {
   state BACKUP  # 定義節點角色
   interface eth0  # 網卡名稱
   virtual_router_id 68
   priority 99
   dont_track_primary
   advert_int 3
   virtual_ipaddress {
     # 自定義虛擬ip
     192.168.1.199
   }
   track_script {
       check_apiserver
   }
}
  • 修改master3配置文件keepalived.conf
global_defs {
 router_id keepalive-master
}

vrrp_script check_apiserver {
 # 檢測腳本路徑
 script "/etc/keepalived/check-apiserver.sh"
 # 多少秒檢測一次
 interval 3
 # 失敗的話權重-2
 weight -2
}

vrrp_instance VI-kube-master {
   state BACKUP  # 定義節點角色
   interface eth0  # 網卡名稱
   virtual_router_id 68
   priority 99
   dont_track_primary
   advert_int 3
   virtual_ipaddress {
     # 自定義虛擬ip
     192.168.1.199
   }
   track_script {
       check_apiserver
   }
}

3.重啟keepalived

systemctl start keepalived.service

systemctl status keepalived.service
虛擬vip出現在網卡上
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容