成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Vcluster實(shí)現(xiàn)Kubernetes中的多租戶

譯文
云計(jì)算
使用Loft公司的Vcluster項(xiàng)目可以在Kubernetes中輕松實(shí)現(xiàn)多租戶功能。本文探索了其租賃模式及其優(yōu)缺點(diǎn)。

譯者 | 李睿

審校 | 重樓

Kubernetes徹底改變了組織部署和管理容器化應(yīng)用程序的方式,使跨集群編排和擴(kuò)展應(yīng)用程序變得更加容易。然而,在共享的Kubernetes集群上運(yùn)行多個異構(gòu)工作負(fù)載會帶來資源爭用、安全風(fēng)險、缺乏定制和復(fù)雜管理等挑戰(zhàn)。

以下幾種方法可以在Kubernetes中實(shí)現(xiàn)隔離和多租戶:

  • Kubernetes命名空間:命名空間通過在不同用戶之間劃分集群資源來實(shí)現(xiàn)一定的隔離。但是,命名空間共享相同的物理基礎(chǔ)設(shè)施和內(nèi)核資源。因此,隔離和定制是有限制的。
  • Kubernetes發(fā)行版:流行的Kubernetes發(fā)行版(例如Red Hat OpenShift和Rancher)支持Vcluster。它們更有效地利用了Kubernetes的原生功能,例如命名空間、RBAC和網(wǎng)絡(luò)策略。其他優(yōu)點(diǎn)包括集中控制平臺、預(yù)配置集群模板和易于使用的管理。
  • 分層命名空間:在傳統(tǒng)的Kubernetes集群中,每個命名空間都是獨(dú)立的。這意味著一個名稱空間中的用戶和應(yīng)用程序不能訪問另一個名稱空間中的資源,除非他們具有明確的權(quán)限。分層命名空間通過允許在命名空間之間定義父子關(guān)系來解決這個問題。這意味著在父命名空間中擁有權(quán)限的用戶或應(yīng)用程序?qū)⒆詣釉谒凶用臻g中擁有權(quán)限。這使得跨多個名稱空間管理權(quán)限變得容易得多。
  • Vcluster項(xiàng)目:Vcluster項(xiàng)目通過將物理Kubernetes集群劃分為多個獨(dú)立的軟件定義集群來解決這些痛點(diǎn)。Vcluster允許組織為開發(fā)團(tuán)隊(duì)、應(yīng)用程序和客戶提供專用的Kubernetes環(huán)境,這些環(huán)境具有有保證的資源、安全策略和自定義配置。本文將深入探討Vcluster、它的功能、不同的實(shí)現(xiàn)選項(xiàng)、用例和挑戰(zhàn),還將研究最大化利用率和簡化Vcluster管理的最佳實(shí)踐。

什么是Vcluster?

Vcluster是一個開源工具,允許用戶創(chuàng)建和管理虛擬Kubernetes集群。虛擬Kubernetes集群是一個功能齊全的Kubernetes集群,它運(yùn)行在另一個Kubernetes集群之上。Vcluster的工作原理是在底層Kubernetes集群的命名空間中創(chuàng)建一個Vcluster。Vcluster有自己的控制平臺,但它共享底層集群的工作節(jié)點(diǎn)和網(wǎng)絡(luò)。這使得Vcluster成為一個輕量級的解決方案,可以部署在任何Kubernetes集群上。

用戶在創(chuàng)建Vcluster時,可以指定希望Vcluster擁有的工作節(jié)點(diǎn)的數(shù)量。然后,Vcluster命令行將創(chuàng)建Vcluster,并在工作節(jié)點(diǎn)上啟動控制平臺pod。然后可以使用kubectl CLI將工作負(fù)載部署到Vcluster。

用戶可以在Vcluster網(wǎng)站上了解更多關(guān)于Vcluster的信息。

使用Vcluster的好處

(1)資源隔離

Vcluster允許用戶將中央集群的一部分資源(例如CPU、內(nèi)存和存儲)分配給單個Vcluster。當(dāng)多個團(tuán)隊(duì)共享相同的物理集群時,這可以防止“嘈雜鄰居”問題。可以確保關(guān)鍵工作負(fù)載不受干擾地獲得所需的資源。

(2)訪問控制

使用Vcluster,可以在Vcluster級別實(shí)施訪問策略,確保只有授權(quán)用戶才能訪問。例如,像金融應(yīng)用程序這樣的敏感工作負(fù)載可以在隔離的Vcluster中運(yùn)行。與命名空間級策略相比,限制訪問要簡單得多。

(3)定制

Vcluster允許針對各個團(tuán)隊(duì)的需求進(jìn)行廣泛的定制,并且可以定制不同的Kubernetes版本、網(wǎng)絡(luò)策略、進(jìn)入規(guī)則和資源配額。開發(fā)人員可以在不影響其他人的情況下修改他們的Vcluster。

(4)多租戶

組織必須經(jīng)常向多個內(nèi)部團(tuán)隊(duì)或外部客戶提供Kubernetes訪問。通過在同一物理集群中創(chuàng)建獨(dú)立的隔離環(huán)境,Vcluster使多租戶易于實(shí)現(xiàn)。

(5)容易擴(kuò)展

額外的Vcluster可以快速啟動或關(guān)閉,以處理動態(tài)工作負(fù)載和擴(kuò)展需求。可以立即提供新的開發(fā)和測試環(huán)境,而無需擴(kuò)展整個物理集群。

Vcluster之前的工作負(fù)載隔離方法

在Vcluster作為解決方案出現(xiàn)之前,組織已經(jīng)利用了各種Kubernetes的本地特性來實(shí)現(xiàn)一些工作負(fù)載隔離:

  • 命名空間:命名空間在不同的團(tuán)隊(duì)或應(yīng)用程序之間隔離集群資源。它們通過資源配額和網(wǎng)絡(luò)策略提供基本的隔離。但是,沒有系統(tǒng)管理程序級別的隔離。
  • 網(wǎng)絡(luò)策略:細(xì)粒度的網(wǎng)絡(luò)策略限制pod和命名空間之間的通信。這會在工作負(fù)載之間創(chuàng)建網(wǎng)絡(luò)分段。但是,仍然可能發(fā)生資源爭用。
  • 污點(diǎn)和容忍度:對節(jié)點(diǎn)應(yīng)用污點(diǎn)可以防止指定的pod在節(jié)點(diǎn)上進(jìn)行調(diào)度。pod必須具有與污點(diǎn)相匹配的容忍度。這樣可以將pod限制為特定節(jié)點(diǎn)。
  • 云虛擬網(wǎng)絡(luò):在公共云上,使用多個虛擬網(wǎng)絡(luò)有助于隔離Kubernetes集群流量。但是集群中的pod仍然可以通信。
  • 第三方網(wǎng)絡(luò)插件:像Calico、Weave和Cilium這樣的CNI插件可以構(gòu)建覆蓋網(wǎng)絡(luò)和細(xì)粒度的網(wǎng)絡(luò)策略來隔離流量。
  • 定制控制器:開發(fā)定制Kubernetes控制器允許以編程方式隔離資源。但這需要大量的編程專業(yè)知識。

Vcluster的演示

(1)安裝Vcluster命令行

要求:

  • kubectl(通過kubectl版本檢查)
  • helm v3(檢查helm版本)
  • 一個可以訪問Kubernetes集群的工作kube-context(通過kubectl查詢名稱空間)。

使用以下命令下載基于arm64的Ubuntu機(jī)器的Vcluster CLI二進(jìn)制文件:

curl -L -o vcluster 
"https://github.com/loft-sh/vcluster/releases/latest/download/vcluster-linux-arm64" && sudo install -c -m 0755 cluste /usr/local/bin && rm -f vcluster
bash

要確認(rèn)Vcluster CLI已成功安裝,通過以下方式測試:

vcluster --version
bash

要在其他服務(wù)器上安裝,可以參考以下鏈接。安裝Vcluster命令行。

(2)部署Vcluster

創(chuàng)建一個Vclustermy-first-Vcluster

vcluster create my-first-vcluster
bash

(3)連接到Vcluster

輸入以下命令連接Vcluster:

vcluster connect my-first-vcluster
bash

使用kubectl命令獲取連接的Vcluster中的名稱空間。

kubectl get namespaces
bash

將應(yīng)用程序部署到Vcluster

現(xiàn)在,在Vcluster中部署一個示例Nginx部署。創(chuàng)建一個部署:

kubectl create namespace demo-nginx
kubectl create deployment nginx-deployment -n demo-nginx --image=nginx
bash

這將把應(yīng)用程序隔離在Vcluster中的一個命名空間demo-nginx中。

可以檢查此演示部署是否會在Vcluster中創(chuàng)建pod:

kubectl get pods -n demo-nginx
bash

檢查主機(jī)集群部署

既然已經(jīng)確認(rèn)了Vcluster中的部署,現(xiàn)在嘗試檢查主機(jī)集群中的部署。

斷開與Vcluster的連接。

vcluster disconnect
bash

這將把kube場景移回主機(jī)集群。現(xiàn)在檢查主機(jī)集群中是否有可用的部署。

kubectl get deployments -n vcluster-my-first-vcluster
bash

在Vcluster-my-Vcluster命名空間中找不到任何資源。這是因?yàn)椴渴鸨桓綦x在其他集群無法訪問的Vcluster中。

現(xiàn)在使用以下命令檢查所有名稱空間中是否有pod正在運(yùn)行。

kubectl get pods -n vcluster-my-first-vcluster
bash

現(xiàn)在可以看到Nginx容器在Vcluster命名空間中運(yùn)行。

Vcluster用例

Vcluster通過在單個物理集群中提供隔離的和可定制的Kubernetes環(huán)境來支持幾個重要的用例。以下更詳細(xì)地探討其中的一些:

(1)開發(fā)和測試環(huán)境

為開發(fā)團(tuán)隊(duì)分配專用的Vcluster允許他們完全控制配置,而不會影響生產(chǎn)工作負(fù)載或其他開發(fā)人員。開發(fā)團(tuán)隊(duì)可以使用所需的Kubernetes版本、網(wǎng)絡(luò)策略、資源配額和訪問控制來定制他們的Vcluster。開發(fā)團(tuán)隊(duì)可以快速啟動和關(guān)閉Vcluster以測試不同的配置。由于Vcluster提供了有保證的計(jì)算和存儲資源,開發(fā)人員不需要開展競爭,它們也不會影響在其他Vcluster中運(yùn)行的應(yīng)用程序的性能。

(2)生產(chǎn)應(yīng)用程序隔離

企業(yè)應(yīng)用程序(例如ERP、CRM和財(cái)務(wù)系統(tǒng))需要可預(yù)測的性能、高可用性和嚴(yán)格的安全性。專用Vcluster允許這些生產(chǎn)工作負(fù)載不受其他應(yīng)用程序的影響。可以為關(guān)鍵任務(wù)應(yīng)用程序分配預(yù)留容量,以避免資源爭用。定制網(wǎng)絡(luò)策略保證隔離。集群還允許基于角色的粒度訪問控制,以滿足合規(guī)性需求。與過度配置大型集群以避免干擾不同,Vcluster以較低的成本提供有保證的資源。

(3)多租戶

服務(wù)提供商和擁有多個業(yè)務(wù)單元的企業(yè)通常需要向不同的內(nèi)部團(tuán)隊(duì)或外部客戶安全地提供Kubernetes訪問權(quán)限。通過為每個租戶創(chuàng)建單獨(dú)的自助服務(wù)環(huán)境并應(yīng)用適當(dāng)?shù)馁Y源限制和訪問策略,Vcluster簡化了多租戶。提供商可以通過采用額外的Vcluster輕松地為新客戶提供服務(wù)。這消除了“嘈雜鄰居”問題,并通過根據(jù)實(shí)際使用情況(而不是峰值需求)打包Vcluster來實(shí)現(xiàn)高密度的工作負(fù)載。

(4)合規(guī)性

金融和醫(yī)療保健等受到嚴(yán)格監(jiān)管的行業(yè)在數(shù)據(jù)隱私、地理位置和訪問控制方面有嚴(yán)格的安全性和合規(guī)性要求。具有內(nèi)部網(wǎng)絡(luò)分段、基于角色的訪問控制和資源隔離的專用Vcluster可以更輕松地與同一集群中的其他應(yīng)用程序一起安全地托管兼容的工作負(fù)載。

(5)臨時資源

Vcluster允許立即啟動臨時Kubernetes環(huán)境來處理以下用例:

  • 測試集群升級:新的Kubernetes版本可以部署到較低的環(huán)境中,而不會停機(jī)或影響生產(chǎn)。
  • 評估新的應(yīng)用程序:應(yīng)用程序可以部署到一次性的Vcluster中,而不是共享的開發(fā)集群,以防止沖突。
  • 容量峰值:新的Vcluster為流量峰值提供突發(fā)容量,而不是過度配置整個集群。
  • 特殊事件:可以為研討會、會議和其他事件臨時創(chuàng)建Vcluster。

一旦不再需要,就可以簡單地刪除這些Vcluster,而不會在集群上留下持久的足跡。

(6)工作負(fù)載整合

隨著組織擴(kuò)展Kubernetes的足跡,需要在不干擾現(xiàn)有應(yīng)用程序的情況下將多個集群合并到共享的基礎(chǔ)設(shè)施上。將應(yīng)用程序遷移到Vcluster提供了邏輯隔離和定制,允許它們與其他工作負(fù)載一起無縫運(yùn)行。這提高了利用率并減少了操作開銷。Vcluster允許企業(yè)IT在保持隔離的同時在整個組織中提供一致的Kubernetes平臺。總之,Vcluster是通過工作負(fù)載隔離、定制、安全性和密度來優(yōu)化Kubernetes環(huán)境的重要工具。用例強(qiáng)調(diào)了它們?nèi)绾问菇M織內(nèi)從開發(fā)人員到運(yùn)維人員再到業(yè)務(wù)部門的各種需求受益。

使用Vcluster的挑戰(zhàn)

雖然帶來了顯著的好處,但也有一些缺點(diǎn)需要權(quán)衡:

(1)復(fù)雜性

與單個大型Kubernetes集群相比,管理多個Vcluster(盡管規(guī)模較小)會帶來更多的操作開銷。其他任務(wù)包括:

  • 提供和配置多個控制平臺。
  • 在Vcluster之間一致地應(yīng)用安全策略和訪問控制。
  • 在Vcluster之間進(jìn)行監(jiān)控和日志記錄。
  • 為每個Vcluster維護(hù)指定的資源和容量。

例如,集群管理員必須在20個Vcluster中而不是單個集群中配置和更新RBAC策略。與單個集群的集中管理相比,這需要付出更多的努力。Kubernetes上的靜態(tài)IP地址和端口可能會導(dǎo)致沖突或錯誤。

(2)資源分配與管理

平衡Vcluster的資源消耗和性能可能很棘手,因?yàn)樗鼈兛赡苡胁煌男枨蠡蚱谕?/span>

例如,Vcluster可能需要根據(jù)工作負(fù)載擴(kuò)展或縮減,或者與其他Vcluster或名稱空間共享資源。應(yīng)用程序峰值需求的Vcluster大小可能在非峰值期間有多余的未使用容量,這些容量處于閑置狀態(tài),無法被其他Vcluster利用。

(3)有限的定制

定制Vcluster的能力因?qū)崿F(xiàn)而異。命名空間提供的靈活性最低,而集群API提供的靈活性最高。像OpenShift這樣的工具通過簡單性平衡了定制。例如,命名空間不能運(yùn)行不同的Kubernetes版本或網(wǎng)絡(luò)插件。Cluster API允許完全定制,但更復(fù)雜。

結(jié)論

Vcluster使Kubernetes用戶能夠在共享的物理集群中定制、隔離和擴(kuò)展工作負(fù)載。通過分配專用的控制平臺資源和訪問策略,Vcluster提供了強(qiáng)大的技術(shù)隔離。對于多租戶這樣的用例,Vcluster提供了更簡單、更安全的Kubernetes管理。

Vcluster還可以用于減少Kubernetes的成本開銷,并可用于臨時環(huán)境。像OpenShift、Rancher和Kubernetes Cluster API這樣的工具使得部署和管理Vcluster變得更加容易。隨著采用的增加,可以期待在Vcluster空間中有更多的創(chuàng)新,以進(jìn)一步簡化操作并最大化利用率。雖然Vcluster有一些缺點(diǎn),但對于許多組織來說,其帶來的好處顯然超過所增加的復(fù)雜性。

原文標(biāo)題:Multi-Tenancy in Kubernetes Using Vcluster,作者:Pavan Shiraguppi

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-09-13 07:14:29

云計(jì)算SaaS多租戶

2021-12-13 10:10:15

IPtablesTCPLinux

2021-11-22 16:21:28

Kubernetes 運(yùn)維開源

2022-05-12 14:25:44

Kubernetesvcluster

2022-08-10 10:46:13

?CrossplanKubernete插件

2022-08-11 08:41:31

CrossplaneVCluster

2020-10-16 08:57:51

云平臺之多租戶的實(shí)踐

2021-12-01 09:00:00

公共云云計(jì)算服務(wù)器

2022-10-08 00:00:04

DataObjectFlowable流程

2023-06-07 13:50:00

SaaS多租戶系統(tǒng)

2020-09-15 07:00:00

SaaS架構(gòu)架構(gòu)

2021-05-17 11:47:41

多租戶系統(tǒng)私有化

2021-11-22 08:00:00

Kubernetes容器集群

2024-05-28 08:17:54

2020-09-28 14:05:08

2022-06-06 14:35:59

KubevirtKubernetes虛擬機(jī)

2024-04-10 11:50:28

2013-10-15 09:11:26

多租戶云計(jì)算Overlay

2025-02-18 16:27:01

2025-05-14 03:00:00

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产二区视频 | 男人天堂国产 | 日韩一区二区三区四区五区 | 久久草在线视频 | 99精品免费在线观看 | 羞羞的视频网站 | 成人在线视频网站 | 黄网址在线观看 | 欧美电影免费观看高清 | 精品国产乱码久久久久久丨区2区 | 亚洲视频国产视频 | 狠狠干在线 | 天天天天天天天干 | 97超在线视频 | 精品一区在线 | 成人免费在线视频 | 成人av播放 | 巨大荫蒂视频欧美另类大 | 麻豆一区 | 国产一区二区在线视频 | 午夜影院在线观看版 | 欧美激情精品久久久久久 | 黄色大片免费观看 | 天天草天天射 | 国产精品免费一区二区 | 一级毛片免费完整视频 | 日韩在线观看中文字幕 | 久久www免费视频 | 一级黄色网页 | 干干天天 | 中文字幕二区三区 | 久久国产精品99久久久大便 | 免费视频一区二区三区在线观看 | 国产一区二区精品在线 | 9999精品视频 | 日韩高清中文字幕 | 国产综合久久久久久鬼色 | 欧美一区二区三区免费电影 | 羞羞的视频在线观看 | 亚洲国产成人久久综合一区,久久久国产99 | 伊人网综合 |