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

基于Kubernetes和Docker技 術的企業級容器云平臺解決方案

2018-10-20 06:57:00王駿翔
關鍵詞:服務管理

王駿翔, 郭 磊

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

0 引 言

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

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

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

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

1 容器云服務的需求與價值

1.1 Docker容器技術的發展趨勢[1]

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

圖1 Docker容器技術與傳統虛擬化技術架構對比

應用Docker容器技術給該企業的信息化建設帶來的好處包括:持續部署與測試;跨云平臺支持;環境標準化和版本控制;高資源利用率與隔離;容器跨平臺性與鏡像;易于理解和應用;應用鏡像倉庫。

1.2 微服務的價值與意義

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

1)體量小,用于實現一種特定的功能或業務需求;

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

3)松耦合,服務之間可獨立進行開發和部署;

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

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

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

7)易擴展。

1.3 Docker容器的集群需求

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

圖2 傳統應用架構與微服務架構對比

該大型企業雖然已利用Docker容器技術陸續開展并實現容器化和微服務的轉型,但在大規模群集部署和應用時,傳統的Docker應用依然存在諸多問題:

1)多元化平臺不利于統一管理;

2)獨立的容器服務不利于企業進行大規模信息系統的建設;

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

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

1.4 Kubernetes技術對企業的價值和意義

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

Kubernetes作為Docker生態圈中的重要一員,是Google大規模容器管理技術的開源版本,基于Docker實現包括應用部署、服務編排、高可用管理和彈性伸縮在內的一系列功能,具有以下優點:

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

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

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

4)能與企業級微服務架構無縫結合;

5)實現零停機的灰度發布。

2 Kubernetes和Docker容器云服務的架構設計

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

2.1 Docker容器群集設計

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

Kubernetes節點有運行應用容器必備的服務,而這些都受Master的控制。每個節點上都需運行Docker服務,用來負責所有具體的映像下載和容器運行。

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

1)Etcd,負責提供和保存整個集群的狀態;

2)APserver,負責提供資源操作的唯一入口,并提供認證、授權、訪問控制、API注冊和發現等機制;

3)Controller Manager,負責維護集群的狀態,如故障檢測、自動擴展和滾動更新等;

4)Scheduler,負責調度資源,按照預定的調度策略將Pod調度到相應的機器上;

5)Kubelet,負責容器的生命周期維護及Volume(CVI)和網絡(CNI)管理;

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

7)Kube-Proxy,負責為Service提供Cluster內部的服務發現和負載均衡。

Kubernetes的體系架構見圖3。

2.2 容器云私有鏡像倉庫設計

鏡像倉庫作為Docker容器環境的重要組成部分,主要用來存儲和管理容器鏡像。Docker有公共的鏡像倉庫,考慮到定制化、便捷性和安全性等因素,大部分企業都會基于自身環境需求構建內部專屬的鏡像倉庫進行統一運營和維護。

圖3 Kubernetes的體系架構

根據該企業業務系統的結構和功能特色,定制化地設計相應的基于應用商店的Docker鏡像倉庫,并通過利用Kubernetes的RC副本復制機制和NFS共享存儲保證其服務可靠和運行穩定。

2.3 容器云高可用設計

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

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

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

2.3.2 通過多節點Master和Etcd群集保障群集服務的冗余性

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

圖4 Kubernetes高可用群集架構

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

2)Etcd服務的集群設計。Etcd支持集群化部署方式,規劃通過利用Static的方式對其集群進行配置。

3 Kubernetes和Docker容器云服務的部署與實現

與傳統的IaaS和虛擬化平臺架構不同,Kubernetes和Docker容器云服務平臺主要用來解決企業級的微服務應用和Docker容器的孤島現象,提供統一的服務管理、彈性伸縮及高可用的容器集群、服務發現和服務編排的PaaS平臺。

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

3.1 Docker和Kubernetes環境部署

Docker引擎的環境部署可利用YUM的方式進行,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基礎環境的部署可通過源碼下載,利用二進制編譯的方式進行systemctl服務注冊配置。

3.2 私有鏡像倉庫部署

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

3.3 高可用Master和Etcd集群架構部署

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

圖5 Kubernetes Master和Etcd組件架構圖

3.3.1 Master服務Active-Active模式的實現

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

3.3.1.1 Kube-Controller-Manager服務

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服務

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服務集群環境的實現

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

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

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

圖6 Etcd Raft協議

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

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

2)安全,可選SSL客戶認證機制;

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

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

3.4 容器云服務的應用效果

利用云計算Kubernetes和Docker容器云技術實現大型集團企業資源整合是較為高效、穩妥和冗余的建設方案。該大型集團企業建設容器云服務平臺前后的技術指標對比見表1。

表1 某大型集團企業建設容器云服務平臺前后的技術指標對比

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

4 結 語

如今越來越多的企業面臨IaaS和PaaS云平臺的建設及微服務系統的構建和轉型。對此,在企業私有云平臺中構建一個企業自身適用的應用容器云服務體系尤為重要。

猜你喜歡
服務管理
棗前期管理再好,后期管不好,前功盡棄
今日農業(2022年15期)2022-09-20 06:56:20
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
加強土木工程造價的控制與管理
如何加強土木工程造價的控制與管理
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
“這下管理創新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
主站蜘蛛池模板: 亚洲高清无码久久久| 国产资源免费观看| 精品久久人人爽人人玩人人妻| 亚洲av日韩综合一区尤物| 亚洲国产看片基地久久1024| 久久美女精品| 精品久久国产综合精麻豆| 国产在线98福利播放视频免费| 久草视频精品| 亚洲国产成人无码AV在线影院L| 亚洲免费黄色网| 国产午夜人做人免费视频中文| 无码中字出轨中文人妻中文中| 国产精品久久久久久影院| 久久国产高潮流白浆免费观看| 热伊人99re久久精品最新地| 精品亚洲国产成人AV| 91精品啪在线观看国产| 青青国产成人免费精品视频| 国产亚洲高清在线精品99| av一区二区三区高清久久| 视频二区亚洲精品| 国产美女91视频| 色窝窝免费一区二区三区| 久久国产精品嫖妓| 99精品福利视频| 国产精品免费入口视频| 欧美国产精品拍自| 国产三级a| 亚洲成网站| 欧美yw精品日本国产精品| 亚洲国产日韩视频观看| yjizz国产在线视频网| 蜜臀AV在线播放| 欧美精品三级在线| av尤物免费在线观看| 青草视频免费在线观看| 亚洲人成电影在线播放| 亚洲精选高清无码| 无码国内精品人妻少妇蜜桃视频| 精品伊人久久久香线蕉 | 亚洲日本中文字幕天堂网| 91精品国产一区| 69国产精品视频免费| 亚洲天堂免费在线视频| 亚洲精品无码日韩国产不卡| 91毛片网| 国产尹人香蕉综合在线电影| 亚洲精品高清视频| 婷婷久久综合九色综合88| 日本91视频| 久久亚洲精少妇毛片午夜无码| 免费观看三级毛片| 久久婷婷六月| 欧美亚洲国产精品久久蜜芽| 最新加勒比隔壁人妻| 亚洲第一天堂无码专区| 在线观看欧美国产| 一级在线毛片| 国产精品欧美在线观看| 中文字幕在线日本| 国产精品久久久久久久久久98| 91po国产在线精品免费观看| 99热国产这里只有精品无卡顿"| 久久永久精品免费视频| 国产91视频观看| 国产精品第| 一级做a爰片久久毛片毛片| 囯产av无码片毛片一级| 国产91九色在线播放| 中国一级特黄视频| AV无码国产在线看岛国岛| 六月婷婷激情综合| 亚洲第七页| 国产真实乱子伦视频播放| 91在线激情在线观看| 亚洲欧美另类日本| 国产成人精品免费视频大全五级| 国产精选自拍| 毛片免费在线| 久久这里只有精品8| 亚洲二区视频|