成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Kubernetes你需要知道的硬道理

fyber / 3569人閱讀

摘要:是谷歌內(nèi)部為解決這個(gè)問(wèn)題所做的工作的產(chǎn)物,它為管理容器如何在整個(gè)集群中運(yùn)行提供了一個(gè)單一的框架。在云中使用服務(wù)在許多云中作為標(biāo)準(zhǔn)問(wèn)題項(xiàng)提供,盡管它在谷歌云平臺(tái),中最突出地表現(xiàn)為本地特性。使用,運(yùn)行控制平面,將重點(diǎn)部署將用于所需配置的容器。

每一項(xiàng)創(chuàng)新都會(huì)帶來(lái)新的復(fù)雜性。容器使以一種方便的、可移植的形式打包和運(yùn)行應(yīng)用程序成為可能,但至少要說(shuō)以規(guī)模管理容器是一個(gè)挑戰(zhàn)。

Kubernetes是谷歌內(nèi)部為解決這個(gè)問(wèn)題所做的工作的產(chǎn)物,它為管理容器如何在整個(gè)集群中運(yùn)行提供了一個(gè)單一的框架。它提供的服務(wù)通常集中在catch all術(shù)語(yǔ)“協(xié)調(diào)”下,但這涵蓋了很多領(lǐng)域:調(diào)度容器、容器之間的服務(wù)發(fā)現(xiàn)、跨系統(tǒng)的負(fù)載平衡、滾動(dòng)更新、回滾、高可用性等等。

使用Kubernetes發(fā)行版

Kubernetes誕生于管理Linux容器。但是,對(duì)于Kubernetes 1.5,Kubernetes也支持Windows服務(wù)器容器,盡管Kubernetes控制平面必須繼續(xù)在Linux上運(yùn)行。當(dāng)然,借助虛擬化,可以在任何平臺(tái)上開始使用Kubernetes。

如果選擇在自己的硬件或虛擬機(jī)上運(yùn)行Kubernetes,一種常見的方法是獲得打包的Kubernetes分發(fā),它通常將上游Kubernetes位與其他部分(容器注冊(cè)表、網(wǎng)絡(luò)、存儲(chǔ)、安全性、日志記錄、監(jiān)控、連續(xù)集成管道等)結(jié)合在一起以完成TE部署。此外,Kubernetes發(fā)行版通常可以安裝并運(yùn)行在任何虛擬機(jī)基礎(chǔ)設(shè)施中:AmazonEC2、Azure虛擬機(jī)、Google計(jì)算引擎、OpenStack等。

另一種方法是在傳統(tǒng)的Linux發(fā)行版上運(yùn)行Kubernetes,盡管這通常會(huì)帶來(lái)更多的管理開銷和手工操作。例如,Red Hat Enterprise Linux在其軟件包存儲(chǔ)庫(kù)中有Kubernetes,但甚至Red Hat也建議僅用于測(cè)試和實(shí)驗(yàn)。Red Hat Stack建議用戶通過(guò)OpenShift PaaS使用Kubernetes,而不是手工拼湊一些東西,因?yàn)镺penShift現(xiàn)在使用Kubernetes作為自己的本地編排器。

許多傳統(tǒng)的Linux發(fā)行版為建立Kubernetes和其他大型軟件棧提供了特殊的工具。例如,Ubuntu提供了一個(gè)名為conjure-up的工具,可以用來(lái)在云和裸機(jī)實(shí)例上部署Kubernetes的上游版本。Canonical還提供了Microk8s,一個(gè)通過(guò)快照包系統(tǒng)安裝的Kubernetes版本。

在云中使用Kubernetes服務(wù)

Kubernetes在許多云中作為標(biāo)準(zhǔn)問(wèn)題項(xiàng)提供,盡管它在谷歌云平臺(tái)(Google Cloud Platform,GCP)中最突出地表現(xiàn)為本地特性。GCP提供兩種運(yùn)行Kubernetes的主要方法。最方便和緊密集成的方法是通過(guò)google Kubernetes引擎,它允許運(yùn)行Kubernetes的命令行工具來(lái)管理創(chuàng)建的集群。

或者,可以使用Google計(jì)算引擎設(shè)置計(jì)算集群并手動(dòng)部署Kubernetes。此方法需要更重的提升,但允許對(duì)容器引擎進(jìn)行不可能的自定義。如果剛開始使用容器,請(qǐng)使用容器引擎。稍后,在想嘗試一些更高級(jí)的東西之后,比如定制版的Kubernetes或自己修改版本,可以部署運(yùn)行Kubernetes發(fā)行版的VM。

對(duì)于Amazon,最初必須通過(guò)在EC2中部署計(jì)算集群來(lái)運(yùn)行Kubernetes。這仍然是一個(gè)選擇,但Amazon現(xiàn)在為Kubernetes(EKS)提供彈性集裝箱服務(wù)。使用EKS,Amazon運(yùn)行控制平面,將重點(diǎn)部署將用于所需配置的容器。EKS還運(yùn)行標(biāo)準(zhǔn)的上游版Kubernetes。一個(gè)聰明的特性是Kubernetes與AWS組合的其余部分的集成。AWS服務(wù)在EKS中顯示為Kubernetes本機(jī)自定義資源定義,因此對(duì)AWS或Kubernetes的任何更改都不會(huì)破壞這種連接。

許多Kubernetes發(fā)行版附帶了在AWS和其他地方設(shè)置的詳細(xì)說(shuō)明。例如,Red Hat OpenShift可以通過(guò)交互式安裝程序或腳本安裝在一臺(tái)或多臺(tái)主機(jī)上,或者使用TerraForm“基礎(chǔ)設(shè)施即代碼”配置工具?;蛘?,Kubernetes的kops工具可以用于在AWS上提供一個(gè)通用虛擬機(jī)集群,并支持Google Cloud Engine,VMware vSphere和其他正在開發(fā)的云。

Microsoft Azure通過(guò)Azure Kubernetes服務(wù)支持Kubernetes。在這里由Azure管理Kubernetes主節(jié)點(diǎn),而通過(guò)資源管理器模板或TerraForm創(chuàng)建集群。如果希望同時(shí)控制主節(jié)點(diǎn)和代理節(jié)點(diǎn),則可以始終在Azure虛擬機(jī)上安裝Kubernetes分發(fā)版。這就是說(shuō),AKS的一個(gè)關(guān)鍵優(yōu)勢(shì)是,不需要為主節(jié)點(diǎn)的使用付費(fèi),只需為代理付費(fèi)。

在各種環(huán)境(云環(huán)境或其他環(huán)境)中提供基本Kubernetes集群的一種快速方法是在任何地方使用一個(gè)名為Kubernetes的項(xiàng)目。此腳本適用于Google計(jì)算引擎、Microsoft Azure、VMware vSphere(需要vCenter)和OpenStack。在每種情況下,Kubernetes Anywhere都為設(shè)置提供一定程度的自動(dòng)化。

使用MiniKube在本地運(yùn)行Kubernetesetes

如果只在本地環(huán)境(如開發(fā)機(jī)器)中運(yùn)行Kubernetes,而不需要整個(gè)Kubernetes enchilada,那么有幾種方法可以設(shè)置“剛好足夠”的Kubernetes以供使用。

一個(gè)由Kubernetes開發(fā)團(tuán)隊(duì)本身提供的是MiniKube。運(yùn)行它,將在選擇的虛擬化主機(jī)中部署單節(jié)點(diǎn)Kubernetes集群。MiniKube有一些先決條件,但它們都很容易在MacOS、Linux或Windows上實(shí)現(xiàn)。

運(yùn)行Kubernetes演示應(yīng)用程序

一旦運(yùn)行了Kubernetes,就可以開始部署和管理容器了。可以通過(guò)使用許多基于容器的應(yīng)用程序演示中的一個(gè)來(lái)輕松進(jìn)入容器操作。以一個(gè)現(xiàn)有的基于容器的應(yīng)用程序演示為例,自己組裝它,看看它是如何組成的,部署它,然后逐步修改它,直到它接近對(duì)您有用的東西。如果選擇了MiniKube來(lái)找到自己的立足點(diǎn),可以使用hello MiniKube教程在單節(jié)點(diǎn)Kubernetes演示安裝中創(chuàng)建一個(gè)包含簡(jiǎn)單node.js應(yīng)用程序的Docker容器。

一旦你有了這個(gè)想法,你就可以在自己的容器中進(jìn)行交換,并練習(xí)部署這些容器。下一步是部署一個(gè)類似于在生產(chǎn)中使用的示例應(yīng)用程序,并熟悉更高級(jí)的Kubernetes概念,例如pods(一個(gè)或多個(gè)包含應(yīng)用程序的容器)、服務(wù)(pods的邏輯集)、副本集(在機(jī)器故障時(shí)提供自愈)和部署(appli陽(yáng)離子版本控制)。

舉個(gè)例子,打開wordpress/mysql示例應(yīng)用程序的引擎,將看到更多關(guān)于如何將這些組件部署到Kubernetes中并運(yùn)行它們的說(shuō)明。還將看到生產(chǎn)級(jí)Kubernetes應(yīng)用程序使用的許多概念的實(shí)現(xiàn)細(xì)節(jié)。將學(xué)習(xí)如何設(shè)置持久性卷以保留應(yīng)用程序的狀態(tài),如何通過(guò)服務(wù)向彼此和外部世界公開pods,如何將應(yīng)用程序密碼和API密鑰存儲(chǔ)為機(jī)密,等等。

weaveworks有一個(gè)示例應(yīng)用程序sock shop,它展示了如何使用微服務(wù)模式來(lái)組成Kubernetes中的應(yīng)用程序。對(duì)于熟悉底層技術(shù)的人來(lái)說(shuō),sock shop將是最有用的——node.js、go-kit和spring-boot,但是核心原則是要超越特定的框架并說(shuō)明云本地技術(shù)。

如果你瀏覽了wordpress/mysql應(yīng)用程序,并設(shè)想有一個(gè)預(yù)先烘焙的Kubernetes應(yīng)用程序可以滿足你的需求,那么你可能是對(duì)的。Kubernetes有一個(gè)名為helm的應(yīng)用程序定義系統(tǒng),它提供了打包、版本和共享Kubernetes應(yīng)用程序的方法。許多流行的應(yīng)用程序(gitlab、wordpress)和應(yīng)用程序構(gòu)建塊(mysql、nginx)通過(guò)Kubeapps門戶網(wǎng)站很容易獲得helm“圖表”。

使用Kubernetes管理容器

Kubernetes通過(guò)強(qiáng)大的抽象(如pods和服務(wù))簡(jiǎn)化了容器管理,同時(shí)通過(guò)標(biāo)簽和名稱空間等機(jī)制提供了很大的靈活性,這些機(jī)制可用于分離pods、服務(wù)和部署(如開發(fā)、分段和生產(chǎn)工作負(fù)載)。

如果采用上述其中一個(gè)示例并在多個(gè)命名空間中設(shè)置不同的實(shí)例,那么可以練習(xí)對(duì)每個(gè)命名空間中的組件進(jìn)行獨(dú)立于其他名稱空間的更改。然后,可以使用部署來(lái)允許這些更新在給定名稱空間的pods中逐步展開。

下一步是學(xué)習(xí)如何通過(guò)管理基礎(chǔ)設(shè)施的工具來(lái)驅(qū)動(dòng)Kubernetes。例如,Puppet有一個(gè)模塊,用于創(chuàng)建和操作Kubernetes中的資源。同樣,HashiCorp的地形對(duì)Kubernetes作為一種資源的支持也越來(lái)越大。如果您計(jì)劃使用這樣的資源管理器,請(qǐng)注意,不同的工具可能會(huì)給表帶來(lái)非常不同的假設(shè)。例如,puppet和terraform默認(rèn)分別使用可變和不可變的基礎(chǔ)設(shè)施。這些哲學(xué)和行為上的差異可以決定它有多容易或有多困難。

本文翻譯自Serdar Yegulalp(InfoWorld資深作家)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/5854.html

相關(guān)文章

  • Virtlet 介紹—— 或許是 NFV 新方向?

    摘要:該公司剛剛宣布了一個(gè)計(jì)劃,意在取代現(xiàn)有的發(fā)行版。這甚至可能幫找到一個(gè)新方向。為了解決這個(gè)問(wèn)題,我們?cè)谏显黾恿艘粋€(gè)名為的新功能??傮w而言,整個(gè)過(guò)程呈現(xiàn)如下建立包括,以及一個(gè)的基礎(chǔ)架構(gòu)。 這是 TCP CLOUD 聯(lián)合創(chuàng)始人 & 前 CTO Jakub Pavlik 于 2017 年 7 月 9 日發(fā)布于 www.mirantis.com 的文章。本文主要介紹了 Virtlet 及其未來(lái)與...

    XUI 評(píng)論0 收藏0
  • Kubernetes中的Volume概念

    摘要:背景中有的概念,其中對(duì)它的管理有點(diǎn)松散。鏡像是文件系統(tǒng)層次的根,任何被掛載到鏡像中的特定目錄上。中的每個(gè)容器必須獨(dú)立指定每個(gè)的位置。當(dāng)一個(gè)由于某種原因從節(jié)點(diǎn)上移除,中的數(shù)據(jù)也會(huì)被永久刪除。 容器中的磁盤文件是易失的,這給運(yùn)行在容器中的大型應(yīng)用帶來(lái)了一些麻煩。首先,當(dāng)一個(gè)容器崩潰,kubelet會(huì)重啟它,但是之前存儲(chǔ)的文件會(huì)丟失 - 容器以一個(gè)初始的狀態(tài)重建。第二,當(dāng)在一個(gè)Pod中運(yùn)行多...

    libxd 評(píng)論0 收藏0
  • kubernetes的調(diào)度機(jī)制

    摘要:的調(diào)度機(jī)制組件調(diào)度器會(huì)將調(diào)度到資源滿足要求并且評(píng)分最高的上。這個(gè)特性的設(shè)計(jì)初衷是為了替代,并擴(kuò)展更強(qiáng)大的調(diào)度策略。和完全相同,以進(jìn)行強(qiáng)制的約束。軟規(guī)則除了,,還有一條軟規(guī)則配置后,沒有相關(guān)污點(diǎn)策略的會(huì)盡量避免調(diào)度到該上。 k8s的調(diào)度機(jī)制 scheduler組件 k8s調(diào)度器會(huì)將pod調(diào)度到資源滿足要求并且評(píng)分最高的node上。我們可以使用多種規(guī)則比如:1.設(shè)置cpu、內(nèi)存的使用要求;...

    selfimpr 評(píng)論0 收藏0
  • UCloud 基于Kubernetes Operator的服務(wù)化實(shí)踐

    摘要:宋體是面向內(nèi)部基于打造的容器服務(wù)平臺(tái),旨在提升內(nèi)部研發(fā)效率,幫助改善規(guī)范研發(fā)流程。宋體作為容器編排框架,可以減輕配置部署管理和監(jiān)控大規(guī)模容器應(yīng)用的負(fù)擔(dān)。宋體核心原理宋體解釋不得不提中兩個(gè)最具價(jià)值的理念聲明式和控制器模式。KUN(Keep UCloud Nimble)是面向 UCloud 內(nèi)部、基于 Kubernetes 打造的容器服務(wù)平臺(tái),旨在提升內(nèi)部研發(fā)效率,幫助改善、規(guī)范研發(fā)流程。在 K...

    zorpan 評(píng)論0 收藏0
  • 用Docker和Kubernetes將MongoDB作為微服務(wù)來(lái)運(yùn)行

    摘要:注意事項(xiàng)用容器和編排工具運(yùn)行介紹了一些額外注意事項(xiàng)數(shù)據(jù)庫(kù)是有狀態(tài)的。尤其,在副本集合中,一個(gè)節(jié)點(diǎn)必須被用來(lái)執(zhí)行和命令。名字叫做的被配置用來(lái)確保的單個(gè)實(shí)例是一直在運(yùn)行的。 想要在你的手提電腦上嘗試MongoDB嗎?執(zhí)行一個(gè)命令,然后擁有一個(gè)輕量級(jí),獨(dú)立的沙箱;再執(zhí)行一個(gè)命令,刪除你完成之后所有的痕跡。是不是需要一個(gè)在多個(gè)環(huán)境中都跟你的應(yīng)用程序堆棧一樣的應(yīng)用程序?創(chuàng)建一你自己的容器鏡像,然...

    Neilyo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<