企業(yè)級(jí)落地容器與DevOps,選用K8S都有哪些“姿勢(shì)”

作為時(shí)下最火熱的熱點(diǎn)詞匯:Kubernetes,其擁有成熟的社區(qū),大公司的背景等等獲得了大部分人的認(rèn)可,很多公司都在準(zhǔn)備啟用Kubernetes,但是你的企業(yè)真的準(zhǔn)備好了去采用Kubernetes這項(xiàng)技術(shù)嗎? 數(shù)人云今天給大家分享的本篇文章將從源頭——容器入手,逐步分析選擇Kubernetes所需要的思考及準(zhǔn)備。

什么是容器?K8S適合在哪?需要什么工具去實(shí)現(xiàn)?

容器的使用比例正在迅速增長(zhǎng),開發(fā)商熱愛它,企業(yè)也以前所未有的熱情去擁抱它。

如果你的IT部門正在尋求一種更快,更簡(jiǎn)單的方法去進(jìn)行應(yīng)用開發(fā),那么容器技術(shù)正好可以滿足需求,但什么是容器呢?它們都會(huì)處理哪些問題?Kubernetes是否適用于容器和集群管理空間?為什么要向企業(yè)展示實(shí)施挑戰(zhàn)?在探索容器和集群管理工具是否適合應(yīng)用開發(fā)需求時(shí),應(yīng)考慮哪些因素?

以下是每個(gè)企業(yè)需要了解容器、容器集群管理、Kubernetes的優(yōu)缺點(diǎn)以及如何從Kubernetes實(shí)現(xiàn)中獲得最大利益的一些要點(diǎn)。

容器及其解決的問題

當(dāng)應(yīng)用開發(fā)人員進(jìn)行測(cè)試時(shí),必須確保在從一個(gè)計(jì)算環(huán)境移動(dòng)到另一個(gè)計(jì)算環(huán)境時(shí)能夠可靠得運(yùn)行,這可能來自于從一個(gè)登臺(tái)環(huán)境到生產(chǎn)環(huán)境,或者從一個(gè)前期服務(wù)器到云中的虛擬機(jī),這產(chǎn)生的問題就是,不同的環(huán)境很少是共生的,軟件可能不同,但網(wǎng)絡(luò)和安全環(huán)境幾乎不可能相同。

容器通過將組成的開發(fā)環(huán)境所有東西打包成一個(gè)包去解決這個(gè)問題,這引入了環(huán)境一致性的級(jí)別,并允許開發(fā)人員以相同的方式快速、可靠得部署應(yīng)用程序,而不管部署環(huán)境如何,通過對(duì)應(yīng)用平臺(tái)及其依賴關(guān)系的容器化,操作系統(tǒng)分布和底層基礎(chǔ)結(jié)構(gòu)的差異被抽象出來了,事實(shí)上,使用容器,就可以忘記所有的基礎(chǔ)設(shè)施。

模塊化的、可執(zhí)行的應(yīng)用包應(yīng)用,容器包括需要運(yùn)行一個(gè)應(yīng)用的每個(gè)元素——從代碼到設(shè)置,這種可移植性使容器成為組織思考多云策略的重要資產(chǎn)。

容器還可以幫主準(zhǔn)備適當(dāng)?shù)腄evOps實(shí)現(xiàn)及高效、快速交付的目標(biāo),使用容器,可以更新和升級(jí)且不需要從每次開始的遺留問題,這也多虧了容器,在現(xiàn)有系統(tǒng)中實(shí)現(xiàn)新的應(yīng)用和效率并不像想象的那么難。

最近的一項(xiàng)調(diào)查顯示,在過去的12個(gè)月里,94%的受訪者曾調(diào)研或正在使用比虛擬機(jī)更輕,資源更少的容器技術(shù)。

正在引領(lǐng)容器技術(shù)的公司

Docker現(xiàn)在是主流的容器技術(shù),已經(jīng)有了成熟的技術(shù)棧,強(qiáng)大的開源生態(tài)系統(tǒng),且與任何平臺(tái)的高強(qiáng)度兼容性,以及最主要的機(jī)遇和運(yùn)氣。Docker已經(jīng)遠(yuǎn)遠(yuǎn)超越了曾經(jīng)的對(duì)手——rkt,OpenVZ和LXC,與底層基礎(chǔ)設(shè)施不可變和獨(dú)立,讓Docker在開發(fā)者機(jī)器上運(yùn)行的方式與在生產(chǎn)環(huán)境中是一樣的。

容器管理工具如何有效的管理容器

為了有效得實(shí)現(xiàn)DevOps方法,在企業(yè)級(jí)應(yīng)用開發(fā)和有效管理容器技術(shù)和平臺(tái),需要合適的工具。

這就是容器集群管理或容器編排解決方案發(fā)揮作用的地方,隨著企業(yè)將容器的使用擴(kuò)展到生產(chǎn)中,問題出現(xiàn)在管理哪些容器運(yùn)行在哪里,如何處理所有的這些容器,以及確??缢拗鞯娜萜髦g的簡(jiǎn)化通信,這些容器被稱之為“集群”。

容器集群管理工具提供了一個(gè)企業(yè)框架,用于在大規(guī)模上集成和管理容器,并確保在實(shí)踐DevOps時(shí)保持必要的連續(xù)性,基本上,它們可以幫助您定義初始容器部署,同時(shí)在后臺(tái)處理關(guān)鍵的IT功能,如可用性、伸縮性和網(wǎng)絡(luò)——所有這些都是Streamlined、標(biāo)準(zhǔn)化和統(tǒng)一的。

Kubernetes如何助力DevOps

根據(jù)Gartner最近的一項(xiàng)調(diào)查顯示,大約50%的受訪者計(jì)劃在2017年年底前實(shí)施持續(xù)交付和DevOps,以便更快、更頻繁、更可靠得提供服務(wù),Puppet Labs發(fā)布的DevOps報(bào)告顯示,專注于自動(dòng)化和DevOps的高性能企業(yè)能夠減少它們的交付和變更時(shí)間,因?yàn)樗鼈兲峁┑姆?wù)改變了4440個(gè),并且增加了46倍的服務(wù)。這些結(jié)果幫助DevOps采用了一種主流的企業(yè)IT現(xiàn)象,因此,今天我們?cè)趲缀跛械男袠I(yè)和公司規(guī)模上都看到了DevOps的采用。

盡管DevOps的快速采用有許多驅(qū)動(dòng)因素,但在技術(shù)方面,容器在提高所有團(tuán)隊(duì)的自動(dòng)化程度方面發(fā)揮了關(guān)鍵性作用,由于Linux容器的簡(jiǎn)單性、可用性和可移植性,曾經(jīng)為高度工程關(guān)注的組織保留的自動(dòng)化技術(shù)現(xiàn)在已經(jīng)變得可用了。

容器提供了標(biāo)準(zhǔn)的打包格式和運(yùn)行時(shí),無論應(yīng)用是如何架構(gòu)、配置和在容器內(nèi)運(yùn)行,都可以運(yùn)行任何應(yīng)用,標(biāo)準(zhǔn)化是一個(gè)操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)和其他組建的長(zhǎng)期標(biāo)準(zhǔn)操作環(huán)境(SOE)項(xiàng)目的目標(biāo),實(shí)際上已經(jīng)變成了今天的容器,因此本文坐著看來,這是DevOps人氣的主要轉(zhuǎn)折點(diǎn)。

盡管容器可以提供標(biāo)準(zhǔn)化,但容器不能解決的是實(shí)現(xiàn)持續(xù)交付和DevOps所倡導(dǎo)的其他原則所需的端到端自動(dòng)化,容器提供堅(jiān)實(shí)的標(biāo)準(zhǔn)地面,然而,自動(dòng)化的過程應(yīng)該在它之上,以使更快的服務(wù)交付。

Kubernetes是在Googer的15年以上容器經(jīng)驗(yàn)中誕生的,作為一個(gè)精心策劃的框架,被創(chuàng)建并捐贈(zèng)給社區(qū),容器的自動(dòng)化部署和管理基礎(chǔ)設(shè)施無論使用如虛擬化服務(wù)器的基礎(chǔ)設(shè)施,私有云或公有云等,在GitHub上,Kubernetes已經(jīng)成為了最活躍的開放源碼項(xiàng)目之一,有上千萬的貢獻(xiàn)者和數(shù)以百計(jì)的供應(yīng)商。

雖然Kubernetes不提供完整的連續(xù)交付自動(dòng)化,但它提供了比容器提供的堅(jiān)實(shí)基礎(chǔ)更高的起點(diǎn),在容器中運(yùn)行容器的許多操作復(fù)雜性已經(jīng)通過編排框架來解決,盡管Kubernetes仍然需要團(tuán)隊(duì)在其上面構(gòu)建一個(gè)端到端的自動(dòng)化流程,但它確實(shí)提供了許多現(xiàn)成的模塊,幫助用戶構(gòu)建一個(gè)定制的自動(dòng)化流程,以進(jìn)行持續(xù)交付。

哪些企業(yè)容器集群管理解決方案可用

對(duì)于容器集群管理有多種選擇,然而Kubernetes現(xiàn)在比較火熱,稱為最廣泛的開源解決方案,經(jīng)過15年的Google研發(fā),以及令人羨慕的開源社區(qū)(包括紅帽、Canonical、CoreOS和微軟),Kuberentes的成熟速度比市場(chǎng)上任何其他產(chǎn)品都要快。

Kubernetes為容器集群管理提供了一個(gè)很好的選擇,因?yàn)樗鼮殚_發(fā)者提供了一種工具,可以快速高效地響應(yīng)客戶需求,同時(shí)減輕云中的運(yùn)行應(yīng)用負(fù)擔(dān)。通過消除與部署和伸縮您的容器應(yīng)用相關(guān)的許多手工任務(wù),以便在從一個(gè)環(huán)境移動(dòng)到另一個(gè)環(huán)境時(shí)更可靠得運(yùn)行應(yīng)用,例如:可以調(diào)度并將任意數(shù)量的容器部署到節(jié)點(diǎn)集群(在公共、私有或混合云中)。然后Kubernetes扶著管理這些工作負(fù)載,讓其執(zhí)行意愿。

由于Kubernetes,容器任務(wù)被簡(jiǎn)化,包括部署操作(水平自動(dòng)伸縮、滾動(dòng)更新、金絲雀部署)和管理(監(jiān)視資源、應(yīng)用健康檢查、調(diào)試應(yīng)用等)。

Kubernetes的門檻

盡管Kubernetes有很多優(yōu)勢(shì),但正如之前討論過的,在選擇最好的Kubernetes管理平臺(tái)時(shí),其仍然相對(duì)難以設(shè)置和使用,管理Kubernetes是一個(gè)耗時(shí)的過程,需要高技能的員工和一個(gè)潛在的巨大的貨幣承諾,對(duì)于沒有經(jīng)過培訓(xùn)的人員來說,Kubernetes似乎可以在數(shù)小時(shí)或數(shù)天內(nèi)運(yùn)行,但在生產(chǎn)環(huán)境中,需要額外的功能——安全性、高可用性、災(zāi)難恢復(fù)、備份和維護(hù)——所有需要讓Kubernetes生產(chǎn)“準(zhǔn)備就緒”的一切都是如此。

其結(jié)果是,那些應(yīng)用了Kubernetes的企業(yè)很快就意識(shí)到,他們無法在不引入技術(shù)和昂貴外部資源的情況下交付它。

那么,有什么選擇呢?答案在于Kubernetes的管理工具,為了簡(jiǎn)化企業(yè)的Kubernetes管理,即使你的系統(tǒng)是剛性的,流行的解決方案包括構(gòu)造,紅帽的開放移動(dòng)容器平臺(tái),Rancher,andKublr。

如何選擇正確的Kubernetes管理平臺(tái)

當(dāng)為企業(yè)選擇Kubernetes管理平臺(tái)時(shí),有很多事情需要考慮,包括:

  • 產(chǎn)品準(zhǔn)備就緒:它是否提供了您需要完全自動(dòng)化的Kubernetes配置的特性,沒有配置麻煩?是否具有企業(yè)級(jí)的安全特性?它會(huì)自動(dòng)處理集群中的所有管理任務(wù)嗎?它是否為您的應(yīng)用程序提供高可用性、可伸縮性和自愈性?

  • 未來準(zhǔn)備就緒:平臺(tái)是否支持多云策略?盡管Kubernetes允許在任何地方運(yùn)行應(yīng)用且不需要使它們適應(yīng)新的托管環(huán)境,但要確保Kubernetes管理平臺(tái)能夠支持這些功能,以便在將來需要時(shí)可以進(jìn)行配置。

  • 易于管理:是否包含自動(dòng)化的智能監(jiān)控和警報(bào)?是否消除了分析Kubernetes原始數(shù)據(jù)的問題,以便對(duì)系統(tǒng)狀態(tài)、錯(cuò)誤、事件和告警有一個(gè)單一的窗格視圖。

  • 支持和培訓(xùn):當(dāng)企業(yè)準(zhǔn)備應(yīng)用容器化戰(zhàn)略時(shí),Kuernetes管理平臺(tái)提供商是否向企業(yè)保證24X7的支持以及培訓(xùn)?

在所有可用的選擇中,只有少數(shù)的一些公司,如Kublr支持了這些選項(xiàng)。加速和簡(jiǎn)化了Kubernetes的建立和管理,提供自愈的自動(dòng)伸縮解決方案,可以將遺留系統(tǒng)引入到單個(gè)引擎的云上,同時(shí)可以在后臺(tái)無縫得維護(hù)、重建或替換它們,模塊之間的動(dòng)態(tài)、靈活性和不匹配的透明性,是一種雙贏。

如何選擇正確的Kubernetes管理平臺(tái)供應(yīng)商

當(dāng)思考和計(jì)劃Kubernetes企業(yè)戰(zhàn)略時(shí),要明確自己在前進(jìn)道路上的障礙,以及對(duì)Kubernetes的挑戰(zhàn)和誤解,找出應(yīng)當(dāng)在Kubernetes平臺(tái)上尋找什么,花點(diǎn)時(shí)間做一個(gè)Kubernetes平臺(tái)的比較,最后,看看自動(dòng)化工具如何能夠提供生產(chǎn)準(zhǔn)備(最重要的特性)、未來準(zhǔn)備、易于管理和支持需要使用Kubernetes。

以上是小數(shù)今天分享的文章,給想采用Kubernetes的企業(yè)供以參考,希望對(duì)大家有所幫助。

原文作者:Kublr Team

原文鏈接:http://www.tuicool.com/articles/jUjENrZ

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容