這篇文章主要講解了“怎么構(gòu)建生產(chǎn)環(huán)境可用的高可用kubernetes集群”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么構(gòu)建生產(chǎn)環(huán)境可用的高可用kubernetes集群”吧!
10年積累的做網(wǎng)站、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有鹽亭免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
[x] 支持任意節(jié)點的etcd集群自動構(gòu)建,且etcd集群使用安全證書,通過static pod方式啟動,這樣可以通過監(jiān)控pod來監(jiān)控etcd集群健康狀態(tài)
[x] 支持多master節(jié)點,允許任意一臺master宕機集群功能不受影響
[x] calico使用etcd集群,配置安全證書,網(wǎng)絡(luò)管控數(shù)據(jù)無單點故障
[x] 包含dashboard, heapster coreDNS addons, coreDNS雙副本,無單點故障
[x] 使用haproxy負載master節(jié)點,同樣是用static pod,這樣可通過統(tǒng)一監(jiān)控pod狀態(tài)來監(jiān)控haproxy是否健康
[x] haproxy節(jié)點使用keepalived提供虛擬IP,任意一個節(jié)點宕機虛擬IP可實現(xiàn)漂移,不影響node連接master
[x] node節(jié)點與kube-proxy配置使用虛擬IP
[ ] 集群健康檢測功能
[ ] promethus 監(jiān)控功能,一鍵安裝,無需配置
[ ] EFK 日志收集功能
[ ] 分布式HA模式,不用keepalived,減少集群構(gòu)建出錯概率,無VIP切換時間
[x] istio 微服務(wù)支持
針對后續(xù)高版本會有更多優(yōu)化
大概原理是為了減少大家搭建ansible和sealos的環(huán)境,客戶端的東西都放到docker里,把安裝包掛載到容器中,然后ansible腳本會把包分發(fā)到你在hosts文件中配置的所有服務(wù)器上
所以大概分成三步:
配置免密鑰,把docker里的公鑰分發(fā)給你所有的服務(wù)器
配置ansible playbook的hosts文件
執(zhí)行ansible
下面逐一說明:
找臺宿主機如你的PC,或者一臺服務(wù)器,把下載好的離線包拷貝到/data目錄,啟動sealos容器,把離線包掛載進去:
docker run --rm -v /data/kube1.12.0.tar.gz:/data/kube1.12.0.tar.gz -it -w /etc/ansible fanux/sealos:v1.12.0-beta bash
在容器里面執(zhí)行:
mkdir ~/.ssh cd ~/.ssh ssh-keygen -t rsa
ssh public key:
cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7fTirP9zPcx7wIjhsF+Dyu0A2sV5llC8jsmp/xtiyuJirE3mclpNEqgrzHC26f+ckfzwoE0HPU0wDPxbWFl3B0K89EwJSBsVZSZ0VLYnZp0u2JgwCLZzZzKfY0018yoqoL9KHz/68RpqtG2bWVf0/WSj+4hN7xTRpRTtXJHBOQRQBfqVSIcfMBSEnO15buUbDaLol/HvQd0YBrWwafQtMacmBlqDG0Z6/yeY4sTNRVRV2Uu5TeaHfzgYgmY9+Nxt***8Td6tgZtq7cVU//kSsbzkUzDSD8zsh8kPUm4yljT5tYM1cPFLGM4m/zqAjAZN2YaEdFckJFAQ7TWAK857d root@8682294b9464
這樣公鑰就生成了
cd ~/.ssh echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7fTirP9zPcx7wIjhsF+Dyu0A2sV5llC8jsmp/xtiyuJirE3mclpNEqgrzHC26f+ckfzwoE0HPU0wDPxbWFl3B0K89EwJSBsVZSZ0VLYnZp0u2JgwCLZzZzKfY0018yoqoL9KHz/68RpqtG2bWVf0/WSj+4hN7xTRpRTtXJHBOQRQBfqVSIcfMBSEnO15buUbDaLol/HvQd0YBrWwafQtMacmBlqDG0Z6/yeY4sTNRVRV2Uu5TeaHfzgYgmY9+Nxt***8Td6tgZtq7cVU//kSsbzkUzDSD8zsh8kPUm4yljT5tYM1cPFLGM4m/zqAjAZN2YaEdFckJFAQ7TWAK857d root@8682294b9464" >> authorized_keys
這樣公鑰分發(fā)工作完成了,所有的機器直接ssh無需輸入密碼即可登錄
Config your own hosts
# cd /etc/ansible # vim hosts
配置說明:
[k8s-master] 10.1.86.204 name=node01 order=1 role=master lb=MASTER lbname=lbmaster priority=100 10.1.86.205 name=node02 order=2 role=master lb=BACKUP lbname=lbbackup priority=80 10.1.86.206 name=node03 order=3 role=master [k8s-node] 10.1.86.207 name=node04 role=node [k8s-all:children] k8s-master k8s-node [all:vars] vip=10.1.86.209 # 同網(wǎng)段未被占用IP k8s_version=1.12.0 # kubernetes版本 ip_interface=eth.* etcd_crts=["ca-key.pem","ca.pem","client-key.pem","client.pem","member1-key.pem","member1.pem","server-key.pem","server.pem","ca.csr","client.csr","member1.csr","server.csr"] k8s_crts=["apiserver.crt","apiserver-kubelet-client.crt","ca.crt", "front-proxy-ca.key","front-proxy-client.key","sa.pub", "apiserver.key","apiserver-kubelet-client.key", "ca.key", "front-proxy-ca.crt", "front-proxy-client.crt" , "sa.key"]
注意role=master的會裝etcd與kubernetes控制節(jié)點,role=node即k8s node節(jié)點,配置比較簡單,除了改IP和版本,其它基本不用動
# ansible-playbook roles/install-all.yaml
# ansible-playbook roles/uninstall-all.yaml
感謝各位的閱讀,以上就是“怎么構(gòu)建生產(chǎn)環(huán)境可用的高可用kubernetes集群”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么構(gòu)建生產(chǎn)環(huán)境可用的高可用kubernetes集群這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
當(dāng)前名稱:怎么構(gòu)建生產(chǎn)環(huán)境可用的高可用kubernetes集群
文章鏈接:http://aaarwkj.com/article40/jejceo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、做網(wǎng)站、品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)