日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置

發布時間:2024/8/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:KubeVela v1.3 在之前的多集群功能上進行了迭代,本文將為你揭示,如何使用 KubeVela 進行多集群應用的部署與管理,實現以上的業務需求。

作者:段威(段少)

在當今的多集群業務場景下,我們經常遇到的需求有:分發到多個指定集群、按業務規劃實現分組分發、以及對多集群進行差異化配置等等。

KubeVela v1.3 在之前的多集群功能上進行了迭代,本文將為你揭示,如何使用 KubeVela 進行多集群應用的部署與管理,實現以上的業務需求。

開始之前

1. 準備一個 Kubernetes 集群作為 KubeVela 的控制平面。

2. 確保 KubeVela v1.3[1] 和 KubeVela CLI v1.3.0 已經安裝成功。

3. 你要管理的子集群列表 kubeconfig。我們將以 beijing-1,beijing-2 和 us-west-1 這 3 個集群為例。

4. 下載并結合 multi-cluster-demo[2] 來更好的理解,如何使用 KubeVela 多集群能力。

分發到多個指定集群

對多個指定集群進行分發是最基本的多集群管理操作。在 KubeVela 中,你將使用一個叫做 topology 的應用策略來實現它。集群以數組的形式,列在其屬性的 clusters 字段里。

首先讓我們確保切換 KUBECONFIG 到準備好的管控集群,使用 vela cluster join 將 ?beijing-1,beijing-2 和 us-west-1 這 3 個集群全部納管進來:

? vela cluster join beijing-1.kubeconfig --name beijing-1 ? vela cluster join beijing-2.kubeconfig --name beijing-2 ? vela cluster join us-west-1.kubeconfig --name us-west-1 ? vela cluster list CLUSTER TYPE ENDPOINT ACCEPTED LABELS beijing-1 X509Certificate https://47.95.22.71:6443 true beijing-2 X509Certificate https://47.93.117.83:6443 true us-west-1 X509Certificate https://47.88.31.118:6443 true

接著打開 multi-cluster-demo,查看 basic.yaml:

apiVersion: core.oam.dev/v1beta1 kind: Application metadata:name: example-appnamespace: default spec:components:- name: hello-world-servertype: webserviceproperties:image: crccheck/hello-worldport: 8000traits:- type: scalerproperties:replicas: 3- type: gatewayproperties:domain: testsvc-mc.example.com# classInSpec : true 如果你所下發的集群里有安裝 v1.20 以下版本的 Kubernetes ,請加上這個字段http:"/": 8000policies:- type: topologyname: beijing-clustersproperties:clusters: ["beijing-1","beijing-2"]

可以看到,這個應用使用了 webservice 類型的組件,最后通過 topology 的應用策略分別向 beijing-1 和 beijing-2 兩個集群分發 3 副本 Deployment。

請注意,管控集群對子集群下發資源成功的前提是,子集群必須有已經新建的對應命名空間。由于每個集群默認都有 default?命名空間,所以可以正常下發。假設我們將 basic.yaml 的命名空間改成 multi-cluster ,則會收到報錯:

apiVersion: core.oam.dev/v1beta1 kind: Application metadata:name: example-appnamespace: default spec:components:- name: hello-world-servertype: webserviceproperties:image: crccheck/hello-worldport: 8000traits:- type: scalerproperties:replicas: 3- type: gatewayproperties:domain: testsvc-mc.example.com# classInSpec : true 如果你所下發的集群里有安裝 v1.20 以下版本的 Kubernetes ,請加上這個字段http:"/": 8000policies:- type: topologyname: beijing-clustersproperties:clusters: ["beijing-1","beijing-2"]

在未來的 KubeVela 版本中,我們將支持使用鑒權系統,更便捷更安全的完成這項操作:通過管控集群一鍵在子集群創建命名空間。

完成子集群命名空間創建后,切回管控集群創建應用并下發資源:

? vela up -f basic.yaml Applying an application in vela K8s object format... "patching object" name="example-app" resource="core.oam.dev/v1beta1, Kind=Application" ? App has been deployed 🚀🚀🚀Port forward: vela port-forward example-appSSH: vela exec example-appLogging: vela logs example-appApp status: vela status example-appService status: vela status example-app --svc hello-world-server

我們通過 vela status <應用名> 查看服務相關信息:

? vela status example-app About:Name: example-appNamespace: defaultCreated at: 2022-03-25 17:42:33 +0800 CSTStatus: runningWorkflow:mode: DAGfinished: trueSuspend: falseTerminated: falseSteps- id:wftf9d4exjname:deploy-beijing-clusterstype:deployphase:succeededmessage:Services:- Name: hello-world-serverCluster: beijing-1 Namespace: defaultType: webserviceHealthy Ready:3/3Traits:? scaler ? gateway: Visiting URL: testsvc-mc.example.com, IP: 60.205.222.30- Name: hello-world-serverCluster: beijing-2 Namespace: defaultType: webserviceHealthy Ready:3/3Traits:? scaler ? gateway: Visiting URL: testsvc-mc.example.com, IP: 182.92.222.128

beijing-1 和 beijing-2 都下發了對應的資源,它們可供外部訪問的 IP 地址也顯示出來,你因而可以用你希望的方式供用戶訪問了。

使用集群 labels 按需分組分發

除了上述的基本操作,我們常常會遇到另外的情況:跨地域部署到某些集群、指定哪個云廠商的集群等等。為了實現類似這樣的需求,可以使用多集群的 labels 功能。

在這里,假設 us-west-1 集群來自 AWS,我們要額外分發應用到 AWS 的集群,則可以使用 vela cluster labels add 來對集群進行標記。當然,如果還有 us-west-2 等多個 AWS 相關集群,同樣進行標記后,將會統一下發:

? ~ vela cluster labels add us-west-1 provider=AWS Successfully update labels for cluster us-west-1 (type: X509Certificate). provider=AWS ? ~ vela cluster list CLUSTER TYPE ENDPOINT ACCEPTED LABELS beijing-1 X509Certificate https://47.95.22.71:6443 true beijing-2 X509Certificate https://47.93.117.83:6443 true us-west-1 X509Certificate https://47.88.31.118:6443 true provider=AWS

接下來我們對 basic.yaml 進行更新,新增一個應用策略 topology-aws:

...policies:- type: topologyname: beijing-clustersproperties:clusters: ["beijing-1","beijing-2"]- type: topologyname: topology-awsproperties:clusterLabelSelector:provider: AWS

為了方便你學習,請直接部署基于 basic.yaml 更新后的 intermediate.yaml:

? ~ vela up -f intermediate.yaml

再次查看應用的狀態:

? vela status example-app...- Name: hello-world-serverCluster: us-west-1 Namespace: defaultType: webserviceHealthy Ready:3/3Traits:? scaler ? gateway: Visiting URL: testsvc-mc.example.com, IP: 192.168.40.10

通過應用策略進行配置差異化

除了在 basic.yaml 里定義的 deploy-beijing 這種應用策略,我們往往有更多的應用策略需求,比如高可用,希望單獨給某些資源分發 5 個副本。這樣的話,使用 override 類型的應用策略即可:

... clusterLabelSelector:provider: AWS- type: overridename: override-high-availabilityproperties:components:- type: webservicetraits:- type: scalerproperties:replicas: 5

同時假設,我們希望的是,給 AWS 的應用分發并設置為高可用。那我們可以使用 KubeVela 提供的專門用于定義過程控制的工作流來管理。我們使用如下的一個工作流,它希望將本次應用部署,首先通過 deploy-beijing 的應用策略,分發給北京的集群們,接著給 Label 為 AWS 的集群分發 5 個副本高可用的應用策略:

... properties:replicas: 5workflow:steps:- type: deployname: deploy-beijingproperties:policies: ["beijing-clusters"]- type: deployname: deploy-awsproperties:policies: ["override-high-availability","topology-aws"]

接著我們給 intermediate.yaml 加上以上的應用策略和工作流后,更新為 advanced.yaml:

...policies:- type: topologyname: beijing-clustersproperties:clusters: ["beijing-1","beijing-2"]- type: topologyname: topology-awsproperties:clusterLabelSelector:provider: AWS- type: overridename: override-high-availabilityproperties:components:- type: webservicetraits:- type: scalerproperties:replicas: 5workflow:steps:- type: deployname: deploy-beijingproperties:policies: ["beijing-clusters"]- type: deployname: deploy-awsproperties:policies: ["override-high-availability","topology-aws"]

然后對其進行部署,并再次查看應用的狀態:

? vela up -f advanced.yaml Applying an application in vela K8s object format... "patching object" name="example-app" resource="core.oam.dev/v1beta1, Kind=Application" ? App has been deployed 🚀🚀🚀Port forward: vela port-forward example-appSSH: vela exec example-appLogging: vela logs example-appApp status: vela status example-appService status: vela status example-app --svc hello-world-serverapplication.core.oam.dev/podinfo-app configured? vela status example-app...- Name: hello-world-serverCluster: us-west-1 Namespace: defaultType: webserviceHealthy Ready:5/5Traits:? scaler ? gateway: Visiting URL: testsvc-mc.example.com, IP: 192.168.40.10

以上就是本次的全部分享,感謝你的閱讀和試玩。

歡迎你繼續探索 KubeVela v1.3 正式版[3],這里有更多差異化配置的進階用法等你發現和使用,比如 override 應用策略如何完成資源類型通配還是針對某些特定組件進行覆蓋等等,以滿足更加復雜的場景需求。

相關鏈接

[1] KubeVela v1.3

https://github.com/oam-dev/kubevela/releases/tag/v1.3.0

[2] multi-cluster-demo

https://github.com/oam-dev/samples/tree/master/12.Multi_Cluster_Demo

[3] 繼續探索 KubeVela v1.3 正式版

快速安裝 | KubeVela

原文鏈接

本文為阿里云原創內容,未經允許不得轉載。?

總結

以上是生活随笔為你收集整理的KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美视频久久久 | 裸体喂奶一级裸片 | 成人免费视频国产 | 成人片黄网站色大片免费毛片 | 日本不卡一区二区 | 黑花全肉高h湿play短篇 | 欧美巨鞭大战丰满少妇 | 国产精自产拍久久久久久蜜 | 久久久久久久穴 | 国产精品美女久久久久av超清 | 91黄免费 | 色综合久久88色综合天天免费 | 中国美女一级黄色片 | 日日夜夜一区二区 | 性高潮久久久久久久久久 | 免费在线观看av片 | 不卡av中文字幕 | 99国产精品人妻噜啊噜 | 樱花电影最新免费观看国语版 | 中文字幕黄色片 | 欧美视频第一区 | 狠狠躁18三区二区一区传媒剧情 | 91爱爱com| 人妻精品一区一区三区蜜桃91 | 野花av| 亚洲第一女人av | www.欧美日韩 | 91视频高清 | 蜜臀在线观看 | 草久影院 | 欧美手机在线观看 | 天堂精品一区 | 国产精品精品久久久 | 欧美另类综合 | 精品人妻一区二区三区免费 | 神马久久久久久久久 | 亚洲a视频 | 亚洲一区二区高清视频 | 亚洲逼院 | 国产精品成人99一区无码 | 久草视频在 | 亚洲a一区二区 | 黑人精品一区二区三区 | 欧美性猛交乱大交 | 污网站在线观看免费 | www成人网| 中国一级片黄色一级片黄 | 国产主播一区二区 | 国产黄a三级三级看三级 | 国产无套粉嫩白浆内谢 | 肥臀浪妇太爽了快点再快点 | 色99在线 | 成人福利视频在线观看 | 精品人妻无码一区二区 | 色一情一区二区三区 | 天天干夜夜 | 网站黄在线 | 97视频国产 | 国产精品传媒 | 亚洲久操 | 碧蓝之海动漫在线观看免费高清 | 六月色婷婷| 日韩有码在线播放 | 开心激情播播网 | 69堂免费视频 | 日韩激情电影在线 | 精品黑人一区二区三区在线观看 | 日产久久久久久 | 欧美激情网 | 日日夜夜添 | 青青草小视频 | 肉丝袜脚交视频一区二区 | 枫可怜av| 国产福利影院 | 国产伦精品一区三区精东 | 调教一区二区三区 | 可以看污的网站 | 欧美老熟妇一区二区 | 影音先锋久久久 | 67194午夜 | 久久久高清视频 | 福利社91| 亚洲天堂首页 | 琪琪秋霞午夜被窝电影网 | 精品人妻视频在线 | 日韩免费观看视频 | 精品国产伦一区二区三 | 性色av无码久久一区二区三区 | 色乱码一区二区三区在线男奴 | 色姑娘综合网 | 午夜精品久久99蜜桃的功能介绍 | jjzz黄色片| 欧美寡妇性猛交ⅹxxx | 99久久久无码国产精品不卡 | 99婷婷 | 免费黄色小视频在线观看 | 国产欧美日韩在线视频 | 国产粉嫩呻吟一区二区三区 | 先锋影音av中文字幕 |