偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何獲知Kubernetes是否適合您的SaaS

譯文
云計(jì)算 SaaS
Kubernetes是一項(xiàng)神奇的技術(shù),我個(gè)人通過(guò)它在自己SaaS上實(shí)施擴(kuò)展、部署和管理的過(guò)程已獲益匪淺。但是客觀而言,并非每個(gè)人都能夠在采用它之后迅速獲益的。

【51CTO.com快譯】Kubernetes是一項(xiàng)神奇的技術(shù),我個(gè)人通過(guò)它在自己SaaS上實(shí)施擴(kuò)展、部署和管理的過(guò)程已獲益匪淺。但是客觀而言,并非每個(gè)人都能夠在采用它之后迅速獲益的,一般有如下的原因:

  • 對(duì)于容器技術(shù)熟悉程度的缺乏
  • 應(yīng)用架構(gòu)不利于使用到Kubernetes的優(yōu)勢(shì)
  • 增加的工作量和所花費(fèi)的時(shí)間

因此,如果你對(duì)Kubernetes感興趣,卻又不確定是否值得投入必要的時(shí)間與資源的話,那么本文應(yīng)該比較適合您來(lái)參考閱讀。

一、您對(duì)容器是否有經(jīng)驗(yàn)?

為了理解Kubernetes能夠?yàn)槟鲂┦裁矗紫刃枰私馊萜髂軌蛱峁┠男﹥?yōu)勢(shì)。因此在你花時(shí)間開(kāi)始使用Kubernetes之前,請(qǐng)事先準(zhǔn)備如下幾點(diǎn):

1.容器化您的應(yīng)用程序

[[221972]]

首先也是最重要的:您的應(yīng)用程序必須已經(jīng)實(shí)現(xiàn)了容器化。這意味著您已經(jīng)定義好了相關(guān)的步驟來(lái)設(shè)定一個(gè)基本的OS映像,并且將您的應(yīng)用程序打包成為一個(gè)文件(通常是一個(gè)Dockerfile)安裝進(jìn)去了。

通過(guò)上述過(guò)程、以及定義配置應(yīng)用程序所需的環(huán)境變量(如應(yīng)用程序所使用的數(shù)據(jù)庫(kù)的URL、用戶名和密碼)都是至關(guān)重要的。這些能夠保證您的容器映像對(duì)于Kubernetes來(lái)說(shuō)是可用的。

同時(shí),您還要記下應(yīng)用程序所需運(yùn)行時(shí)的各種依賴關(guān)系,并且理解如何去使用它們的容器版本。

2.理解存儲(chǔ)是如何運(yùn)作的

容器一般被設(shè)計(jì)為僅保存運(yùn)行某個(gè)應(yīng)用程序所需的代碼。由于對(duì)容器進(jìn)行卸載(tear down)和啟動(dòng)(spin up)的進(jìn)程(在處理多個(gè)容器時(shí),該現(xiàn)象十分常見(jiàn))都會(huì)破壞存儲(chǔ)在該容器文件系統(tǒng)中的所有數(shù)據(jù),因此任何持久性數(shù)據(jù)都需要被存儲(chǔ)到其他地方。

在考慮Kubernetes時(shí),您應(yīng)當(dāng)去理解容器存儲(chǔ)是如何被設(shè)定運(yùn)作的,以及如何處理諸如備份數(shù)據(jù)、在容器之間移動(dòng)數(shù)據(jù)、以及從容器外部訪問(wèn)數(shù)據(jù)等問(wèn)題。

Kubernetes通過(guò)諸如自動(dòng)資源調(diào)配的功能,使得存儲(chǔ)管理更易于實(shí)現(xiàn)。該功能也使得您的存儲(chǔ)提供商(如AWS EBS)在忙于創(chuàng)建新的容器時(shí),會(huì)及時(shí)創(chuàng)建一些新的卷,并自動(dòng)加載它們。

3.理解網(wǎng)絡(luò)是如何運(yùn)作的

您的網(wǎng)絡(luò)構(gòu)建方式會(huì)對(duì)您使用Kubernetes產(chǎn)生巨大的影響。對(duì)于新手來(lái)說(shuō),了解如何在做好隱藏部分信息的情況下,將特定的系統(tǒng)開(kāi)放給外部互聯(lián)網(wǎng)應(yīng)用(如數(shù)據(jù)庫(kù)),同時(shí)保持服務(wù)之間的通信是非常重要的。根據(jù)經(jīng)驗(yàn),我們需要掌握一些更為復(fù)雜的背景知識(shí),包括:如何集成負(fù)載平衡,以及給每個(gè)客戶的實(shí)例定義主機(jī)名等。這些都會(huì)使得Kubernetes的使用變得容易得多。

二、Kubernetes能夠解決您當(dāng)前面臨的各種問(wèn)題嗎?

如何獲知Kubernetes是否適合您的SaaS

如果您并沒(méi)有使用容器來(lái)部署自己的應(yīng)用,那么您可能就不需要用到Kubernetes了。因?yàn)镵ubernetes所解決的問(wèn)題,一般是你在試用和擴(kuò)展一個(gè)基于容器的架構(gòu)時(shí)所碰到的。

下面是我認(rèn)為Kubernetes在試圖解決容器擴(kuò)展問(wèn)題時(shí),所能表現(xiàn)出的優(yōu)勢(shì)之處。

1.擴(kuò)展資源

從本質(zhì)上來(lái)說(shuō),Kubernetes是一組節(jié)點(diǎn)的集群,它提供了可由容器的工作負(fù)載所使用的計(jì)算資源。這種群集架構(gòu)能夠非常容易地對(duì)各種資源進(jìn)行擴(kuò)展或縮減。您只要在群集中添加或刪除某些節(jié)點(diǎn),Kubernetes就會(huì)自動(dòng)利用這些資源,或者是對(duì)您現(xiàn)有資源進(jìn)行工作負(fù)載上的重新分配。

該特性曾經(jīng)解決了我所面臨的一個(gè)棘手問(wèn)題。因?yàn)槲易畛踔挥幸慌_(tái)單獨(dú)的服務(wù)器,為了能夠持續(xù)擴(kuò)展(這本來(lái)會(huì)是一個(gè)麻煩的手動(dòng)過(guò)程),我只需要在CLI(命令行界面中)使用一條命令,就有能力對(duì)自己的架構(gòu)進(jìn)行自由縮放了。

2.執(zhí)行大量的更新

Kubernetes的另一個(gè)能力是:它能夠解決對(duì)所有容器的更新問(wèn)題。過(guò)去,我不得不編寫(xiě)一些shell腳本來(lái)選擇每個(gè)相關(guān)的容器,并使用新的鏡像標(biāo)簽來(lái)重新創(chuàng)建它們。整個(gè)過(guò)程不但要持續(xù)一個(gè)多小時(shí),而且我都無(wú)法去驗(yàn)證更新是否成功。如今,使用了Kubernetes,我就能通過(guò)如下的一條命令來(lái)執(zhí)行更新操作:

 

  1. // Update all the pods of frontend to a new image tage  
  2. $ kubectl rolling-update frontend --image=image:v2 

Kubernetes還允許您基于任何標(biāo)準(zhǔn)、通過(guò)各種命令,來(lái)更新Kubernetes的任一部分(包括網(wǎng)絡(luò)、存儲(chǔ)等)。從編寫(xiě)自己的腳本來(lái)進(jìn)行架構(gòu)更改的角度來(lái)說(shuō),這是一項(xiàng)巨大的進(jìn)步。

3.自愈功能

自愈功能是***一個(gè)需要在此提及的,卻又是Kubernetes最重要的能力。如果Kubernetes在其架構(gòu)中檢測(cè)到諸如:某個(gè)節(jié)點(diǎn)沒(méi)響應(yīng)了、或是某個(gè)容器未通過(guò)健康檢查之類(lèi)的問(wèn)題出現(xiàn)時(shí),它會(huì)根據(jù)既定的步驟執(zhí)行重新創(chuàng)建相應(yīng)涉及到的部分,一直到它們能夠重新恢復(fù)運(yùn)作為止。

這是非常有用的。如果群集中的某個(gè)部分因?yàn)槟撤N原因而下線時(shí),其對(duì)應(yīng)的工作負(fù)載應(yīng)當(dāng)被重新分配,而且您甚至可以讓Kubernetes重建整個(gè)服務(wù)器來(lái)解決問(wèn)題。

三、您的應(yīng)用程序架構(gòu)是否需要更改?

[[221973]]
有時(shí)候,在您的應(yīng)用上采用Kubernetes,就像將一個(gè)方木釘打入一個(gè)圓孔中。

由于我的應(yīng)用最初就是被構(gòu)建為:通過(guò)多個(gè)容器的部署,產(chǎn)生一個(gè)多實(shí)例的平臺(tái),因此當(dāng)被遷移到Kubernetes時(shí),我并沒(méi)有做太多的更改。

下面我分享一些在把自己的工作負(fù)載遷移到Kubernetes的過(guò)程中所學(xué)到的內(nèi)容。

1.應(yīng)用的啟動(dòng)時(shí)間很重要

當(dāng)創(chuàng)建新的部署時(shí),您必須等待應(yīng)用啟動(dòng)之后,才能讓最終用戶可用。這樣就會(huì)產(chǎn)生一個(gè)問(wèn)題:如果在最終用戶按下某個(gè)按鈕的時(shí)刻,或是在您對(duì)所有客戶實(shí)例上執(zhí)行更新的那一刻,部署進(jìn)程正好涉及到創(chuàng)建新的實(shí)例的話,那么就需要重新生成一些pod了。

因此在遷移到Kubernetes的時(shí)候,您可能需要對(duì)代碼庫(kù)進(jìn)行一些更改,使得啟動(dòng)進(jìn)程更為高效,以至于最終用戶在使用您的產(chǎn)品時(shí),不會(huì)產(chǎn)生體驗(yàn)上的下降。

2.調(diào)整多租戶的架構(gòu)比較困難

多租戶架構(gòu)意味著您擁有一個(gè)單獨(dú)的應(yīng)用實(shí)例,由它來(lái)管理分區(qū)租戶環(huán)境中的所有最終用戶,當(dāng)然它通常會(huì)將單個(gè)數(shù)據(jù)庫(kù)共享給每個(gè)人。

如果您的應(yīng)用不是使用群集的方式構(gòu)建的話(將多個(gè)服務(wù)器聯(lián)合為單個(gè)實(shí)例),那么您就不應(yīng)該去使用Kubernetes。

通常在使用Kubernetes時(shí),我們會(huì)采用兩種類(lèi)型的架構(gòu):

  • 多實(shí)例架構(gòu),即為每個(gè)用戶分配一個(gè)應(yīng)用的實(shí)例
  • 多租戶架構(gòu),具有群集功能,能夠?qū)κ褂玫馁Y源進(jìn)行向上擴(kuò)展和向下縮減

相對(duì)于群集式的多租戶架構(gòu)而言,我個(gè)人更喜歡多實(shí)例的架構(gòu),因?yàn)樗鼈兏菀妆粚?shí)施。此外,相對(duì)于為多實(shí)例架構(gòu)增加各種群集的能力,將多租戶遷移到多實(shí)例架構(gòu)所涉及的工作量要小得多。

3.遷移到無(wú)狀態(tài)應(yīng)用是一項(xiàng)浩大的工程

Kubernetes的一個(gè)重要特點(diǎn)是:在部署中具有向上擴(kuò)展和向下縮減pod數(shù)量的能力。但是,如果您的應(yīng)用程序既不是群集化的、又不是無(wú)狀態(tài)的,那么此功能就等于浪費(fèi),因?yàn)樵诓渴疬^(guò)程中,那些額外的pod既不會(huì)被正確地配置、又無(wú)法被使用到。

大多數(shù)情況下,由于您需要在應(yīng)用中對(duì)其處理配置的方式進(jìn)行重寫(xiě),因此在Kubernetes中使用無(wú)狀態(tài)的進(jìn)程往往會(huì)得不償失。

如果您不想花費(fèi)時(shí)間將應(yīng)用程序改成無(wú)狀態(tài)或群集模式的話,那也沒(méi)關(guān)系,畢竟Kubernetes能提供許多其他的方法,來(lái)幫助您改成有狀態(tài)的部署模式。當(dāng)然這些方法也會(huì)有其自身的各種問(wèn)題,本文在此就不深入討論了。

四、到底是否應(yīng)該采用Kubernetes呢?

對(duì)于是否遷移Kubernetes這個(gè)問(wèn)題,您應(yīng)該考慮它是否真的適合于您當(dāng)前的系統(tǒng)。對(duì)于大多數(shù)早期初創(chuàng)公司來(lái)說(shuō),可能不會(huì)需要Kubernetes;而對(duì)于一些更成熟的公司來(lái)說(shuō),他們可能已經(jīng)在其他技術(shù)上有了大量的投入,因此遷移也是不太可行的。

在此我認(rèn)為最適合遷移到Kubernetes的應(yīng)該是:某個(gè)初創(chuàng)公司,它希望能從現(xiàn)有最小規(guī)模、且正在運(yùn)行的云基礎(chǔ)架構(gòu)中,轉(zhuǎn)向更為穩(wěn)定的狀態(tài),并且通過(guò)使用容器來(lái)“賦能”其生產(chǎn)環(huán)境中的工作負(fù)載。其實(shí)這就是我所經(jīng)歷的過(guò)程。也就是說(shuō),我自己經(jīng)歷了從資源管理不足和服務(wù)器過(guò)載所導(dǎo)致的周期性宕機(jī),到使用和遷移到Kubernetes的整個(gè)過(guò)程。如今我已經(jīng)不再擔(dān)心自己的基礎(chǔ)架構(gòu)了。

原文標(biāo)題:How to know if Kubernetes is right for your SaaS,作者:Ben Sears

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:未麗燕 來(lái)源: 51CTO.com
相關(guān)推薦

2019-03-19 08:47:17

Wi-Fi 6Wi-Fi網(wǎng)絡(luò)

2011-11-25 10:18:48

SaaS云計(jì)算

2015-09-28 10:01:53

linux適合

2025-02-04 13:34:14

2012-03-05 10:42:24

SaaS云計(jì)算數(shù)據(jù)存儲(chǔ)

2017-12-06 21:39:11

2015-09-21 11:28:57

使用Linux系統(tǒng)

2022-11-10 14:33:40

Kubernetes容器

2021-03-12 08:00:00

Kubernetes工具

2015-05-05 10:35:49

OpenStack云計(jì)算

2013-12-06 10:20:21

2011-05-12 11:26:00

客戶端虛擬化平臺(tái)

2023-09-15 10:44:47

2015-06-15 13:26:21

DCIM數(shù)據(jù)中心

2020-03-04 10:13:55

Kubernetes容器開(kāi)發(fā)

2019-10-21 08:00:59

物聯(lián)網(wǎng)架構(gòu)IOT

2009-02-25 13:39:12

固態(tài)盤(pán)SSD存儲(chǔ)I

2010-07-13 16:15:49

XenServer5.6

2019-05-29 11:15:10

多云企業(yè)云平臺(tái)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)