在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

淺談Kubernetes集群的高可用方案

大小:0.4 MB 人氣: 2017-10-11 需要積分:1
 Kubernetes作為容器應(yīng)用的管理中心,通過(guò)對(duì)Pod的數(shù)量進(jìn)行監(jiān)控,并且根據(jù)主機(jī)或容器失效的狀態(tài)將新的Pod調(diào)度到其他Node上,實(shí)現(xiàn)了應(yīng)用層的高可用性。針對(duì)Kubernetes集群,高可用性還應(yīng)包含以下兩個(gè)層面的考慮:etcd數(shù)據(jù)存儲(chǔ)的高可用性和Kubernetes Master組件的高可用性。本文節(jié)選自龔正等所著的《kubernetes權(quán)威指南》。
  1.etcd高可用性方案
  etcd在整個(gè)Kubernetes集群中處于中心數(shù)據(jù)庫(kù)的地位,為保證Kubernetes集群的高可用性,首先需要保證數(shù)據(jù)庫(kù)不是單故障點(diǎn)。一方面,etcd需要以集群的方式進(jìn)行部署,以實(shí)現(xiàn)etcd數(shù)據(jù)存儲(chǔ)的冗余、備份與高可用性;另一方面,etcd存儲(chǔ)的數(shù)據(jù)本身也應(yīng)考慮使用可靠的存儲(chǔ)設(shè)備。
  etcd集群的部署可以使用靜態(tài)配置,也可以通過(guò)etcd提供的REST API在運(yùn)行時(shí)動(dòng)態(tài)添加、修改或刪除集群中的成員。本節(jié)將對(duì)etcd集群的靜態(tài)配置進(jìn)行說(shuō)明。關(guān)于動(dòng)態(tài)修改的操作方法請(qǐng)參考etcd官方文檔的說(shuō)明。
  首先,規(guī)劃一個(gè)至少3臺(tái)服務(wù)器(節(jié)點(diǎn))的etcd集群,在每臺(tái)服務(wù)器上安裝好etcd。
  部署一個(gè)由3臺(tái)服務(wù)器組成的etcd集群,其配置如表4.10所示,其集群部署實(shí)例如圖4.2所示。
  淺談Kubernetes集群的高可用方案
  淺談Kubernetes集群的高可用方案
  圖4.2 etcd集群部署實(shí)例
  然后修改每臺(tái)服務(wù)器上etcd的配置文件/etc/etcd/etcd.conf。
  以etcd1為創(chuàng)建集群的實(shí)例,需要將其ETCD_INITIAL_CLUSTER_STATE設(shè)置為“new”。etcd1的完整配置如下:
  # [member]ETCD_NAME=etcd1 #etcd實(shí)例名稱ETCD_DATA_DIR="/var/lib/etcd/etcd1" #etcd數(shù)據(jù)保存目錄ETCD_LISTEN_PEER_URLS="http://10.0.0.1:2380" #集群內(nèi)部通信使用的URLETCD_LISTEN_CLIENT_URLS="http://10.0.0.1:2379" #供外部客戶端使用的URL…… #[cluster]ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.1:2380" #廣播給集群內(nèi)其他成員使用的URLETCD_INITIAL_CLUSTER="etcd1=http://10.0.0.1:2380,etcd2=http://10.0.0.2:2380, etcd3=http://10.0.0.3:2380" #初始集群成員列表ETCD_INITIAL_CLUSTER_STATE="new" #初始集群狀態(tài),new為新建集群ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" #集群名稱ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.1:2379" #廣播給外部客戶端使用的URL
  啟動(dòng)etcd1服務(wù)器上的etcd服務(wù):
  $ systemctl restart etcd
  啟動(dòng)完成后,就創(chuàng)建了一個(gè)名為etcd-cluster的集群。
  etcd2和etcd3為加入etcd-cluster集群的實(shí)例,需要將其ETCD_INITIAL_CLUSTER_STATE設(shè)置為“exist”。etcd2的完整配置如下(etcd3的配置略):
  # [member]ETCD_NAME=etcd2 #etcd實(shí)例名稱ETCD_DATA_DIR="/var/lib/etcd/etcd2" #etcd數(shù)據(jù)保存目錄ETCD_LISTEN_PEER_URLS="http://10.0.0.2:2380" #集群內(nèi)部通信使用的URLETCD_LISTEN_CLIENT_URLS="http://10.0.0.2:2379" #供外部客戶端使用的URL…… #[cluster]ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.2:2380" #廣播給集群內(nèi)其他成員使用的URLETCD_INITIAL_CLUSTER="etcd1=http://10.0.0.1:2380,etcd2=http://10.0.0.2:2380,etcd3=http://10.0.0.3:2380" #初始集群成員列表ETCD_INITIAL_CLUSTER_STATE="exist" # existing表示加入已存在的集群ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" #集群名稱ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.2:2379" #廣播給外部客戶端使用的URL
  啟動(dòng)etcd2和etcd3服務(wù)器上的etcd服務(wù):
  $ systemctl restart etcd
  啟動(dòng)完成后,在任意etcd節(jié)點(diǎn)執(zhí)行etcdctl cluster-health命令來(lái)查詢集群的運(yùn)行狀態(tài):
  $ etcdctl cluster-health clusterishealthy member ce2a822cea30bfca ishealthy member acda82ba1cf790fc ishealthy member eba209cd0012cd2 ishealthy
  在任意etcd節(jié)點(diǎn)上執(zhí)行etcdctl member list命令來(lái)查詢集群的成員列表:
  $ etcdctl member list ce2a822cea30bfca: name=default peerURLs=http://10.0.0.1:2380,http://10.0.0.1: 7001clientURLs=http://10.0.0.1:2379,http://10.0.0.1:4001acda82ba1cf790fc: name=default peerURLs=http://10.0.0.2:2380,http://10.0.0.2: 7001clientURLs=http://10.0.0.2:2379,http://10.0.0.2:4001eba209cd40012cd2: name=default peerURLs=http://10.0.0.3:2380,http://10.0.0.3: 7001clientURLs=http://10.0.0.3:2379,http://10.0.0.3:4001
  至此,一個(gè)etcd集群就創(chuàng)建成功了。
  以kube-apiserver為例,將訪問(wèn)etcd集群的參數(shù)設(shè)置為:
  --etcd-servers=http://10.0.0.1:4001,http://10.0.0.2:4001,http://10.0.0.3:4001
  在etcd集群成功啟動(dòng)之后,如果需要對(duì)集群成員進(jìn)行修改,則請(qǐng)參考官方文檔的詳細(xì)說(shuō)明:
  對(duì)于etcd中需要保存的數(shù)據(jù)的可靠性,可以考慮使用RAID磁盤陣列、高性能存儲(chǔ)設(shè)備、NFS網(wǎng)絡(luò)文件系統(tǒng),或者使用云服務(wù)商提供的網(wǎng)盤系統(tǒng)等來(lái)實(shí)現(xiàn)。
  2. Kubernetes Master組件的高可用性方案
  在Kubernetes體系中,Master服務(wù)扮演著總控中心的角色,主要的三個(gè)服務(wù)kube-apiserver、kube-controller-mansger和kube-scheduler通過(guò)不斷與工作節(jié)點(diǎn)上的Kubelet和kube-proxy進(jìn)行通信來(lái)維護(hù)整個(gè)集群的健康工作狀態(tài)。如果Master的服務(wù)無(wú)法訪問(wèn)到某個(gè)Node,則會(huì)將該Node標(biāo)記為不可用,不再向其調(diào)度新建的Pod。但對(duì)Master自身則需要進(jìn)行額外的監(jiān)控,使Master不成為集群的單故障點(diǎn),所以對(duì)Master服務(wù)也需要進(jìn)行高可用方式的部署。
  以Master的kube-apiserver、kube-controller-mansger和kube-scheduler三個(gè)服務(wù)作為一個(gè)部署單元,類似于etcd集群的典型部署配置。使用至少三臺(tái)服務(wù)器安裝Master服務(wù),并且使用Active-Standby-Standby模式,保證任何時(shí)候總有一套Master能夠正常工作。
  所有工作節(jié)點(diǎn)上的Kubelet和kube-proxy服務(wù)則需要訪問(wèn)Master集群的統(tǒng)一訪問(wèn)入口地址,例如可以使用pacemaker等工具來(lái)實(shí)現(xiàn)。圖4.3展示了一種典型的部署方式。
  淺談Kubernetes集群的高可用方案
  圖4.3 Kubernetes Master高可用部署架構(gòu)
?

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 国产伦精品一区二区三区女 | 日本不卡一区在线 | 欧美一二区视频 | 男人在线资源 | 亚洲福利视频一区 | 精品国产你懂的在线观看 | 天堂资源在线观看 | 男人的亚洲天堂 | 日本欧美一区二区免费视 | a级精品九九九大片免费看 a级毛毛片看久久 | 色噜噜狠狠成人中文小说 | 男女一进一出无遮挡黄 | www色午夜| 亚洲黄色第一页 | 毛片在线网 | 天堂中文在线免费观看 | 日本www.色 | 男男h啪肉np文总受 男男h全肉耽污 | 色婷婷综合激情 | 一区二区中文字幕亚洲精品 | 色偷偷91综合久久噜噜 | 色天使在线播放 | 日本特黄特色特爽大片老鸭 | 久操中文 | 美女免费观看一区二区三区 | 国产免费高清视频在线观看不卡 | 精品在线一区二区三区 | 国产专区视频 | 亚洲美女视频在线观看 | 国产视频每日更新 | 亚洲色图综合在线 | 日韩特黄特色大片免费视频 | 婷婷五月天.com | 天堂伊人| 天天草天天草 | 米奇精品一区二区三区 | 加勒比一区二区三区 | 天天骑夜夜操 | 永久手机看片福利盒子 | 中文字幕精品一区 | 亚洲日本三级 |