迪士尼是如何利用Kubernetes進行多云管理的?
譯文【51CTO.com快譯】沃特迪士尼公司以“讓奇跡發(fā)生”而家喻戶曉,它實施的企業(yè)級跨云項目Kubernetes也不例外。
在2016年11月西雅圖召開的CloudNativeCon大會上作簡短發(fā)言時,迪士尼高級云工程師布萊克·懷特(Blake White)講述了Kubernetes可以跨云工作面臨的幾個難題及解決辦法。
懷特說:“Kubernetes可以為你處理許多繁重任務(wù),但如果你需要考慮企業(yè)及其所有要求,你多少需要跳出Kubernetes來考慮一番。親力親為,別指望所有奇跡,你自己要讓一些奇跡發(fā)生。”
對于規(guī)模如迪士尼這么龐大的企業(yè)來說,有許多開發(fā)團隊、質(zhì)量保證團隊和工程團隊在處理許多不同的項目,每個團隊都會有各自的云環(huán)境。懷特表示,Kubernetes能很好地處理這項任務(wù),但是需要一番調(diào)整才能讓一切正常運行。如何才能實現(xiàn)多個云環(huán)境的管理?
首先要考慮的是連接和數(shù)據(jù):
·這個項目需要訪問代碼庫、工件或企業(yè)網(wǎng)絡(luò)中的其他服務(wù)嗎?
·有沒有需要遵守某些隱私標(biāo)準(zhǔn)的數(shù)據(jù)?
·多大的延遲是可以忍受的?
·你需要在云帳戶之間互聯(lián)嗎?
亞馬遜和谷歌都有支持跨云帳戶連接的服務(wù),兩者都可以迅速將集群搭建并運行起來,但是沒有一個系統(tǒng)能夠與Kubernetes無縫地協(xié)同運行。于是懷特建議:如果你的項目很復(fù)雜,別依賴打開即用的解決方案。
另有自動的方法可以安裝Kubernetes集群。懷特提到了Kube-up.sh和kops都是出色的選擇,但是就配置性而言,沒有一種工具是迪士尼需要的,于是他們構(gòu)建了自己的定制系統(tǒng)。
懷特說:“我們最后自行構(gòu)建了系統(tǒng),這么做的主要原因在于,我們需要自己的虛擬公共云(VPC)可以連回到我們的企業(yè)網(wǎng)絡(luò)。”他認為,構(gòu)建工作方面最棘手的部分就是安裝DNS系統(tǒng)。
懷特解釋:“我們由sky DNS改用kube DNS。此舉對這個集群大有幫助,但是在AWS環(huán)境下,系統(tǒng)根本無法運行?;旧?,我們?yōu)閂PC設(shè)置的DHCP跳過了亞馬遜內(nèi)部系統(tǒng),徑直指回到我們的企業(yè)網(wǎng)絡(luò),這正是我們需要的,但是Kubernetes不樂意了,因為它找不到所有的附注說明(note)。我們構(gòu)建了一臺BIND服務(wù)器,將這臺服務(wù)器指南AWS內(nèi)部系統(tǒng)以獲得內(nèi)部內(nèi)容,然后指回到我們的系統(tǒng)獲取其他一切內(nèi)容……一切又開始正常運行起來。”
懷特在發(fā)言快結(jié)束時談到了日志,給出了幾點提示,即把一切都發(fā)送到中央存儲庫,從而避免不需要的費用,因而只需為egress支付費用。他的解決辦法就是,讓一切資源都靠近集群,只查詢所需的資源。
懷特說:“我們構(gòu)建了一套ELK架構(gòu)(Elasticsearch、Logstash和Kibana);你把儀表板放在哪里要慎重,否則你發(fā)送的東西比想象的要多得多,這一招非常棒。還可以在上面安裝部落節(jié)點(tribe node),那樣可以跨多個云來查詢。這不是唯一的解決辦法,但是效果很好。”
原文標(biāo)題:How Disney Is Realizing the Multi-Cloud Promise of Kubernetes,作者:Ian Murphy
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】