999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Kubernetes和Docker技 術(shù)的企業(yè)級容器云平臺解決方案

2018-10-20 06:57:00王駿翔
關(guān)鍵詞:服務(wù)管理

王駿翔, 郭 磊

(中遠(yuǎn)海運科技股份有限公司,上海200135)

0 引 言

隨著IaaS(Infrastructure-as-a-Service)基礎(chǔ)架構(gòu)層的服務(wù)器虛擬化技術(shù)不斷發(fā)展,如何進(jìn)一步對傳統(tǒng)服務(wù)資源進(jìn)行有效整合和再利用得到廣泛關(guān)注和深入研究。隨著企業(yè)級微服務(wù)應(yīng)用迅速發(fā)展,Containers容器技術(shù)雖然會在一定程度上模糊IaaS基礎(chǔ)設(shè)施即服務(wù)與PaaS(Platform-as-a-Service)平臺即服務(wù)之間的界限,但能大大提升傳統(tǒng)虛擬化和物理環(huán)境上的工作效率。由此,容器云被提出并得以實現(xiàn)。

目前,主流的微服務(wù)架構(gòu)技術(shù)方案都采用Docker容器技術(shù)。Docker是一個開源的應(yīng)用容器引擎,能極大程度地消除開發(fā)環(huán)境與運維環(huán)境的差異,便于進(jìn)行版本管理和持續(xù)交付,使開發(fā)者既能將其應(yīng)用和依賴包打包到一個可移植的容器中,并發(fā)布到任何流行的機器上,又可實現(xiàn)虛擬化。Docker的一些特性(如隔離、物理機制等)與微服務(wù)架構(gòu)有著天然的契合度,因此成為構(gòu)建容器云服務(wù)平臺的基礎(chǔ)。

對于大型企業(yè)而言,迫切需要構(gòu)建一套具備高可用性、高性能、高安全性和易擴展性的容器云服務(wù)平臺,用于承載微服務(wù)系統(tǒng)的應(yīng)用,而僅依靠Docker容器技術(shù)無法完全滿足該要求。因此,業(yè)界一些開源項目開始不斷涌現(xiàn)、發(fā)展和狀大,自我定位在服務(wù)編排和部署工具之上、傳統(tǒng)的PaaS平臺之下,在功能上既保證容器群集的高效編排和運維,又提供恰當(dāng)?shù)钠脚_層服務(wù),為系統(tǒng)研發(fā)人員和運維人員提供更大的發(fā)揮空間,如Docker Swarm、Google Kubernetes和Mesos/Marathon。

Kubernetes是由Google提出的一種全新的基于容器技術(shù)的分布式架構(gòu)方案,與Docker Swarm和Mesos相比,具有更完備的群集管理能力,包括多層次的安全防護(hù)和準(zhǔn)入機制、多租戶應(yīng)用支撐能力、透明的服務(wù)注冊和服務(wù)發(fā)現(xiàn)機制、內(nèi)建智能負(fù)載均衡器、強大的故障發(fā)現(xiàn)和自我修復(fù)能力、服務(wù)滾動升級和在線擴容能力、可擴展的資源自動調(diào)度機制及多顆粒度的資源配合管理能力。鑒于Kubernetes有Google強大的開源支撐和成功應(yīng)用的案例,基于Kubernetes和Docker構(gòu)建容器云服務(wù)平臺是大型企業(yè)構(gòu)建生產(chǎn)環(huán)境容器云服務(wù)平臺的較優(yōu)選擇之一。

1 容器云服務(wù)的需求與價值

1.1 Docker容器技術(shù)的發(fā)展趨勢[1]

某大型集團企業(yè)已利用虛擬化技術(shù)實現(xiàn)內(nèi)部私有云IaaS平臺的建設(shè),云計算虛擬化技術(shù)已給該企業(yè)帶來服務(wù)器運算資源集中、應(yīng)用開發(fā)速度提升、運維成本下降和系統(tǒng)穩(wěn)定性提高等顯著成效。同時,隨著微服務(wù)應(yīng)用的迅速發(fā)展及容器技術(shù)的逐漸成熟和廣泛應(yīng)用,該企業(yè)開始利用Docker容器技術(shù)對效率和穩(wěn)定性的進(jìn)一步提升進(jìn)行探索實踐——通過用輕量級的Docker Engine取代原有重復(fù)的虛擬化層(Hypervisor)和系統(tǒng)服務(wù)層(Guest OS),更靈活、高效地利用Linux Namespaces和Cgroups技術(shù)為應(yīng)用程序提供隔離性高、安全靈活的運行空間和運行資源(見圖1)。

圖1 Docker容器技術(shù)與傳統(tǒng)虛擬化技術(shù)架構(gòu)對比

應(yīng)用Docker容器技術(shù)給該企業(yè)的信息化建設(shè)帶來的好處包括:持續(xù)部署與測試;跨云平臺支持;環(huán)境標(biāo)準(zhǔn)化和版本控制;高資源利用率與隔離;容器跨平臺性與鏡像;易于理解和應(yīng)用;應(yīng)用鏡像倉庫。

1.2 微服務(wù)的價值與意義

微服務(wù)是開發(fā)一種單純、小型、有意義的功能作為一項單一服務(wù)。通過微服務(wù)能將功能分解到離散的各服務(wù)中去,降低系統(tǒng)的耦合性,提供更加靈活的服務(wù)支持。微服務(wù)的優(yōu)點包括:

1)體量小,用于實現(xiàn)一種特定的功能或業(yè)務(wù)需求;

2)可由一個小的開發(fā)組獨立完成開發(fā);

3)松耦合,服務(wù)之間可獨立進(jìn)行開發(fā)和部署;

4)可用不同的語言開發(fā);

5)可通過持續(xù)集成工具,便捷地自動集成部署;

6)易于理解、修改和維護(hù);

7)易擴展。

1.3 Docker容器的集群需求

圖2為傳統(tǒng)應(yīng)用架構(gòu)與微服務(wù)架構(gòu)對比。Docker提供有編譯、上傳、下載、啟動和停止容器的所有必要功能,對于在單主機環(huán)境中容器數(shù)量最少的情況下管理這些過程而言是很合適的。但是,對于企業(yè)級應(yīng)用而言,當(dāng)需跨多個主機管理大量的Docker容器時,集群環(huán)境下的Docker宿主機所面對的網(wǎng)絡(luò)、負(fù)載均衡、服務(wù)發(fā)現(xiàn)和高可用等特殊需求都帶來了很大的困擾。

圖2 傳統(tǒng)應(yīng)用架構(gòu)與微服務(wù)架構(gòu)對比

該大型企業(yè)雖然已利用Docker容器技術(shù)陸續(xù)開展并實現(xiàn)容器化和微服務(wù)的轉(zhuǎn)型,但在大規(guī)模群集部署和應(yīng)用時,傳統(tǒng)的Docker應(yīng)用依然存在諸多問題:

1)多元化平臺不利于統(tǒng)一管理;

2)獨立的容器服務(wù)不利于企業(yè)進(jìn)行大規(guī)模信息系統(tǒng)的建設(shè);

3)高可用、高冗余副本缺失,靈活度低;

4)人工運維,缺乏自動的彈性伸縮。

1.4 Kubernetes技術(shù)對企業(yè)的價值和意義

調(diào)度和編排是集群管理的重要組成部分。當(dāng)應(yīng)用被擴展到多臺宿主機時,管理每個宿主系統(tǒng)和抽象化底層平臺的復(fù)雜性變得更高。編排是一個廣義的概念,是指容器調(diào)度、集群管理和可能的其他主機供應(yīng)配置。容器管理是控制一組宿主機的過程,包括從一個集群中添加或移除主機、獲取宿主機或容器當(dāng)前的狀態(tài)信息和啟動或管理進(jìn)程。集群管理與調(diào)度緊密相連,因為調(diào)度必須有權(quán)限通過集群中的每臺宿主機來管理服務(wù)。

Kubernetes作為Docker生態(tài)圈中的重要一員,是Google大規(guī)模容器管理技術(shù)的開源版本,基于Docker實現(xiàn)包括應(yīng)用部署、服務(wù)編排、高可用管理和彈性伸縮在內(nèi)的一系列功能,具有以下優(yōu)點:

1)提供高可用、高冗余的群集化管理模式;

2)為容器組件提供高效的彈性伸縮;

3)提供一整套易于對接的RESTfull API;

4)能與企業(yè)級微服務(wù)架構(gòu)無縫結(jié)合;

5)實現(xiàn)零停機的灰度發(fā)布。

2 Kubernetes和Docker容器云服務(wù)的架構(gòu)設(shè)計

通過合理的資源和組件架構(gòu)設(shè)計,按不同業(yè)務(wù)功能和模塊對該大型集團企業(yè)的各Docker容器資源進(jìn)行拆分,并納入到不同的容器群集服務(wù)中,通過借助Kubernetes的Pod和Service分組化管理實現(xiàn)不同業(yè)務(wù)類型服務(wù)器資源的最大隔離及促進(jìn)企業(yè)應(yīng)用微服務(wù)的合理有效拆分和運營[2]。

2.1 Docker容器群集設(shè)計

在容器集群規(guī)劃中,將承載微服務(wù)的Docker容器部署于Kubernetes集群體系中,利用其Master組件(APIs、Scheduler、Etcd)和多個Node節(jié)點組件(Kubelet、Kube-Proxy)及分布式存儲系統(tǒng)保障容器群集的高效、穩(wěn)定服務(wù)。將整個系統(tǒng)模塊分為運行在Node節(jié)點上的容器服務(wù)和運行在Master節(jié)點上的用于組成集群級別的控制管理服務(wù)。

Kubernetes節(jié)點有運行應(yīng)用容器必備的服務(wù),而這些都受Master的控制。每個節(jié)點上都需運行Docker服務(wù),用來負(fù)責(zé)所有具體的映像下載和容器運行。

Kubernetes體系主要由以下核心組件組成:

1)Etcd,負(fù)責(zé)提供和保存整個集群的狀態(tài);

2)APserver,負(fù)責(zé)提供資源操作的唯一入口,并提供認(rèn)證、授權(quán)、訪問控制、API注冊和發(fā)現(xiàn)等機制;

3)Controller Manager,負(fù)責(zé)維護(hù)集群的狀態(tài),如故障檢測、自動擴展和滾動更新等;

4)Scheduler,負(fù)責(zé)調(diào)度資源,按照預(yù)定的調(diào)度策略將Pod調(diào)度到相應(yīng)的機器上;

5)Kubelet,負(fù)責(zé)容器的生命周期維護(hù)及Volume(CVI)和網(wǎng)絡(luò)(CNI)管理;

6)Container runtime,負(fù)責(zé)鏡像管理及Pod和容器的真正運行(CRI);

7)Kube-Proxy,負(fù)責(zé)為Service提供Cluster內(nèi)部的服務(wù)發(fā)現(xiàn)和負(fù)載均衡。

Kubernetes的體系架構(gòu)見圖3。

2.2 容器云私有鏡像倉庫設(shè)計

鏡像倉庫作為Docker容器環(huán)境的重要組成部分,主要用來存儲和管理容器鏡像。Docker有公共的鏡像倉庫,考慮到定制化、便捷性和安全性等因素,大部分企業(yè)都會基于自身環(huán)境需求構(gòu)建內(nèi)部專屬的鏡像倉庫進(jìn)行統(tǒng)一運營和維護(hù)。

圖3 Kubernetes的體系架構(gòu)

根據(jù)該企業(yè)業(yè)務(wù)系統(tǒng)的結(jié)構(gòu)和功能特色,定制化地設(shè)計相應(yīng)的基于應(yīng)用商店的Docker鏡像倉庫,并通過利用Kubernetes的RC副本復(fù)制機制和NFS共享存儲保證其服務(wù)可靠和運行穩(wěn)定。

2.3 容器云高可用設(shè)計

2.3.1 通過Replication Controller/Replicat Set服務(wù)提供Pod組件的冗余性[3]

RC是Kubernetes集群中用來保證Pod服務(wù)組件高可用的API對象。通過旁路監(jiān)控運行中的Pod來保證集群中運行指定數(shù)目的Pod副本。指定的Pod Replication數(shù)目既可是多個,也可是1個;若運行中的Pod少于指定數(shù)目,RC就會啟動并運行新的Pod副本;若運行中的Pod多于指定數(shù)目,RC就會消除多余的Pod副本。即使是在指定數(shù)目為1的情況下,通過RC運行Pod也比直接運行Pod更合理,因為RC也可發(fā)揮其高可用的能力,保證始終有1個Pod在運行。

Replicat Set是Kubernetes體系中的新一代RC,具有與RC相同的高可用能力,主要區(qū)別在于Replicat Set能支持更多種類的匹配模式,更靈活便捷。Replicat Set一般不單獨使用,而是作為Deployment的理想狀態(tài)參數(shù)使用。

2.3.2 通過多節(jié)點Master和Etcd群集保障群集服務(wù)的冗余性

鑒于Kubernetes中Master和Etcd組件的重要性,在設(shè)計容器云的部署架構(gòu)時,通過采用部署Active-Active的方式和Etcd服務(wù)集群的模式來保障其整個容器群集的冗余和穩(wěn)定。Kubernetes高可用群集架構(gòu)見圖4。

圖4 Kubernetes高可用群集架構(gòu)

1)Master服務(wù)的Active-Active設(shè)計。Kube-Controller-Manager和Kube-Scheduler服務(wù)通過添加--leader-elect=true參數(shù)來保證其服務(wù)同時啟動,系統(tǒng)會自動選舉leader;Kube-Apiserver原生則支持多節(jié)點同時運行,通過配置VIP對其進(jìn)行浮動指向。

2)Etcd服務(wù)的集群設(shè)計。Etcd支持集群化部署方式,規(guī)劃通過利用Static的方式對其集群進(jìn)行配置。

3 Kubernetes和Docker容器云服務(wù)的部署與實現(xiàn)

與傳統(tǒng)的IaaS和虛擬化平臺架構(gòu)不同,Kubernetes和Docker容器云服務(wù)平臺主要用來解決企業(yè)級的微服務(wù)應(yīng)用和Docker容器的孤島現(xiàn)象,提供統(tǒng)一的服務(wù)管理、彈性伸縮及高可用的容器集群、服務(wù)發(fā)現(xiàn)和服務(wù)編排的PaaS平臺。

Kubernetes提供并支持多種部署方式,如:適用于入門和基礎(chǔ)功能測試的Minikube方式;適用于開發(fā)測試環(huán)境的Kubeadm Cluster方式;適用于高可用生產(chǎn)環(huán)境的多組件冗余方式等。這里為滿足大型企業(yè)生產(chǎn)環(huán)境的高可用需求,計劃在底層環(huán)境的建設(shè)中在X86物理服務(wù)器上直接構(gòu)建,并通過一系列核心組件冗余的方式進(jìn)行設(shè)計部署,以確保其整個平臺的高可用和穩(wěn)定性[4]。

3.1 Docker和Kubernetes環(huán)境部署

Docker引擎的環(huán)境部署可利用YUM的方式進(jìn)行,Docker.repo的配置源信息為:

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

Kubernetes基礎(chǔ)環(huán)境的部署可通過源碼下載,利用二進(jìn)制編譯的方式進(jìn)行systemctl服務(wù)注冊配置。

3.2 私有鏡像倉庫部署

對于私有鏡像倉庫的配置,可通過利用Kubernetes的群集環(huán)境進(jìn)行Service和Replication Controller的配置部署,以保障其Pod服務(wù)的高可用。

3.3 高可用Master和Etcd集群架構(gòu)部署

Kubernetes系統(tǒng)的各組件需采用TLS證書對通信進(jìn)行加密,通過cfsslgencert生成證書和密鑰,并將.pem密鑰文件存放于各節(jié)點的/etc/kubernetes/ssl目錄中。同時,通過配置多Mater節(jié)點服務(wù)和Etcd群集的方式構(gòu)建Kubernetes高可用環(huán)境(見圖5)。

圖5 Kubernetes Master和Etcd組件架構(gòu)圖

3.3.1 Master服務(wù)Active-Active模式的實現(xiàn)

在部署Kubernetes Master服務(wù)時,通過對Kube-Controller-Manager和Kube-Scheduler服務(wù)添加--leader-elect=true參數(shù)來保證其服務(wù)的同時啟動,系統(tǒng)會自動選舉leader。

3.3.1.1 Kube-Controller-Manager服務(wù)

Kube-Controller-Manager的Serivce配置為:

[Unit]

...

[Service]

Environment File=-/etc/kubernetes/config

Environment File=-/etc/kubernetes/controller-manager

ExecStart=/usr/bin/kube-controller-manager

$KUBE_LOGTOSTDERR

$KUBE_LOG_LEVEL

$KUBE_MASTER

$KUBE_CONTROLLER_MANAGER_ARGS

Restart=on-failure

Limit NOFILE=65536

[Install]

...

3.3.1.2 Kube-Scheduler服務(wù)

Kube-Scheduler的Serivce配置為:

[Unit]

...

[Service]

EnvironmentFile=-/etc/kubernetes/config

Environment File=-/etc/kubernetes/scheduler

ExecStart=/usr/bin/kube-scheduler

$KUBE_LOGTOSTDERR

$KUBE_LOG_LEVEL

$KUBE_MASTER

$KUBE_SCHEDULER_ARGS

Restart=on-failure

Limit NOFILE=65536

[Install]

...

3.3.2 Etcd服務(wù)集群環(huán)境的實現(xiàn)

在云計算時代,如何讓服務(wù)快速透明地接入到計算集群中,如何讓共享配置信息快速被集群中的所有機器發(fā)現(xiàn),如何構(gòu)建一套高可用、安全、易于部署和響應(yīng)快速的服務(wù)集群,已成為迫切需要解決的問題,而Etcd服務(wù)可為有效解決該問題助力。

Etcd服務(wù)是一個高可用的鍵值存儲系統(tǒng),主要用于配置共享和服務(wù)發(fā)現(xiàn)。Etcd是由CoreOS開發(fā)、維護(hù)的,借鑒Zoo Keeper和Doozer,使用Go語言編寫,并通過Raft一致性算法處理日志復(fù)制以保證強一致性。

Etcd Raft協(xié)議見圖6,每個Etcd節(jié)點都維護(hù)一個狀態(tài)機,且任意時刻至多存在1個有效的主節(jié)點。主節(jié)點處理所有來自于客戶端的寫操作,通過Raft協(xié)議保證寫操作對狀態(tài)機的改動會可靠地同步到其他節(jié)點。

圖6 Etcd Raft協(xié)議

Etcd工作原理的核心部分是Raft協(xié)議,主要分為選主、日志復(fù)制和安全性等3部分。Etcd具有以下4個特點:

1)簡單,基于HTTP+JSON的API使得通過curl命令就可輕松使用;

2)安全,可選SSL客戶認(rèn)證機制;

3)快速,每個實例每秒支持1 000次寫操作;

4)可信,采用Raft算法充分實現(xiàn)分布式。

3.4 容器云服務(wù)的應(yīng)用效果

利用云計算Kubernetes和Docker容器云技術(shù)實現(xiàn)大型集團企業(yè)資源整合是較為高效、穩(wěn)妥和冗余的建設(shè)方案。該大型集團企業(yè)建設(shè)容器云服務(wù)平臺前后的技術(shù)指標(biāo)對比見表1。

表1 某大型集團企業(yè)建設(shè)容器云服務(wù)平臺前后的技術(shù)指標(biāo)對比

從表1中可看出,容器云服務(wù)平臺的建設(shè)不僅使整體容器云服務(wù)的管理、伸縮性和性能等得到了提升,同時給整個架構(gòu)體系模式帶來了質(zhì)的飛躍。未來該企業(yè)所有的微服務(wù)系統(tǒng)和容器的需求都將在該Kubernetes和Docker容器云平臺上進(jìn)行統(tǒng)一的資源服務(wù)開設(shè)、管理和回收,將極大地降低企業(yè)運維成本和數(shù)據(jù)服務(wù)資源的生命周期管理成本。

4 結(jié) 語

如今越來越多的企業(yè)面臨IaaS和PaaS云平臺的建設(shè)及微服務(wù)系統(tǒng)的構(gòu)建和轉(zhuǎn)型。對此,在企業(yè)私有云平臺中構(gòu)建一個企業(yè)自身適用的應(yīng)用容器云服務(wù)體系尤為重要。

猜你喜歡
服務(wù)管理
棗前期管理再好,后期管不好,前功盡棄
服務(wù)在身邊 健康每一天
加強土木工程造價的控制與管理
如何加強土木工程造價的控制與管理
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
“這下管理創(chuàng)新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
主站蜘蛛池模板: 尤物成AV人片在线观看| 国产精品999在线| 国产精品思思热在线| 91视频首页| 免费无遮挡AV| 无码AV日韩一二三区| 亚洲91精品视频| 在线看免费无码av天堂的| 人妻免费无码不卡视频| 久久国产精品麻豆系列| 91丨九色丨首页在线播放| 国产自产视频一区二区三区| 91福利片| 精品国产免费观看| 国产精品第一区在线观看| 国产欧美日韩另类| 一级做a爰片久久毛片毛片| 久久综合婷婷| 国产超薄肉色丝袜网站| 亚洲中文字幕无码爆乳| 中文字幕在线一区二区在线| 色综合a怡红院怡红院首页| 亚洲欧美天堂网| 国产视频欧美| 久久精品一品道久久精品| 午夜精品区| 亚洲一级毛片免费观看| 一级全免费视频播放| 国产女人18毛片水真多1| 青青热久免费精品视频6| 特级毛片8级毛片免费观看| 国产噜噜在线视频观看| 一本色道久久88| 茄子视频毛片免费观看| 日韩免费成人| 国产在线观看第二页| 国产99久久亚洲综合精品西瓜tv| 白浆免费视频国产精品视频| 88av在线播放| 玖玖免费视频在线观看 | 日韩中文精品亚洲第三区| 婷婷六月综合| 成人欧美在线观看| 国产极品美女在线| 无码免费视频| 性视频一区| 91精品网站| 亚洲一区免费看| 国产精品午夜电影| 国产女人在线观看| 最新亚洲人成无码网站欣赏网 | 国产91久久久久久| 中国黄色一级视频| 亚洲精品国产首次亮相| 成色7777精品在线| 亚洲伦理一区二区| 一区二区三区毛片无码| 国产91麻豆视频| 秋霞一区二区三区| 国产尤物视频网址导航| 97se亚洲综合在线| 伦伦影院精品一区| 国产精品视频白浆免费视频| 国产国语一级毛片| 色综合天天操| 自拍偷拍一区| 午夜不卡视频| 国产va在线观看| 精久久久久无码区中文字幕| 美女免费黄网站| 久久鸭综合久久国产| 久久精品人人做人人爽电影蜜月 | 26uuu国产精品视频| 国产免费网址| 欧美国产菊爆免费观看| 日韩欧美国产中文| 广东一级毛片| 91美女在线| 91福利一区二区三区| 日韩欧美视频第一区在线观看 | 99精品视频在线观看免费播放| 欧美一级色视频|