作為時下最火熱的熱點(diǎn)詞匯:Kubernetes漓概,其擁有成熟的社區(qū),大公司的背景等等獲得了大部分人的認(rèn)可垛耳,很多公司都在準(zhǔn)備啟用Kubernetes栅屏,但是你的企業(yè)真的準(zhǔn)備好了去采用Kubernetes這項(xiàng)技術(shù)嗎? 數(shù)人云今天給大家分享的本篇文章將從源頭——容器入手堂鲜,逐步分析選擇Kubernetes所需要的思考及準(zhǔn)備栈雳。
什么是容器?K8S適合在哪缔莲?需要什么工具去實(shí)現(xiàn)?
容器的使用比例正在迅速增長蛀骇,開發(fā)商熱愛它暑诸,企業(yè)也以前所未有的熱情去擁抱它西采。
如果你的IT部門正在尋求一種更快狱杰,更簡單的方法去進(jìn)行應(yīng)用開發(fā),那么容器技術(shù)正好可以滿足需求,但什么是容器呢?它們都會處理哪些問題拾氓?Kubernetes是否適用于容器和集群管理空間翰守?為什么要向企業(yè)展示實(shí)施挑戰(zhàn)事示?在探索容器和集群管理工具是否適合應(yīng)用開發(fā)需求時劝堪,應(yīng)考慮哪些因素?
以下是每個企業(yè)需要了解容器、容器集群管理顽聂、Kubernetes的優(yōu)缺點(diǎn)以及如何從Kubernetes實(shí)現(xiàn)中獲得最大利益的一些要點(diǎn)笼沥。
容器及其解決的問題
當(dāng)應(yīng)用開發(fā)人員進(jìn)行測試時鉴裹,必須確保在從一個計(jì)算環(huán)境移動到另一個計(jì)算環(huán)境時能夠可靠得運(yùn)行狈惫,這可能來自于從一個登臺環(huán)境到生產(chǎn)環(huán)境旭从,或者從一個前期服務(wù)器到云中的虛擬機(jī)燎窘,這產(chǎn)生的問題就是俊抵,不同的環(huán)境很少是共生的,軟件可能不同秩命,但網(wǎng)絡(luò)和安全環(huán)境幾乎不可能相同。
容器通過將組成的開發(fā)環(huán)境所有東西打包成一個包去解決這個問題熊镣,這引入了環(huán)境一致性的級別琉挖,并允許開發(fā)人員以相同的方式快速、可靠得部署應(yīng)用程序柴灯,而不管部署環(huán)境如何冬三,通過對應(yīng)用平臺及其依賴關(guān)系的容器化,操作系統(tǒng)分布和底層基礎(chǔ)結(jié)構(gòu)的差異被抽象出來了叮阅,事實(shí)上柒桑,使用容器纺座,就可以忘記所有的基礎(chǔ)設(shè)施蹭秋。
模塊化的曙咽、可執(zhí)行的應(yīng)用包應(yīng)用间唉,容器包括需要運(yùn)行一個應(yīng)用的每個元素——從代碼到設(shè)置姆打,這種可移植性使容器成為組織思考多云策略的重要資產(chǎn)叮贩。
容器還可以幫主準(zhǔn)備適當(dāng)?shù)腄evOps實(shí)現(xiàn)及高效、快速交付的目標(biāo),使用容器涮阔,可以更新和升級且不需要從每次開始的遺留問題伟阔,這也多虧了容器灾部,在現(xiàn)有系統(tǒng)中實(shí)現(xiàn)新的應(yīng)用和效率并不像想象的那么難推姻。
最近的一項(xiàng)調(diào)查顯示,在過去的12個月里藏古,94%的受訪者曾調(diào)研或正在使用比虛擬機(jī)更輕增炭,資源更少的容器技術(shù)。
正在引領(lǐng)容器技術(shù)的公司
Docker現(xiàn)在是主流的容器技術(shù)拧晕,已經(jīng)有了成熟的技術(shù)棧隙姿,強(qiáng)大的開源生態(tài)系統(tǒng),且與任何平臺的高強(qiáng)度兼容性厂捞,以及最主要的機(jī)遇和運(yùn)氣输玷。Docker已經(jīng)遠(yuǎn)遠(yuǎn)超越了曾經(jīng)的對手——rkt,OpenVZ和LXC蔫敲,與底層基礎(chǔ)設(shè)施不可變和獨(dú)立饲嗽,讓Docker在開發(fā)者機(jī)器上運(yùn)行的方式與在生產(chǎn)環(huán)境中是一樣的。
容器管理工具如何有效的管理容器
為了有效得實(shí)現(xiàn)DevOps方法奈嘿,在企業(yè)級應(yīng)用開發(fā)和有效管理容器技術(shù)和平臺貌虾,需要合適的工具。
這就是容器集群管理或容器編排解決方案發(fā)揮作用的地方裙犹,隨著企業(yè)將容器的使用擴(kuò)展到生產(chǎn)中尽狠,問題出現(xiàn)在管理哪些容器運(yùn)行在哪里衔憨,如何處理所有的這些容器,以及確卑栏啵跨宿主的容器之間的簡化通信践图,這些容器被稱之為“集群”。
容器集群管理工具提供了一個企業(yè)框架沉馆,用于在大規(guī)模上集成和管理容器码党,并確保在實(shí)踐DevOps時保持必要的連續(xù)性,基本上斥黑,它們可以幫助您定義初始容器部署揖盘,同時在后臺處理關(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)告顯示,專注于自動化和DevOps的高性能企業(yè)能夠減少它們的交付和變更時間琐簇,因?yàn)樗鼈兲峁┑姆?wù)改變了4440個蒸健,并且增加了46倍的服務(wù)。這些結(jié)果幫助DevOps采用了一種主流的企業(yè)IT現(xiàn)象婉商,因此,今天我們在幾乎所有的行業(yè)和公司規(guī)模上都看到了DevOps的采用渣叛。
盡管DevOps的快速采用有許多驅(qū)動因素丈秩,但在技術(shù)方面,容器在提高所有團(tuán)隊(duì)的自動化程度方面發(fā)揮了關(guān)鍵性作用淳衙,由于Linux容器的簡單性蘑秽、可用性和可移植性,曾經(jīng)為高度工程關(guān)注的組織保留的自動化技術(shù)現(xiàn)在已經(jīng)變得可用了箫攀。
容器提供了標(biāo)準(zhǔn)的打包格式和運(yùn)行時肠牲,無論應(yīng)用是如何架構(gòu)、配置和在容器內(nèi)運(yùn)行靴跛,都可以運(yùn)行任何應(yīng)用缀雳,標(biāo)準(zhǔn)化是一個操作系統(tǒng)、中間件梢睛、數(shù)據(jù)庫和其他組建的長期標(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)的其他原則所需的端到端自動化,容器提供堅(jiān)實(shí)的標(biāo)準(zhǔn)地面敷硅,然而功咒,自動化的過程應(yīng)該在它之上,以使更快的服務(wù)交付绞蹦。
Kubernetes是在Googer的15年以上容器經(jīng)驗(yàn)中誕生的力奋,作為一個精心策劃的框架,被創(chuàng)建并捐贈給社區(qū)坦辟,容器的自動化部署和管理基礎(chǔ)設(shè)施無論使用如虛擬化服務(wù)器的基礎(chǔ)設(shè)施刊侯,私有云或公有云等,在GitHub上锉走,Kubernetes已經(jīng)成為了最活躍的開放源碼項(xiàng)目之一滨彻,有上千萬的貢獻(xiàn)者和數(shù)以百計(jì)的供應(yīng)商。
雖然Kubernetes不提供完整的連續(xù)交付自動化挪蹭,但它提供了比容器提供的堅(jiān)實(shí)基礎(chǔ)更高的起點(diǎn)亭饵,在容器中運(yùn)行容器的許多操作復(fù)雜性已經(jīng)通過編排框架來解決,盡管Kubernetes仍然需要團(tuán)隊(duì)在其上面構(gòu)建一個端到端的自動化流程梁厉,但它確實(shí)提供了許多現(xiàn)成的模塊辜羊,幫助用戶構(gòu)建一個定制的自動化流程,以進(jìn)行持續(xù)交付词顾。
哪些企業(yè)容器集群管理解決方案可用
對于容器集群管理有多種選擇八秃,然而Kubernetes現(xiàn)在比較火熱,稱為最廣泛的開源解決方案肉盹,經(jīng)過15年的Google研發(fā)昔驱,以及令人羨慕的開源社區(qū)(包括紅帽、Canonical上忍、CoreOS和微軟)骤肛,Kuberentes的成熟速度比市場上任何其他產(chǎn)品都要快。
Kubernetes為容器集群管理提供了一個很好的選擇窍蓝,因?yàn)樗鼮殚_發(fā)者提供了一種工具腋颠,可以快速高效地響應(yīng)客戶需求,同時減輕云中的運(yùn)行應(yīng)用負(fù)擔(dān)吓笙。通過消除與部署和伸縮您的容器應(yīng)用相關(guān)的許多手工任務(wù)淑玫,以便在從一個環(huán)境移動到另一個環(huán)境時更可靠得運(yùn)行應(yīng)用,例如:可以調(diào)度并將任意數(shù)量的容器部署到節(jié)點(diǎn)集群(在公共、私有或混合云中)混移。然后Kubernetes扶著管理這些工作負(fù)載祠墅,讓其執(zhí)行意愿。
由于Kubernetes歌径,容器任務(wù)被簡化毁嗦,包括部署操作(水平自動伸縮、滾動更新回铛、金絲雀部署)和管理(監(jiān)視資源狗准、應(yīng)用健康檢查、調(diào)試應(yīng)用等)茵肃。
Kubernetes的門檻
盡管Kubernetes有很多優(yōu)勢腔长,但正如之前討論過的,在選擇最好的Kubernetes管理平臺時验残,其仍然相對難以設(shè)置和使用捞附,管理Kubernetes是一個耗時的過程,需要高技能的員工和一個潛在的巨大的貨幣承諾您没,對于沒有經(jīng)過培訓(xùn)的人員來說鸟召,Kubernetes似乎可以在數(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ù)和昂貴外部資源的情況下交付它舔糖。
那么,有什么選擇呢莺匠?答案在于Kubernetes的管理工具剩盒,為了簡化企業(yè)的Kubernetes管理,即使你的系統(tǒng)是剛性的慨蛙,流行的解決方案包括構(gòu)造,紅帽的開放移動容器平臺纪挎,Rancher期贫,andKublr。
如何選擇正確的Kubernetes管理平臺
當(dāng)為企業(yè)選擇Kubernetes管理平臺時异袄,有很多事情需要考慮通砍,包括:
產(chǎn)品準(zhǔn)備就緒:它是否提供了您需要完全自動化的Kubernetes配置的特性,沒有配置麻煩?是否具有企業(yè)級的安全特性封孙?它會自動處理集群中的所有管理任務(wù)嗎迹冤?它是否為您的應(yīng)用程序提供高可用性、可伸縮性和自愈性虎忌?
未來準(zhǔn)備就緒:平臺是否支持多云策略泡徙?盡管Kubernetes允許在任何地方運(yùn)行應(yīng)用且不需要使它們適應(yīng)新的托管環(huán)境,但要確保Kubernetes管理平臺能夠支持這些功能膜蠢,以便在將來需要時可以進(jìn)行配置堪藐。
易于管理:是否包含自動化的智能監(jiān)控和警報(bào)?是否消除了分析Kubernetes原始數(shù)據(jù)的問題挑围,以便對系統(tǒng)狀態(tài)礁竞、錯誤、事件和告警有一個單一的窗格視圖杉辙。
支持和培訓(xùn):當(dāng)企業(yè)準(zhǔn)備應(yīng)用容器化戰(zhàn)略時模捂,Kuernetes管理平臺提供商是否向企業(yè)保證24X7的支持以及培訓(xùn)?
在所有可用的選擇中蜘矢,只有少數(shù)的一些公司狂男,如Kublr支持了這些選項(xiàng)。加速和簡化了Kubernetes的建立和管理硼端,提供自愈的自動伸縮解決方案并淋,可以將遺留系統(tǒng)引入到單個引擎的云上,同時可以在后臺無縫得維護(hù)珍昨、重建或替換它們县耽,模塊之間的動態(tài)、靈活性和不匹配的透明性镣典,是一種雙贏兔毙。
如何選擇正確的Kubernetes管理平臺供應(yīng)商
當(dāng)思考和計(jì)劃Kubernetes企業(yè)戰(zhàn)略時,要明確自己在前進(jìn)道路上的障礙兄春,以及對Kubernetes的挑戰(zhàn)和誤解澎剥,找出應(yīng)當(dāng)在Kubernetes平臺上尋找什么,花點(diǎn)時間做一個Kubernetes平臺的比較赶舆,最后哑姚,看看自動化工具如何能夠提供生產(chǎn)準(zhǔn)備(最重要的特性)舌厨、未來準(zhǔn)備志鹃、易于管理和支持需要使用Kubernetes。
以上是小數(shù)今天分享的文章隘庄,給想采用Kubernetes的企業(yè)供以參考九串,希望對大家有所幫助绞佩。
原文作者:Kublr Team