真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何部署高可用kubernetes集群

本篇內(nèi)容介紹了“如何部署高可用kubernetes集群”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)福綿免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

kube-apiserver 的高可用配置

apiserver 本身是無狀態(tài)的,可以橫向擴(kuò)展,其借助外部負(fù)載均衡軟件配置高可用也相對(duì)容易,實(shí)現(xiàn)方案比較多,但一般會(huì)采用外部組件 LVS 或 HAProxy 的方式實(shí)現(xiàn),我們生產(chǎn)環(huán)境是通過 LVS 實(shí)現(xiàn)的。apiserver 的高可用可以分為集群外高可用和集群內(nèi)高可用。集群外高可用指對(duì)于直接調(diào)用 k8s API 的外部用戶(例如 kubectl 、kubelet),客戶端需要調(diào)用 apiserver 的 VIP 以達(dá)到高可用,此處 LVS 的部署以及 VIP 的配置不再詳細(xì)說明。

集群內(nèi)的高可用配置是指對(duì)于部署到集群中的 pod 訪問 kubernetes,kubernetes 集群創(chuàng)建完成后默認(rèn)會(huì)啟動(dòng)一個(gè)kubernetes的 service 供集群內(nèi)的 pod 訪問,service 的 ClusterIP 默認(rèn)值為 172.0.0.1 ,每一個(gè) service 對(duì)象生成時(shí),都會(huì)生成一個(gè)用于暴露該對(duì)象后端對(duì)應(yīng) pod 的對(duì)象 endpoints,endpoints 中可以看到 apiserver 的實(shí)例。訪問 kubernetes 的 service,service 會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到 endpoints 中的 ip 上,此時(shí)若 service 中的 endpoints 中沒有 IP,則表示 apiserver 無法訪問。

$ kubectl get svc kubernetes
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   172.0.0.1            443/TCP   21d

$ kubectl get endpoints kubernetes
NAME         ENDPOINTS                       AGE
kubernetes   10.0.2.15:6443, 10.0.2.16:6443  21d
 

kubernetes v1.9 之前 kube-apiserver service 的高可用也就是 master ip 要加入到 kubernetes service 的 endpoints 中必須要在參數(shù)中指定 --apiserver-count 的值,v1.9 出現(xiàn)了另外一個(gè)參數(shù) --endpoint-reconciler-type 要取代以前的 --apiserver-count,但是此時(shí)該參數(shù)默認(rèn)是禁用的(Alpha 版本),v1.10 也是默認(rèn)禁用的。v1.11 中 --endpoint-reconciler-type 參數(shù)默認(rèn)開啟了,默認(rèn)值是 lease。--apiserver-count 參數(shù)會(huì)在 v1.13 中被移除。v1.11 和 v1.12 中還可以使用 --apiserver-count,但前提是需要設(shè)置 --endpoint-reconciler-type=master-count。也就是說在 v1.11 以及之后的版本中 apiserver 中不需要進(jìn)行配置了,啟用了幾個(gè) apiserver 實(shí)例默認(rèn)都會(huì)加到 對(duì)應(yīng)的 endpoints 中。

 

kube-controller-manager 和 kube-scheduler 的高可用配置

kube-controller-manager 和 kube-scheduler 是由 leader election 實(shí)現(xiàn)高可用的,通過向 apiserver 中的 endpoint 加鎖的方式來進(jìn)行 leader election, 啟用 leader election 需要在組件的配置中加入以下幾個(gè)參數(shù):

 --leader-elect=true
 --leader-elect-lease-duration=15s
 --leader-elect-renew-deadline=10s
 --leader-elect-resource-lock=endpoints
 --leader-elect-retry-period=2s
 

組件當(dāng)前的 leader 會(huì)寫在 endpoints 的 holderIdentity 字段中, 使用以下命令查看組件當(dāng)前的 leader:

$ kubectl get endpoints kube-controller-manager --namespace=kube-system -o yaml

$ kubectl get endpoints kube-scheduler --namespace=kube-system -o yaml
 

關(guān)于 kube-controller-manager 和 kube-scheduler 高可用的實(shí)現(xiàn)細(xì)節(jié)可以參考之前寫的一篇文章:kubernets 中組件高可用的實(shí)現(xiàn)方式。

 

etcd 的高可用配置

etcd 是一個(gè)分布式集群,也是一個(gè)有狀態(tài)的服務(wù),其天生就是高可用的架構(gòu)。為了防止 etcd 腦裂,其組成 etcd 集群的個(gè)數(shù)一般為奇數(shù)個(gè)(3 或 5 個(gè)節(jié)點(diǎn)) 。若使用物理機(jī)搭建 k8s 集群,理論上集群的規(guī)模也會(huì)比較大,此時(shí) etcd 也應(yīng)該使用 3 個(gè)或者5 個(gè)節(jié)點(diǎn)部署一套獨(dú)立運(yùn)行的集群。若想要對(duì) etcd 做到自動(dòng)化運(yùn)維,可以考慮使用 etcd-operator 將 etcd 集群部署在 k8s 中。

kubernetes 中組件高可用部署的一個(gè)架構(gòu)圖

如何部署高可用kubernetes集群


    

總結(jié)

本文主要介紹如何配置一個(gè)高可用 kubernetes 集群,kubernetes 新版本已經(jīng)越來越趨近全面 TLS + RBAC 配置,若 kubernetes 集群還在使用 8080 端口,此時(shí)每個(gè) master 節(jié)點(diǎn)上的 kube-controller-manager 和 kube-scheduler 都是通過 8080 端口連接 apiserver,若節(jié)點(diǎn)上的 apiserver 掛掉,則 kube-controller-manager 和 kube-scheduler 也會(huì)隨之掛掉。apiserver 作為集群的核心組件,其必須高可用部署,其他組件實(shí)現(xiàn)高可用相對(duì)容易。

“如何部署高可用kubernetes集群”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


當(dāng)前文章:如何部署高可用kubernetes集群
網(wǎng)頁鏈接:http://weahome.cn/article/ieghcd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部