您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“如何用Docker和Kubernetes重做云服務(wù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何用Docker和Kubernetes重做云服務(wù)”吧!
在之前的博客中,我寫過開源軟件如何作為服務(wù)被交付,而不是從二進(jìn)制文件角度來看它們。這些開源服務(wù)交付一個(gè)免費(fèi)、開放、靈活的服務(wù),工程師用來幫助創(chuàng)建他們的應(yīng)用程序,這個(gè)過程不需要解決保持軟件持續(xù)運(yùn)行的問題。
今天我們來談進(jìn)一步的話題,新一代的云服務(wù):Anywhere Cloud Services,即隨處安放的云,這一切多虧有了Docker和Kubernetes。
現(xiàn)在的應(yīng)用程序水平云服務(wù),比如說AWS的Kinesis或者是谷歌的BigTable,會(huì)提供全面管理服務(wù)給工程師,在這里你可以在不需要努力維護(hù)的基礎(chǔ)上創(chuàng)建一個(gè)應(yīng)用程序。這些服務(wù)不僅安全、自動(dòng)調(diào)度的、被監(jiān)控的,登陸中的,還是整合好的,已更新的。個(gè)人來說,我愛死這些服務(wù)了。但是……
你可以通過代碼鎖定這些服務(wù)(比如,修改數(shù)據(jù)庫備份的時(shí)候需要修改軟件)
選擇一家公有云服務(wù),同時(shí)也會(huì)要求強(qiáng)制使用他們的硬件。所以,要是你的應(yīng)用是在微軟Azure上運(yùn)行,但是私心卻比較偏愛Big Table,那怎么辦?
如果你想要使用開源軟件,但是又不想自己操作,調(diào)度,也不想自己給開源軟件提供安全措施怎么辦?
讓我們進(jìn)入Anywhere Cloud Service。
anywhere cloud service服務(wù)是全面管理服務(wù),這個(gè)管理服務(wù)可以在任意地方交付,它有三個(gè)特點(diǎn):
全面托管——用戶不需要擔(dān)心保持服務(wù)在線這個(gè)事情。服務(wù)提供商會(huì)承擔(dān)這個(gè)責(zé)任。
可以運(yùn)行在任何地方——用戶選擇服務(wù)所在的地方??赡苁侵饕脑铺峁┥痰钠渲幸粋€(gè),或者是帶有標(biāo)準(zhǔn)API的私有云。在運(yùn)行的基礎(chǔ)設(shè)施中有一個(gè)清晰的分界:
被當(dāng)作service,而不是軟件——以明顯可消耗的方法來為使用者提供一個(gè)功能。比如,一個(gè)No SQL服務(wù)提供注入數(shù)據(jù)的方法,并且解析數(shù)據(jù)。這個(gè)服務(wù)會(huì)自我治愈。當(dāng)被需要的時(shí)候它會(huì)自己調(diào)度。它為使用者提供指標(biāo),日志和警報(bào)。這也是高度可用的。安裝這個(gè)服務(wù)跟運(yùn)行一個(gè)命令行或者點(diǎn)擊一個(gè)按鈕一樣簡單可操作。
為了幫助闡述這個(gè)idea,這里是一些我們可能不久之后就會(huì)看到的例子:
AWS上的任意的非基礎(chǔ)設(shè)施,比如說,No SQL DynamoDB服務(wù),可以提供在其他所有云提供商上。比如,Azure,谷歌云等等。
谷歌的非基礎(chǔ)設(shè)施服務(wù),比如他們的PaaS App Engine,可以被部署在任意公有云上,甚至可以通過openstack部署到本地?cái)?shù)據(jù)中心。
初創(chuàng)公司在Docker容器空間后,創(chuàng)建了可以在任意公有云或者私有云上運(yùn)行你的應(yīng)用程序/代碼的服務(wù)。
出于想要受益于開源軟件的原因,開發(fā)團(tuán)隊(duì)決定使用在Kafka,Spark和Cassandra的數(shù)據(jù)棧。然而,他們并不想自己雇咨詢公司或者自己操作。所以,有些初創(chuàng)公司專門研究在任意期望的位置提供這些軟件,他們使用的就是這些初創(chuàng)公司做的新服務(wù)。
這些開源軟件的創(chuàng)造者會(huì)打包他們的軟件,這樣的話,除了處理源代碼和二進(jìn)制文件,軟件可以像配置服務(wù)一樣輕松。這些公司同時(shí)也將花費(fèi)成本提供這些service的“支持”版本。
以上這些皆有可能,多虧Anywhere Cloud Service。
在到達(dá)ACS的過程中,有兩大障礙:
1、如何用標(biāo)準(zhǔn)和有效的方式跨越多個(gè)云服務(wù)商,在硬件的前提下,來打包和配置軟服務(wù)。
2、怎樣使用有效的方式來打包、運(yùn)行、配置、調(diào)度和確保你的服務(wù)的安全性。
Docker令我們可以快速的創(chuàng)建,打包和通過特殊方式打包在多個(gè)系統(tǒng)上運(yùn)行軟件。通過使用容器,云服務(wù)提供商可以在任意環(huán)境運(yùn)行他們的軟件。但是,這還遠(yuǎn)遠(yuǎn)不夠。我們需要一種可以讓軟件安裝、運(yùn)行和實(shí)現(xiàn)高可用的方法。我們需要Kubernetes。
一旦軟件在Docker容器中打包,我們就可以通過使用Kubernetes的功能將他們的軟件變成service。Kubernetes的功能目標(biāo)就是處理一系列基礎(chǔ)設(shè)施(不管是哪里的),同時(shí)提供API在基礎(chǔ)設(shè)施的基礎(chǔ)上創(chuàng)建服務(wù)。Kubernetes包括了負(fù)載均衡、彈性擴(kuò)容、滾動(dòng)更新、服務(wù)發(fā)現(xiàn)、命名空間、APIs,彈性調(diào)度和可配置的基礎(chǔ)設(shè)施和閾值限制等等功能。使用這些功能,我們就可以創(chuàng)建聲明式服務(wù),并且將這些服務(wù)的控制權(quán)交給用戶。Kubernetes提高No和NoOps,同時(shí)也提供給開發(fā)者單個(gè)API,使用戶可以進(jìn)入公有云和私有云。
首先,用戶需要有一個(gè)或者多個(gè)Kubernetes集群。安裝Kubernetes,使其運(yùn)行能夠在5分鐘內(nèi),或者幾天內(nèi)運(yùn)行起來(這個(gè)時(shí)間的話依據(jù)你的不同情況而定)。Kubernetes支持大部分的公有云,openstack云和本地?cái)?shù)據(jù)中心。用戶也可以選擇要運(yùn)行在虛擬機(jī)上還是運(yùn)行在物理機(jī)上。我們可以自己運(yùn)行kubernetes,如果我們在尋找增加支持,我們也可以使用管理工具來運(yùn)行。
注意,在這里,用戶完全處于控制地位,擺脫任意的鎖定,自己控制自己的應(yīng)用程序在哪里運(yùn)行。多虧普通API,這些API存在于任意的基礎(chǔ)設(shè)施環(huán)境,用戶可以使用他們的集群在多個(gè)云提供商上進(jìn)行交付,或者他們可以創(chuàng)建一個(gè)真實(shí)的混合策略。
其次,通過將這些服務(wù)將他們的代碼配置到用戶的Kubernetes集群上,這樣用戶可以簡單的使用這些服務(wù)。通過app store,或者通過開發(fā)人員,用戶可以搜索滿足他們需求的服務(wù),然后點(diǎn)擊安裝。服務(wù)提供商會(huì)在云端或者是在本地接觸Kubernetes集群問題,并且安裝服務(wù)。開發(fā)人員會(huì)馬上開始使用服務(wù)。服務(wù)提供商的工作就是確保服務(wù)運(yùn)行,健康的,并且按照需要調(diào)度。
在這個(gè)新世界,用戶對(duì)自己的應(yīng)用程序和他們所依賴的服務(wù)有越來越大的控制權(quán)。他們可以在云間,在私有云、公有云上移動(dòng)我們的應(yīng)用程序。使用者可以在多個(gè)集群間積極運(yùn)行應(yīng)用程序或準(zhǔn)備好active-standby。
到此,相信大家對(duì)“如何用Docker和Kubernetes重做云服務(wù)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。