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

基于Rancher應用商店實現K8s服務一鍵升級的方案介紹

云計算
Rancher是一個開源的企業級多集群K8s管理平臺,實現了K8s集群在混合云+本地數據中心的集中部署與管理,為采用容器的團隊提供了完整的軟件堆棧,解決了跨任何基礎設施架構管理多個K8s集群的運維和安全挑戰。

作者 | 郭楊勇,單位:智慧家庭運營中心成都業務支持中心

Labs 導讀

隨著云計算逐步向云原生靠攏,越來越多的傳統企業應用進行了容器化的改造,且紛紛移植到了K8s集群中。通過云原生的 DevOps 應用開發模式,可以做到應用的敏捷開發,提升業務應用的迭代速度,高效響應用戶需求。不同于傳統的云計算平臺,云原生的應用無法直接通過ssh等方式直接對云主機進行命名行操作,與傳統的jenkins、gitlab-ci等持續交付中間件的對接都需要進行一定的改造。

Part 01 概述

K8s是業界對Kubernetes的一般簡稱,是云原生基金會(CNCF)的核心拳頭產品,包含了用于管理和編排云原生容器的一套開源軟件系統,它提供了云原生容器化部署、規劃、更新、監控和維護的全套功能,基于K8s搭建的云原生平臺,能很好的做到基于項目、命名空間的賬號權限和資源配置的隔離。根據CNCF的最新統計,目前全球的后端開發者已有31%,超過560萬人在使用K8s,K8s已成為云原生改造的首選解決方案。

Rancher是一個開源的企業級多集群K8s管理平臺,實現了K8s集群在混合云+本地數據中心的集中部署與管理,為采用容器的團隊提供了完整的軟件堆棧,解決了跨任何基礎設施架構管理多個K8s集群的運維和安全挑戰。Rancher除了提供統一的K8s集群管理頁面外,還提供了非常完善的API,方便用戶與持續交付平臺進行對接。Rancher管理頁面同K8s開源社區的另一個重要工具-Helm相結合就可以實現K8s應用的一鍵自動升級,Helm 是管理 Kubernetes 的應用管理工具(https://v2.helm.sh),相當于centos的yum,python中pip,node中的npm。

Part 02 實現方法

以下將以Rancher2.6.3為例,逐步介紹如何通過Rancher的API來實現K8s應用的一鍵升級。首先,在進行API對接前,要做好基于應用商店的初始化操作。初始化操作包括:

1、將編排好的Helm配置文件包推送到統一的Helm應用商店中,并且通過“應用商店=》添加應用商店”將Helm應用商店配置添加到Rancher的商店設置中。

圖片

2、在添加了應用商店配置后,就可以通過“應用商店=》啟動”,查看或刷新應用列表,并且選擇需要啟動的應用,在指定命名空間后進行安裝。

圖片

其次,需要通過Rancher管理頁面查看和確認應用列表更新、應用升級、應用回滾相關的API接口URL,同時創建API接口調用所需要的認證token。詳細操作包括:

1、通過Rancher的功能菜單=》API&Keys,創建API Key并指定API key的作用范圍。

圖片

圖片

2、通過Rancher管理頁面的“應用商店=》管理=》API查看=》refresh”,查看并確認應用商店列表刷新的API。

圖片

圖片

商店列表刷新的API相對簡單,具體格式如下:

curl -H"Authorization:Bearer {API_KEY}" \
-X POST \
-k --connect-timeout 20 -m 30 --retry-delay 2 --retry 3 \
{Rancher_Domain}/v3/projectCatalogs/{Project_ID}:{APP_Store}?action=refresh

可變字段中API_KEY就是第一步中創建的API key,Rancher_Domain是Rancher頁面的域名,Project_ID為應用商店所作用項目的ID,APP_Store為需要刷新的應用商店的名稱。

3、通過“應用商店=》應用列表=》API查看=》upgrade/rollback”,查看并確認應用相關的API接口信息。

圖片

圖片

應用更新的API就要復雜一點,不過也只需要修改幾個重要的可變字段即可,具體格式如下:

curl -H "Authorization:Bearer {API_KEY}" \
-d "{"externalId":"catalog://?catalog='{APP_Store}'&template='{APP_Name}'&version='{APP_Version}'", "forceUpgrade":true, "valuesYaml":""}'"\
-X POST -k --connect-timeout 20 -m 30 --retry-delay 2 --retry 3 \
{Rancher_Domain}/v3/project/local:{Project_ID}/apps/{Project_ID}

可變字段中API_KEY為第一步中創建的API key,Rancher_Domain是Rancher頁面的域名,Project_ID為應用商店所作用項目的ID,APP_Store為需要刷新的應用商店的名稱,APP_Name為需要升級的應用名稱,APP_Version為升級的目標版本號。

最后,就可以根據應用相關的API URL和API Key,編寫應用列表刷新、應用升級/回滾的腳本。腳本包括了:

- 應用列表刷新腳本

curl -H"Authorization:Bearer token-pggq6:zlr95srxvb88vqdtctrt8h2d5k79k94h964x2vxvmhf7zk754ltskz" \
-X POST \
-k --connect-timeout 20 -m 30 --retry-delay 2 --retry 3 \
https://rancher.5gvr.komect.com/v3/projectCatalogs/p-6rt82:vr-chartmuseum?action=refresh

- 應用升級腳本

curl -H "Authorization:Bearer token-pggq6:zlr95srxvb88vqdtctrt8h2d5k79k94h964x2vxvmhf7zk754ltskz" \
-d "{"externalId":"catalog://?catalog='vr-chartmusem'&template='cmvr-ingress'&version='1.0.0.beta'", "forceUpgrade":true, "valuesYaml":""}'"\
-X POST -k --connect-timeout 20 -m 30 --retry-delay 2 --retry 3 \
https://rancher.5gvr.komect.com/v3/project/local:p-6rt82/apps/p-6rt82

到這里,就完成了Rancher自動刷新應用列表和應用升級所需API調用的腳本編寫,只需要將相關腳本集成到Jenkins或Gitlab-ci等持續發布中間件的job中,就可以實現K8s應用的自動灰度升級,相對于傳統的ssh腳本操作,要更加安全高效。

當然除了以上兩個有關應用列表刷新和應用升級的API之外,有需要的時候也可以通過Rancher管理頁面學習專門針對Deployment、Statefulset或者具體Pod的API接口,擴展更豐富的自動化運維功能。

參考文獻

[1]Demystifying Kubernetes in less than 100 slides  https://collabnix.com/demystifying-kubernetes-in-less-than-100-slides/

[2]CNCF Landscape Guide  https://landscape.cncf.io/guide#orchestration-management--scheduling-orchestration

[3]Rancher中文文檔  https://docs.rancher.cn/?

責任編輯:未麗燕 來源: 移動Labs
相關推薦

2023-09-15 07:34:15

AIOps云原生項目

2022-09-14 10:49:30

微服務Kubernetes區塊鏈

2024-12-13 15:09:41

K8S開發

2022-11-24 14:32:00

云原生K8S

2023-08-04 08:19:02

2023-09-06 08:12:04

k8s云原生

2023-11-02 08:01:22

2023-08-03 08:36:30

Service服務架構

2021-08-03 15:25:09

數據庫Sharding SpSQL

2022-09-15 08:04:54

k8skubernetes

2022-02-08 15:59:29

k3sk8sDevOps

2021-11-04 07:49:58

K8SStatefulSetMySQL

2022-04-07 13:56:13

前端一鍵換膚

2023-11-06 07:16:22

WasmK8s模塊

2022-04-22 13:32:01

K8s容器引擎架構

2024-02-01 09:48:17

2023-12-05 18:16:59

LTS版本K8s

2020-02-04 16:37:17

k8s 相關應用

2022-04-29 10:40:38

技術服務端K8s

2021-03-11 12:31:33

K8sCoreDNSDNS服務器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人一区 | 午夜精品久久 | 日产久久| 久久国产精品一区二区三区 | 国产精品色 | 久久一区二区精品 | 色黄视频在线 | 欧美日韩视频一区二区 | 国产精品国产成人国产三级 | 91久久久久 | 欧美大片久久久 | 久久这里只有精品首页 | 精品国产乱码久久久久久88av | 亚洲一区在线日韩在线深爱 | 精品久久久久久红码专区 | 在线免费观看日本视频 | 国产成人网 | 久久久精品一区 | 欧美性video 精品亚洲一区二区 | 天天天操天天天干 | 亚洲啊v | 中文字幕日韩欧美一区二区三区 | 国产高清一区 | 色www精品视频在线观看 | 久久综合九色综合欧美狠狠 | 日韩欧美国产一区二区三区 | 午夜精品一区 | 一区二区三区国产 | 精品国产欧美一区二区 | 麻豆va| 黑人精品欧美一区二区蜜桃 | 国产精品久久久久久久久久久久 | 一级特黄色毛片 | 亚洲一区二区免费视频 | 欧美精品综合 | 日韩电影一区 | 亚洲一区二区三区视频 | 国产精品久久久久久妇女6080 | 午夜电影福利 | 精品亚洲一区二区三区四区五区 | 欧美久久精品一级黑人c片 91免费在线视频 |