在Kubernetes系統中,Master節點扮演着總控中心的角色,通過不間斷地與各個工作節點(Node)通信來維護整個集羣的健康工作狀態,集羣中各資源對象的狀態則被保存在etcd數據庫中。
在正式環境中應確保Master的高可用,並啓用安全訪問機制,至少包括以下幾方面。
- Master的
kube-apiserver
、kube-controller-mansger
和kube-scheduler
服務至少以3個節點的多實例方式部署 - Master啓用基於CA認證的HTTPS安全機制
- Master啓用RBAC授權模式
- etcd至少以3個節點的集羣模式部署
- etcd集羣啓用基於CA認證的HTTPS安全機制
Master的高可用部署架構如下圖所示:
在Master的3個節點之前,應通過一個負載均衡器提供對客戶端的唯一訪問入口地址。
負載均衡器以HAProxy搭配Keepalived進行配置。
3臺主機的IP地址分別爲192.168.3.135
、192.168.3.136
、192.168.3.137
,負載均衡器使用的VIP爲192.168.3.100
。
當然,爲了保證Master的高可用,同時也需要確保etcd是高可用的。