離線安裝k8s1 5高可用集群

2021-12-29 19:47:57 字數 1529 閱讀 2564

經常遇到全新初始安裝k8s集群的問題,所以想著搞成離線模式,本著最小依賴原則,採用純shell指令碼編寫

基於centos7-1503-minimal執行指令碼測試ok, 預設安裝docker1.12.3 etcd-v3.0.15 k8s-v1.5.1

本離線安裝所有的依賴都打包放到了百度網盤,不放心安全的,可自行打包替換,就是些映象tar包和rpms

簡要說明

下圖是官方ha模型,除了lb部分是用的keepalived的vip功能, 此專案和官方基本一致

離線安裝的基本思路是,在k8s-deploy目錄下,臨時啟個http server, 節點上會從此拉取所依賴映象和rpms

windows上可以用hfs臨時啟個http server, 自行google如何使用

執行以下命令,初始化master, master側如果是單核的話,會因資源不足, dns安裝失敗。

curl -l | bash -s master \

--api-advertise-addresses=192.168.56.103 \

--external-etcd-endpoints=

在replica master側執行下面的命令,會自動和第乙個master組成冗餘

最好和第乙個master建立免秘鑰認證,此過程需要從master那裡拷貝配置

curl -l | bash -s replica \

--api-advertise-addresses=192.168.56.103 \

--external-etcd-endpoints=

重複上面的步驟之後,會有乙個3例項的ha集群,執行下面命令的時候可關閉第乙個master,以驗證高可用

while true; do kubectl get po -n kube-system; sleep 1; done視自己的情況而定, 使用第乙個master側生成的token, 注意這裡的56.103是你的vip位址

curl -l | bash -s join --token=6c96b6.ca1d13745c237904 192.168.56.103

token=$(kubectl describe secret $(kubectl get secrets | grep default | cut -f1 -d ' ') | grep -e '^token' | cut -f2 -d':' | tr -d '\t')

curl -k --tlsv1 -h "authorization: bearer $token"

當然也可以通過更改apiserver的啟動引數來開啟匿名訪問,自行google

1.5 與 1.3給我感覺最大的變化是網路部分, 1.5啟用了cni網路外掛程式 不需要像以前一樣非要把flannel和docker綁在一起了(先啟flannel才能啟docker)。

k8s教程(二) 高可用安裝

參考文件 參考文件 csdn 初試 kubernetes 暴漏服務型別之 nginx ingress k8s 部署 ingress nginx 一 原理及搭建 這個其實和前乙個步驟差不多,但是會多幾個有關負載均衡的步驟 如在初始化api server的時候布置負載均衡,以及在ingress cont...

k8s 高可用配置

多master nginx keepalived配置完成後。需要修改node連線apiserver位址 1 在每一台node節點中修改 root linux node2 cfg pwd opt kubernetes cfg 修改一下配置檔案位址我的虛擬vip192.168.56.17 bootstr...

K8S 集群安裝

1 作業系統 centos 7.4 2 主機資訊 k8smaster主機 kb master 001 192.168 0.11 kb master 002 192.168 0.12 kb master 003 192.168 0.13 k8snode主機 kb node 001 192.168 0....