www涩-www黄网站-www黄色-www黄色com-国产免费拍拍视频在线观看网站-国产免费怕怕免费视频观看

容器技術(shù)在企業(yè)落地的9個關(guān)鍵問題

2018-01-15 17:10:51 51CTO技術(shù)棧  點擊量: 評論 (0)
當(dāng)今容器技術(shù)被廣泛關(guān)注,已經(jīng)有越來越多的企業(yè)開始布局或者已經(jīng)采用容器技術(shù)來構(gòu)建自己的云基礎(chǔ)設(shè)施。在用容器設(shè)計新的微服務(wù)應(yīng)用架構(gòu)或者
當(dāng)今容器技術(shù)被廣泛關(guān)注,已經(jīng)有越來越多的企業(yè)開始布局或者已經(jīng)采用容器技術(shù)來構(gòu)建自己的云基礎(chǔ)設(shè)施。

在用容器設(shè)計新的微服務(wù)應(yīng)用架構(gòu)或者如何改造現(xiàn)有的應(yīng)用時,應(yīng)該了解哪些因素和相關(guān)特性,是企業(yè)在實施容器平臺時必須要考慮的。

很多傳統(tǒng)行業(yè)和互聯(lián)網(wǎng)企業(yè)相比在容器技術(shù)方面起步稍晚,但近兩年隨著容器關(guān)注度的空前火熱,企業(yè)進(jìn)步也很快,大力推進(jìn)容器相關(guān)能力的建設(shè)。

基于 Docker 的容器,是一種更輕量級的虛擬化,我們稱之為 CaaS,就是容器級服務(wù)。它涵蓋了 IaaS 跟 PaaS 兩者的優(yōu)勢,可以解決應(yīng)用的部署、開發(fā)運維、微服務(wù)這些問題,而且能夠更快的加速業(yè)務(wù)的交付。

企業(yè)要用正確的姿態(tài)擁抱容器并且使用好容器,需要在應(yīng)用容器技術(shù)之前考慮清楚以下九個關(guān)鍵問題:

  • 企業(yè)容器云方案設(shè)計需要遵循什么原則?
  • 容器云技術(shù)產(chǎn)品如何選型?
  • 容器云的網(wǎng)絡(luò)應(yīng)該如何設(shè)計?
  • 容器的持久化存儲方案如何選擇和設(shè)計?
  • 容器云上日志集中管理如何設(shè)計?
  • 容器應(yīng)用的監(jiān)控方案如何設(shè)計?
  • 容器云的多租戶和權(quán)限如何設(shè)計?
  • 容器與 OpenStack 和 Kubernetes 集成的能力?
  • 容器云如何實現(xiàn)高可用和跨區(qū)部署?

企業(yè)容器云方案設(shè)計需要遵循什么原則?

Docker 作為新一代的云計算技術(shù),毫無疑問將會給整個虛擬化開發(fā)運維、微服務(wù)、持續(xù)集成與持續(xù)交付,傳統(tǒng)的中間件以及我們的應(yīng)用帶來深刻的變化,實現(xiàn)更高的性能以及效率,那么企業(yè)容器方案設(shè)計應(yīng)該遵循什么原則呢?

首先,我們要明確企業(yè)上容器云的目的,容器是為業(yè)務(wù)服務(wù)的,任何技術(shù)都是為了能夠更好的服務(wù)業(yè)務(wù),這是我們的出發(fā)點。

其次,結(jié)合業(yè)務(wù)特點選擇合適的容器框架,比如我們的業(yè)務(wù)本身是不是可以基于新型微服務(wù)架構(gòu)進(jìn)行改造,業(yè)務(wù)是不是具有變化快、彈性大、更新迭代快等特點。

還有要和已有系統(tǒng)較好地對接整合,在上容器之前,企業(yè)通常都已經(jīng)有比較成熟和穩(wěn)定的其他 IT 系統(tǒng),例如網(wǎng)絡(luò)系統(tǒng)、集中監(jiān)控系統(tǒng)、安全防護(hù)系統(tǒng)等。

為避免重復(fù)建設(shè),同時也為了容器平臺能夠更容易被接受和使用,應(yīng)讓容器平臺融入企業(yè)原有的整個 IT 系統(tǒng),而不是另起爐灶重新建設(shè)。

容器平臺要承載生產(chǎn)業(yè)務(wù),也需要滿足安全的監(jiān)管合規(guī)要求,例如隔離不同安全等級的應(yīng)用、支持對應(yīng)用容器的安全漏洞掃描、安全有效的防火墻策略管理等。

生產(chǎn)環(huán)境的業(yè)務(wù)要求高可用性、連續(xù)性,還應(yīng)該考慮整個容器應(yīng)用層面的高可用性和數(shù)據(jù)連續(xù)性、安全可靠。

建設(shè)容器平臺的目的是為應(yīng)用帶來靈活、彈性、節(jié)省資源等優(yōu)勢,這要求應(yīng)用最好具備微服務(wù)架構(gòu)、無狀態(tài)化等特點,讓這些優(yōu)勢更好地發(fā)揮。

但不適合容器化的應(yīng)用也不能勉強(qiáng),否則容器平臺建設(shè)后,如果不能給應(yīng)用和業(yè)務(wù)帶來預(yù)期的價值,不僅浪費了大量企業(yè)投入,還使得容器平臺的價值得不到認(rèn)可。這是每一個投入大量精力和熱情進(jìn)行容器平臺建設(shè)的人最不愿意看到的結(jié)果。

容器云技術(shù)產(chǎn)品如何選型?

技術(shù)選型這個問題有很多復(fù)雜的影響因素,包括技術(shù)和非技術(shù)兩方面,不同的組織情況下也不盡相同。

一個企業(yè)在應(yīng)用新技術(shù)前,還需要考慮 IT 部門自身的技術(shù)能力,包括開發(fā)能力、運維能力,同時對自身業(yè)務(wù)系統(tǒng)從開發(fā)平臺、開發(fā)過程、開發(fā)規(guī)范等有決定能力。

如果企業(yè)自身的開發(fā)和運維能力不強(qiáng),則采用成熟的 PCF、OpenShift 等方案是不錯的選擇。

如果考慮現(xiàn)有系統(tǒng)對接需求,包括監(jiān)控、網(wǎng)絡(luò)、安全需求等,特別是現(xiàn)有網(wǎng)絡(luò)架構(gòu)對容器的網(wǎng)絡(luò)方案有較大影響時,應(yīng)該考慮使用 Kubernetes、Mesos、Swarm 等開源方案更便于定制,也能較好的融入現(xiàn)有 IT 系統(tǒng)。

Kubernetes、Mesos、Swarm 這三個開源方案都是行業(yè)內(nèi)比較火熱的資源編排解決方案,但它們各自的立足點各有千秋。

從應(yīng)用的發(fā)布環(huán)節(jié)來比較:Docker 的 Swarm 功能,以及 Kubenetes 的編排,Mesos 的調(diào)度管理,很難直接決出高低。

換言之,如果加上企業(yè)級應(yīng)用場景,來輔佐容器技術(shù)選型,則會顯得更有意義。

企業(yè)規(guī)模不大,應(yīng)用不是太復(fù)雜

這時 Docker Swarm Mode 還是比較好用的,集群的維護(hù)不需要 Zookeeper,Etcd 自己內(nèi)置,命令行和 Docker 一樣用起來順手,服務(wù)發(fā)現(xiàn)和 DNS 是內(nèi)置的,Overlay 網(wǎng)絡(luò)是內(nèi)置的。

企業(yè)規(guī)模大一些、應(yīng)用夠復(fù)雜

這時集群規(guī)模有幾百個節(jié)點,很多人就不愿意使用 Docker Swarm Mode 了,而是用 Mesos 和 Marathon。

因為 Mesos 是一個非常優(yōu)秀的調(diào)度器,它的雙層調(diào)度機(jī)制可以使得集群規(guī)模大很多,Mesos 的優(yōu)勢在于第一層調(diào)度先將整個 Node 分配給一個 Framework,F(xiàn)ramework 的調(diào)度器面對的集群規(guī)模小很多,然后在里面進(jìn)行二次調(diào)度。

如果有多個 Framework,例如有多個 Marathon,則可以并行調(diào)度不沖突,同時 Mesos 在傳統(tǒng)數(shù)據(jù)計算方面擁有較多的案例,相信也是企業(yè)選型時考慮的要素之一。

企業(yè)規(guī)模大、業(yè)務(wù)復(fù)雜、應(yīng)用粒度更細(xì)

這時 Kubenetes 就更適合了,因為 Kubernetes 模塊劃分得更細(xì)更多,比 Marathon 和 Mesos 功能豐富,而且模塊之間完全的松耦合,可以非常方便地進(jìn)行定制化。

還有就是 Kubernetes 提供了強(qiáng)大的自動化機(jī)制,從而使后期的系統(tǒng)運維難度和運維成本大幅降低,而且 Kubernetes 社區(qū)的熱度,可以使得使用 Kubernetes 的公司能夠很快地得到幫助,方便問題和 Bug 的解決。

任何新的技術(shù)都有著各自適用的場景,如何經(jīng)受住實踐的考驗,并將新的技術(shù)轉(zhuǎn)化為生產(chǎn)力才是重中之重。

容器云的網(wǎng)絡(luò)應(yīng)該如何設(shè)計?

Docker 一直以來的理念都是“簡單為美”,從 Docker 對 Linux 網(wǎng)絡(luò)協(xié)議棧的操作可以看到,Docker 一開始并沒有考慮到多主機(jī)互聯(lián)的網(wǎng)絡(luò)解決方案。

Docker 成名以后,收購了一家網(wǎng)絡(luò)解決方案公司 Socketplane,將原有的網(wǎng)絡(luò)部分抽離,單獨成了 Docker 的網(wǎng)絡(luò)庫,即 libnetwork。

libnetwork 實現(xiàn)了 5 種驅(qū)動,通過插件的形式允許用戶根據(jù)自己的需求來實現(xiàn) network driver,但 libnetwork 組件只是將 Docker 平臺中的網(wǎng)絡(luò)子系統(tǒng)模塊化為一個獨立庫的簡單嘗試,離成熟和完善還有一段距離。

隨著容器技術(shù)在企業(yè)生產(chǎn)系統(tǒng)的逐步落地,用戶對于容器云的網(wǎng)絡(luò)特性要求也越來越高,跨主機(jī)容器間的網(wǎng)絡(luò)互通已經(jīng)成為最基本的要求。

跨主機(jī)的容器網(wǎng)絡(luò)解決方案不外乎三大類:

隧道方案

比如 Flannel 的 VxLan,特點是對底層的網(wǎng)絡(luò)沒有過高的要求,一般來說只要是三層可達(dá)就可以,只要是在一個三層可達(dá)網(wǎng)絡(luò)里,就能構(gòu)建出一個基于隧道的容器網(wǎng)絡(luò)。

不過問題也很明顯,一個得到大家共識的是隨著節(jié)點規(guī)模的增長、復(fù)雜度會提升,而且出了網(wǎng)絡(luò)問題跟蹤起來比較麻煩,大規(guī)模集群情況下,這是需要考慮的一個點。

路由方案

路由技術(shù)從三層實現(xiàn)跨主機(jī)容器互通,沒有 NAT,效率比較高,和目前的網(wǎng)絡(luò)能夠融合在一起,每一個容器都可以像虛擬機(jī)一樣分配一個業(yè)務(wù)的 IP。

但路由網(wǎng)絡(luò)也有問題,路由網(wǎng)絡(luò)對現(xiàn)有網(wǎng)絡(luò)設(shè)備影響比較大,路由器的路由表應(yīng)該有空間限制,一般是兩三萬條,而容器的大部分應(yīng)用場景是運行微服務(wù),數(shù)量集很大。

如果幾萬新的容器 IP 沖擊到路由表里,會導(dǎo)致下層的物理設(shè)備沒辦法承受;而且每一個容器都分配一個業(yè)務(wù) IP,業(yè)務(wù) IP 會很快消耗。

VLAN

所有容器和物理機(jī)在同一個 VLAN 中。如下圖,是一個網(wǎng)友的測試報告:

圖中我們看到 Calico 的方案和基于 HOST 的網(wǎng)絡(luò)解決方案性能較好。

基于 HOST 的端口沖突和網(wǎng)絡(luò)資源競爭比較麻煩,相對來說 Calico 的是純?nèi)龑拥?SDN 實現(xiàn),它基于 BPG 協(xié)議和 Linux 自己的路由轉(zhuǎn)發(fā)機(jī)制,不依賴特殊硬件,沒有使用 NAT 或 Tunnel 等技術(shù)。

它能夠方便的部署在物理服務(wù)器、虛擬機(jī)(如 OpenStack)或者容器環(huán)境下,同時它自帶的基于 Iptables 的 ACL 管理組件非常靈活,能夠滿足比較復(fù)雜的企業(yè)安全隔離需求。

關(guān)于容器應(yīng)用的網(wǎng)絡(luò)隔離還有多種解決方案,基本上就是把不同的應(yīng)用容器放置在不同的 vlan/vxlan 中,通過讓不同的 vlan/vxlan 不能互訪而實現(xiàn)隔離。

簡單的方案可以嘗試用 docker overlay 來解決,首先創(chuàng)建不同的 network,然后在啟動不同應(yīng)用的容器時,使用 --net 參數(shù)指定容器所在的對應(yīng)的 vxlan 即可。

結(jié)果是同一個 network 中的容器是互通的,不同的 network 中的容器是不通的。企業(yè)里應(yīng)用目前是 OVS/Linux-bridge +VLAN 方案的比較多,但長遠(yuǎn)看來 Calico 方案前景不錯。

容器的持久化存儲方案如何選擇和設(shè)計?

在討論持久化存儲之前,首先聲明,運行容器并不意味著完全摒棄數(shù)據(jù)持久化。在容器中運行的應(yīng)用,應(yīng)用真正需要保存的數(shù)據(jù),也可以寫入持久化的 Volume 數(shù)據(jù)卷。

在這個方案中,持久層產(chǎn)生價值,不是通過彈性,而是通過靈活可編程,例如通過優(yōu)秀設(shè)計的 API 來擴(kuò)展存儲。目前,主要支持 Docker 或 Kubernetes 的 Volume。

Docker 的容器卷插件

Docker 發(fā)布了容器卷插件規(guī)范,允許第三方廠商的數(shù)據(jù)卷在 Docker 引擎中提供數(shù)據(jù)服務(wù)。

這種機(jī)制意味著外置存儲可以超過容器的生命周期而獨立存在,而且各種存儲設(shè)備只要滿足接口 API 標(biāo)準(zhǔn),就可接入 Docker 容器的運行平臺中。

現(xiàn)有的各種存儲可以通過簡單的驅(qū)動程序封裝,從而實現(xiàn)和 Docker 容器的對接。可以說,驅(qū)動程序?qū)崿F(xiàn)了和容器引擎的北向接口,底層則調(diào)用后端存儲的功能完成數(shù)據(jù)存取等任務(wù)。

目前已經(jīng)實現(xiàn)的 DockerVolume Plugin 中,后端存儲包括常見的 NFS、CIFS、GlusterFS 和塊設(shè)備等。

K8S 的數(shù)據(jù)卷

K8S 的每個 Pod 包含一個或多個容器。Pod 可部署在集群的任意節(jié)點中,存儲設(shè)備可通過數(shù)據(jù)卷提供給 Pod 的容器使用。

為了不綁定特定的容器技術(shù),K8S 沒有使用 Docker 的 Volume 機(jī)制,而是制定了自己的通用數(shù)據(jù)卷插件規(guī)范,以配合不同的容器運行來使用(如 Docker 和 rkt)。

數(shù)據(jù)卷分為共享和非共享兩種類型,其中非共享型只能被某個節(jié)點掛載使用(如 iSCSI、AWS EBS 等網(wǎng)絡(luò)塊設(shè)備);共享型則可讓不同節(jié)點上的多個 Pod 同時使用(如 NFS、GlusterFS 等網(wǎng)絡(luò)文件系統(tǒng),以及可支持多方讀寫的塊設(shè)備)。

對有狀態(tài)的應(yīng)用來說,共享型的卷存儲能夠很方便地支持容器在集群各節(jié)點之間的遷移。

為了給容器提供更細(xì)粒度的卷管理,K8s 增加了持久化卷的功能,把外置存儲作為資源池,由平臺管理并提供給整個集群使用。

K8S 的卷管理架構(gòu)使用存儲可用標(biāo)準(zhǔn)的接入方式,并且通過接口暴露存儲設(shè)備所支持的能力,在容器任務(wù)調(diào)度等方面實現(xiàn)了自動化管理。

容器云上日志集中管理如何設(shè)計?

容器常被用來運行需要快速故障遷移、彈性伸縮的應(yīng)用或微服務(wù),因此容器中運行的應(yīng)用隨著遷移、彈性伸縮的發(fā)生,應(yīng)用日志很可能會在不同的運行節(jié)點中產(chǎn)生,這對容器應(yīng)用的日志監(jiān)控和問題排查帶來了很大的麻煩。

相對來說,和大多數(shù)傳統(tǒng)應(yīng)用把日志寫在本地文件系統(tǒng)不同的是,容器應(yīng)用需要考慮把日志進(jìn)行集中收集,然后寫入外部的集中日志管理系統(tǒng)中。

傳統(tǒng)的日志匯總收集方案主要有商業(yè)軟件 Splunk、開源軟件棧 ELK 和 Facebook 開源的 Scribe 等,其中以 ELK 最為廣泛使用。

典型的 ELK 架構(gòu),優(yōu)點是搭建簡單、易于上手,缺點是 Logstash 耗費資源較大,運行占用 CPU 和內(nèi)存高,另外沒有消息隊列緩存,存在數(shù)據(jù)丟失隱患,建議小規(guī)模集群使用。

如果大規(guī)模使用,則可以引入 Kafka(或者 Redis),增加消息隊列緩存,均衡網(wǎng)絡(luò)傳輸,再把 Logstash 和 Elasticsearch 配置為集群模式,以減輕負(fù)荷壓力。

Logstash 占用系統(tǒng)資源過多,后來又有了 Fluentd,替代了 Logstash,被稱作是社區(qū)方案中的 EFK,相比 Logstash 等傳統(tǒng)日志收集工具,F(xiàn)luentd 的日志收集功能對容器支持的更加完備。

在容器日志收集的時候,要注意以下兩點:

避免寫日志沖突

最簡單的方式就是讓容器在運行時掛載外部共享存儲卷當(dāng)做應(yīng)用的日志目錄,這樣應(yīng)用的日志會被實時寫入外部共享存儲以備后續(xù)處理。

這種方式需要我們做好控制,不同的容器不能掛載同一個外部卷,否則就會出現(xiàn)寫日志沖突的問題,容器遷移的時候還需要重新掛卷。

不可忽視日志標(biāo)準(zhǔn)化

除了日志的集中收集,在應(yīng)用改造上我們還應(yīng)該重視容器應(yīng)用的日志標(biāo)準(zhǔn)化問題。

當(dāng)我們采用容器來運行微服務(wù)架構(gòu)應(yīng)用,一個業(yè)務(wù)調(diào)用往往需要經(jīng)過多個微服務(wù)的調(diào)用鏈,整個業(yè)務(wù)處理過程的日志記錄分散在不同的微服務(wù)日志中,這對通過日志進(jìn)行問題診斷帶來了很大的不便。

通過標(biāo)準(zhǔn)化日志,例如帶上唯一的 ID 信息等,可以實現(xiàn)把同一個業(yè)務(wù)在不同微服務(wù)中的處理過程給關(guān)聯(lián)起來。

通過標(biāo)準(zhǔn)化的應(yīng)用日志,我們可以對交易率、成功率、響應(yīng)時間等關(guān)鍵業(yè)務(wù)指標(biāo)進(jìn)行統(tǒng)一關(guān)聯(lián)分析,作為問題預(yù)警、診斷分析、容量擴(kuò)縮的科學(xué)依據(jù)。

容器應(yīng)用的監(jiān)控方案如何設(shè)計?

在虛擬機(jī)運維的時代,Nagios 和 Zabbix 等都是十分經(jīng)典的性能監(jiān)控軟件。但在容器時代,這些曾經(jīng)耳熟能詳?shù)能浖蠖嗖荒芴峁┓奖愕娜萜骰?wù)的監(jiān)控體驗,社區(qū)對開發(fā)這類插件和數(shù)據(jù)收集客戶端也并不積極。

相反的是許多新生的開源監(jiān)控項目將對容器的支持放到了關(guān)鍵特性的位置,一代新人換舊人,可以說容器的應(yīng)用界定了一個全新的監(jiān)控軟件時代。

在這些新生的監(jiān)控工具中,有三種比較流行且成熟的具體方案,分別是 cAdvisor、cAdvisor + InfluxDB + Grafana 和 Prometheus。

其中基于 InfluxDB 的方案是一個多種開源組件的組合方案,而基于 Prometheus 的方案是作為一種整體解決方案。

它本身對容器信息的收集能力以及圖表展示能力相比其他專用開源組件較弱,通常在實際實施的時候依然會將它組合為 cAdvisor + Prometheus 或 cAdvisor + Prometheus+ Grafana 的方式來使用,但它多維度的數(shù)據(jù)模型,可方便的進(jìn)行數(shù)據(jù)過濾和聚合。

說到容器應(yīng)用的監(jiān)控設(shè)計,在這里要注意監(jiān)控是分層的,具體可以分為系統(tǒng)層面、應(yīng)用層面和服務(wù)層面,每個層面都有自己的監(jiān)控重點。

系統(tǒng)層面

主要是針對資源使用情況、網(wǎng)絡(luò)連通性、節(jié)點健康情況的監(jiān)控。傳統(tǒng)的監(jiān)控系統(tǒng)在這方面已經(jīng)非常完備,我們直接可以利用傳統(tǒng)的監(jiān)控系統(tǒng)對容器平臺的宿主機(jī)進(jìn)行系統(tǒng)層面的監(jiān)控,對接監(jiān)控大屏幕等。

宿主機(jī)上單個容器本身的性能和資源使用情況,對于外部資源監(jiān)控意義不大,也沒有多大必要傳送到外部的傳統(tǒng)監(jiān)控。

應(yīng)用層面

容器平臺本身通常都帶有類似 K8S 的 replication control 這樣的機(jī)制保持某個服務(wù)運行實例數(shù)量的能力,所以通常情況下容器平臺都能保證應(yīng)用和應(yīng)用下每個微服務(wù)的運行正常。

關(guān)于應(yīng)用層面的健康監(jiān)控,還是需要來對接傳統(tǒng)的監(jiān)控系統(tǒng),進(jìn)行適當(dāng)?shù)母婢敵觯热绠?dāng)遇到應(yīng)用邏輯錯誤而導(dǎo)致啟動反復(fù)失敗或資源不足,導(dǎo)致啟動總是不成功等問題時,容器平臺本身的 replication control 機(jī)制就不能解決問題了。

這種情況就需要我們把應(yīng)用的故障信息傳遞到外部監(jiān)控,并根據(jù)問題的嚴(yán)重情況進(jìn)行不同等級的告警通知等,由相關(guān)的應(yīng)用人員介入來解決問題,比如升級補(bǔ)丁或回退等。

服務(wù)層面

服務(wù)層面則是監(jiān)控應(yīng)用提供的服務(wù)是否運行正常。例如某個提供 Web 服務(wù)的應(yīng)用,在一些時候雖然應(yīng)用和應(yīng)用中微服務(wù)的運行實例數(shù)量正常,但它的 Web 服務(wù)已經(jīng)失去響應(yīng),或者返回的是錯誤的狀態(tài),這種情況在多數(shù)容器平臺中是無法監(jiān)測到的。

傳統(tǒng)的方式是通過打探針 Agent 方式,但在容器環(huán)境下,這種方式不一定可行,這就需要我們豐富容器故障的監(jiān)測手段或者自己編寫服務(wù)訪問+檢測邏輯來判斷,并把檢測出現(xiàn)的問題上報到外部監(jiān)控,在監(jiān)控中設(shè)立相應(yīng)的告警策略和告警等級。

容器云的多租戶和權(quán)限如何設(shè)計?

多租戶,顧名思義,就是很多人來租用容器云平臺的資源來實現(xiàn)自己的應(yīng)用托管運維需求。這里面主要涉及多租戶、資源管理與分配、安全權(quán)限管理這三個問題。

多租戶的問題

從多租戶的角度考慮,租戶租用容器云平臺的資源來托管、開發(fā)、部署運維自己的應(yīng)用、服務(wù)。

容器云平臺需要提供、維護(hù)保障租戶能正常使用這些資源,同時給租戶托管的應(yīng)用提供服務(wù)注冊、服務(wù)發(fā)現(xiàn)、服務(wù)配置、日志、監(jiān)控、預(yù)警告警、彈性伸縮、負(fù)載均衡、安全等能力。

我們要明白的是租戶只是租用這些能力,它并不運維這些能力。租戶關(guān)注的是托管的應(yīng)用和服務(wù),它需要做的是利用平臺提供的這些能力來無縫的運維他們的應(yīng)用和服務(wù)。

一句話來總結(jié):租戶只是使用/租用資源,容器云平臺管理運維這些資源。租戶側(cè)重于對自己的應(yīng)用或服務(wù)進(jìn)行運維。資源由租戶申請,容器云平臺來分配管理資源。

資源管理與分配

這部分功能建議統(tǒng)一由運維團(tuán)隊或者系統(tǒng)團(tuán)隊負(fù)責(zé),應(yīng)用系統(tǒng)上云前一般會進(jìn)行壓測,有個容量估算的過程。

通過容量估算和趨勢分析,系統(tǒng)人員可以規(guī)劃大致的資源池給相關(guān)應(yīng)用,一般可以通過劃分底層資源池實現(xiàn)。

如果用 K8S,可以在計算節(jié)點上通過 lables 進(jìn)行規(guī)劃,另外還需要在編排文件上設(shè)置好最小資源和最大資源,讓應(yīng)用可以彈性擴(kuò)容。

安全權(quán)限管理

多租戶的安全權(quán)限設(shè)計涉及到容器云平臺整體的權(quán)限控制架構(gòu),最好是實現(xiàn)一個權(quán)限中心,由權(quán)限中心來實現(xiàn)對容器云各組件及各功能的動態(tài)控制,以適應(yīng)靈活的不同的場景需求。

具體來說就是:

  • 組織結(jié)構(gòu)的實現(xiàn)可采用層次結(jié)構(gòu),無論多少層多少級,只標(biāo)注其父結(jié)點 ID,樹型結(jié)構(gòu)遍歷可以獲得所有的結(jié)點,這也是我們下面權(quán)限訪問控制實現(xiàn)的基礎(chǔ)。
  • 角色定義,需要基于用戶及用戶組織結(jié)構(gòu),權(quán)限和容器云提供給租戶的功能列表來實現(xiàn),可以采用 Oracle 數(shù)據(jù)庫的用戶角色權(quán)限定義方式來定義。

比如容器云平臺初始化時可以預(yù)定義角色,比如租戶管理員角色、應(yīng)用管理員角色等,根據(jù)定義的角色權(quán)限展示不同用戶視圖。

把權(quán)限訪問控制提取出來實現(xiàn)一個統(tǒng)一的權(quán)限中心組件,是因為整個容器云平臺、各個組件都面臨著權(quán)限訪問控制需求。

從云計算的理念來說,松耦合、插件式的組件或模塊設(shè)計更靈活和適用快速變化的需求。

對一個客戶來說,一個組件可能需要也可能不需要,每個組件都可以以插拔的方式來控制,根據(jù)客戶需求來部署相應(yīng)的組件,實現(xiàn)相應(yīng)的權(quán)限訪問控制,將會更靈活和便利。

容器與 OpenStack 和 Kubernetes 集成的能力?

在開源云計算技術(shù)蓬勃發(fā)展的這幾年中,OpenStack、Kubernetes、Container 無疑成為了改變云計算格局的三項關(guān)鍵技術(shù)。

但是這三者之間在技術(shù)上仍然存在一個空白:容器運行時強(qiáng)安全隔離的同時保持精簡尺寸以及輕量級,以及如何能夠很容易與 OpenStack 和 Kubernetes 兩大平臺集成從而獲取多租戶以及統(tǒng)一網(wǎng)絡(luò)和統(tǒng)一存儲等諸多好處,這個空白阻礙了用戶從中獲取更大價值。

為了解決這一問題,OpenStack 基金會在今年 12 月 5 日的 KubeCon 峰會上發(fā)布了一項新的開源項目,Kata Containers。

Kata 可以使用戶同時擁有虛擬機(jī)的安全和容器技術(shù)的迅速和易管理性。項目可以屏蔽硬件差異并且和 OCIspeciaification、Kubernetes 容器運行時標(biāo)準(zhǔn)兼容,在支持標(biāo)準(zhǔn)鏡像格式的同時具有強(qiáng)隔離、輕量級以及快速啟動能力。

更重要的是 Kata 項目的設(shè)計初衷強(qiáng)調(diào)了能夠無縫、便捷的與 OpenStack 和 Kubernetes 集成的能力。

無疑 Kata 項目的發(fā)起為 OpenStack、Kubernetes 和 Container 更好的融合提供了有力的支撐,并為用戶從中收益鋪平了道路。

期待容器真正輝煌時代的降臨,但未來的道路,依然任重道遠(yuǎn)!

容器云如何實現(xiàn)高可用和跨區(qū)部署?

容器云需要考慮平臺自身的高可用,實現(xiàn)多可用區(qū)多數(shù)據(jù)中心部署。

容器上的應(yīng)用高可用需要結(jié)合應(yīng)用架構(gòu)來實現(xiàn)。目前微服務(wù)架構(gòu)是最適合云基礎(chǔ)設(shè)施的應(yīng)用架構(gòu)之一。

微服務(wù)應(yīng)用通過服務(wù)注冊發(fā)現(xiàn)、全局配置管理、熔斷、服務(wù)追蹤等容錯設(shè)計,保證應(yīng)用的高可用。

彈性擴(kuò)容,增加微服務(wù)運行的實例數(shù)量,配合負(fù)載均衡策略的使用,減少因壓力過大而導(dǎo)致運行實例宕機(jī)的情況。

總結(jié)

容器技術(shù)在企業(yè)的落地,不是一蹴而就的,是一個漸進(jìn)和價值普及的過程。技術(shù)的更迭方式可以是潛移默化的和平演變,亦或是轟轟烈烈的武裝革命,容器技術(shù)應(yīng)該歸屬于前者。

我們可以看到,容器化技術(shù)已經(jīng)成為計算模型演化的一個開端,可以預(yù)見在更高效和輕量化的平臺實踐之后,容器技術(shù)還將為整個 IT 領(lǐng)域注入更多新鮮和活力,在未來生存和壯大下去,成為引領(lǐng)潮流的決定性力量!

大云網(wǎng)官方微信售電那點事兒

責(zé)任編輯:售電衡衡

免責(zé)聲明:本文僅代表作者個人觀點,與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關(guān)內(nèi)容。
我要收藏
個贊
?
主站蜘蛛池模板: 八戒午夜精品视频在线观看 | 精品日韩一区二区三区视频 | 视频精品一区二区 | 国产黄a三级三级看三级 | 国产欧美日韩在线视频 | 一级在线 | 欧洲 | 在线观看欧洲成人免费视频 | 91精品久久一区二区三区 | 国产系列在线观看 | 日韩国产成人资源精品视频 | 最新黄网 | 中国黄色一级大片 | 国产一级在线观看 | 久久久久久久久免费影院 | 深夜福利视频在线观看免费视频 | 欧美一级www毛片 | 毛片在线全部免费观看 | 美女一丝不佳一级毛片香蕉 | 欧美日韩高清不卡免费观看 | 国产高清在线精品一区二区三区 | 日本a v 黄| 精品日韩欧美一区二区三区在线播放 | 国产毛片在线高清视频 | 国产一区三区二区中文在线 | 久久精品店 | 午夜啪啪福利视频 | 日韩精品在线一区二区 | 在线亚洲自拍 | 中文字幕日韩在线 | 欧美精品专区55页 | 久久亚洲国产午夜精品理论片 | 久久亚洲精品永久网站 | 欧美在线视频二区 | 美女国产福利视频 | 国产欧美成人免费观看 | 久草视频在线网 | 亚洲风情第一页 | 特级aa一级欧美毛片 | 欧美特欧美特级一片 | 欧美aaaa在线观看视频免费 | 国产精品一在线观看 |