中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

混合云環境中擴展Kubernetes的挑戰及方案

發布時間:2020-07-27 19:09:40 來源:網絡 閱讀:421 作者:RancherLabs 欄目:云計算

引    言


假設您的業務是在線的:您擁有自己的數據中心,擁有用于運行您網站的私有云。您需要部署許多服務器來運行應用程序并存儲其數據。


也許大多數時候,您的網站的整體流量非常穩定。但也許也有時候,網站的流量會面臨突然的增長,這時您該如何應對?


首先,您需要能夠擴展應用程序,以應對流量增加。若您不想在每年只使用幾次的新硬件上額外花錢,您可以考慮轉向混合云模式。


從私有云轉向混合云,可以大大節省時間和成本。將應用程序(部分)擴展到公有云后,您就只需在使用它們時、僅為您所使用的資源付費。


但是,您該如何選擇公有云?您可以選擇多個公有云嗎?


簡短來說,回答是肯定的,您很有可能需要選擇多個公有云提供商。您也許有不同的團隊,需要處理不同的應用程序,有不同的要求,因此一個云提供商可能無法滿足您的所有需求。此外,許多組織需要遵守某些法律、法規和政策,這些法律、法規和政策要求他們的數據必須實際駐留在某些特定地點。使用多個公有云的策略可以幫助組織滿足這些嚴格的、多樣化的要求。他們還可以從多個數據中心區域或可用區域中進行選擇,以盡可能接近最終用戶,從而為他們提供最佳性能和最小延遲。


跨云擴展的挑戰


你已經決定使用云了,所以讓我們回過頭來思考一下最初的問題。您的應用程序具有針對您的應用程序的微服務部署架構,這一架構上運行著需要擴展的容器。而這,就是Kubernetes發揮作用的地方。Kubernetes這一解決方案,可幫助您管理和編排節點集群中的容器化應用程序。雖然Kubernetes將幫助您管理和擴展部署、節點和集群,但它無法幫助您輕松地跨云提供商管理和擴展它們。這一點我們會在稍后詳細介紹。

 

Kubernetes集群是一組機器(物理/虛擬),Kubernetes為集群提供資源以運行應用程序。首先,您需要了解的基本Kubernetes概念是:


  • Pod是控制一個或多個容器的單元,它會作為一個應用程序來被調度。通常,您應該為每個應用程序創建一個Pod,以便您可以單獨擴展和控制它們。

  • 節點組件是Kubernetes中的worker machine。節點可以是虛擬機(VM)或物理機,具體取決于集群。每個節點都包含運行pod所需的服務,并由主組件管理。

  • 主組件管理著Pod的生命周期。如果Pod死亡,Controller會創建一個新的Pod;如果你對Pod進行擴容或縮容,那么Controller會創建/銷毀你的Pod。有關Controller類型的更多信息,可以參閱此處:

    https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/

 

這三個組件的作用是擴展和調度容器。主組件指示調度和擴容的命令,然后節點相應地根據命令來編排pod。


混合云環境中擴展Kubernetes的挑戰及方案


上述只是Kubernetes非常基礎的概念,這篇《零基礎入門│帶你理解Kubernetes》可以帶你更詳細地理解Kubernetes。


嘗試使用Kubernetes解決跨云擴展的問題時,會遇到一些關鍵挑戰:


  • 難以管理多個云、多個集群,設置用戶,設置策略

  • 安裝和配置的復雜性

  • 不同環境的用戶或團隊會有不同體驗


Rancher可以幫助您解決上述難題。Rancher是一個開源的容器管理平臺,用于在生產中運行Kubernetes。Rancher的下述功能可以幫助我們管理和擴展我們的應用程序,無論計算資源是在本地托管還是在多個云上托管:


  • 跨多個集群和云的通用基礎架構管理

  • 簡單易用的Kubernetes配置和部署界面

  • 一鍵輕松擴展Pod和集群

  • 訪問控制和用戶管理(ldap,AD)

  • 工作負載、RBAC、政策和項目管理


在多云、甚至有可能是多個任何可以運行Kubernetes的基礎架構上,Rancher都可以成為您的多個Kubernetes集群的單一控制點。


下面讓我們看看我們如何管理兩個不同區域的多個Kubernetes集群。


啟動Rancher 2.0實例


首先,啟動Rancher 2.0實例。具體方法可以參照這個快速上手指南:https://rancher.com/quick-start/


上手Rancher和Kubernetes


讓我們在兩個不同的地區的GCP中創建兩個托管的Kubernetes集群。為此,您需要一個服務帳戶密鑰。


在Global選項卡中,我們可以看到所有可用的集群及其狀態。從Provisioning狀態開始,集群準備好后,狀態會變成Active。 


混合云環境中擴展Kubernetes的挑戰及方案
混合云環境中擴展Kubernetes的挑戰及方案


現在我們已經從Kubernetes集群中為每個節點部署了許多pod。這些pod將由Kubernetes和Rancher的內部系統使用。


下面繼續為兩個集群部署工作負載。按順序選擇默認項目; 這將打開Workloads選項卡。單擊Deploy,將第一個集群的名稱及Docker鏡像設置為httpd,第二個集群的設置為nginx,因為我們希望將我們的Web服務器暴露給Port映射區域。選擇一個四層負載均衡中的Internet流量。 


混合云環境中擴展Kubernetes的挑戰及方案
混合云環境中擴展Kubernetes的挑戰及方案
混合云環境中擴展Kubernetes的挑戰及方案
混合云環境中擴展Kubernetes的挑戰及方案


如果單擊nginx / httpd工作負載,您將看到Rancher實際上按照Kubernetes的建議創建了一個部署來管理ReplicaSet。您還將看到這個ReplicaSet創建的Pod。


擴展Pod和集群


Rancher實例正在管理兩個集群:


  • us-east1b-cluster,運行5個httpd Pod

  • europe-west4-a cluster,運行1個 nginx Pod


單擊Scale列下的“-”(減號圖標),可以減少httpd Pod。我們很快就看到Pod數量減少了。 


混合云環境中擴展Kubernetes的挑戰及方案
混合云環境中擴展Kubernetes的挑戰及方案


若想要擴展pod,請單擊Scale列下的“+”(加號圖標)。完成后,您可以立即看到Pod正在被創建,以及ReplicaSet正在擴展事件。使用Pod的右側菜單嘗試刪除其中一個pod,留意觀察ReplicaSet如何重新創建它,以匹配所需的狀態。 


混合云環境中擴展Kubernetes的挑戰及方案
混合云環境中擴展Kubernetes的挑戰及方案


如此一來,第一個集群的httpd Pod數從5個變到了2個,第二個集群的nginx Pod從1個變到了7個。現在,第二個集群看起來幾乎耗盡了資源。

 

混合云環境中擴展Kubernetes的挑戰及方案


通過Rancher,我們還可以通過添加額外的節點來擴展集群。下面嘗試這樣做一下,讓我們將節點數編輯為5。 


混合云環境中擴展Kubernetes的挑戰及方案


雖然是Rancher向我們展示了“協調集群”,但其實是Kubernetes在幕后升級集了群主服務器并調整節點池的大小。


混合云環境中擴展Kubernetes的挑戰及方案


稍等一下,最終你應該看到5個節點啟動并運行。 


混合云環境中擴展Kubernetes的挑戰及方案


讓我們檢查一下Global選項卡,這樣我們就可以對Rancher正在管理的所有集群有一個全局的了解。 


混合云環境中擴展Kubernetes的挑戰及方案


現在我們可以添加更多Pod(如果我們想的話),因為現在我們有新的可用資源了。下面試著把pod數變為13。


混合云環境中擴展Kubernetes的挑戰及方案


最重要的是,所有這些操作都是在沒有停機的情況下完成的。在向上或向下擴展Pod或調整集群大小時,為httpd / nginx部署命中公有IP,HTTP響應狀態代碼始終為200。 


混合云環境中擴展Kubernetes的挑戰及方案
混合云環境中擴展Kubernetes的挑戰及方案


總    結


讓我們回顧一下我們的Kubernetes集群縮放練習:


  • 我們使用Rancher創建了兩個集群

  • 我們部署了含有1個 nginx  Pod和5個httpd  Pod的工作負載

  • 對這兩個部署進行擴容和縮容

  • 調整了集群的大小


所有這些操作,都是通過在Rancher友好且直觀的UI上,通過一些簡單點擊而完成的。當然,您也可以完全使用API完成這些操作。


在任何一種情況下,您都有一個中心點,您可以從中管理所有Kubernetes集群,觀察其狀態或根據需要擴展部署。如果您正在尋找一種工具來幫助您在混合/多云、多區域集群中進行基礎架構管理和容器編排,那么開源的Rancher Kubernetes平臺可能非常適合您。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

米泉市| 陕西省| 阿拉善盟| 德令哈市| 深泽县| 阜康市| 荣昌县| 崇州市| 天门市| 崇礼县| 林周县| 乳山市| 凤山市| 寻乌县| 织金县| 玉田县| 安图县| 枣庄市| 电白县| 库尔勒市| 临沭县| 金沙县| 迁西县| 正镶白旗| 北流市| 乐都县| 嘉义市| 平罗县| 新兴县| 临沂市| 海门市| 孙吴县| 道真| 文山县| 安远县| 固安县| 宜宾县| 临邑县| 尼勒克县| 嘉禾县| 清原|