[發明專利]一種支持企業級應用的云原生PaaS管理平臺在審
| 申請號: | 202111115318.0 | 申請日: | 2021-09-23 |
| 公開(公告)號: | CN113824790A | 公開(公告)日: | 2021-12-21 |
| 發明(設計)人: | 袁成新;孫松濤;李原;王蘭;丁學虎 | 申請(專利權)人: | 大連華信計算機技術股份有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;G06F9/455;H04L9/32 |
| 代理公司: | 長春市盈創中成知識產權代理事務所(普通合伙) 22215 | 代理人: | 柳維軍 |
| 地址: | 116085 遼寧省大*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 支持 企業級 應用 原生 paas 管理 平臺 | ||
1.一種支持企業級應用的云原生PaaS管理平臺,其特征在于,包括Kubernetes集群、PaaS管理平臺部署、DevOps的集成;
Kubernetes集群通過ansible工具提供集群的部署,基礎系統配置使用CentOS或Ubuntu,在每個節點安裝依賴工具python3,在ansible控制端配置免密碼登錄,規劃集群配置包括Kubernetes集群master節點的IP地址和worker node節點的IP地址,和用到的網絡插件,配置集群參數后驗證所有節點是否可以ping通,正常能看到節點返回SUCCESS;Kubernetes集群部署3個節點的etcd集群、部署3個的master節點這其中和etcd節點共用三臺虛擬機、安裝集群網絡插件、創建內部通信用的證書、為每個節點安裝docker服務、部署3個的node節點、安裝集群插件,部署組件包括:Etcd、Kube-apiserver、Kube-controller-manager、Kube-scheduler、Kube-proxy、Kubelet、Container Runtime,集群插件包括:Calico、Coredns、Metrics-server、Dashboard、Ingress;
PaaS管理平臺部署,使用Helm在專用的Kubernetes集群上安裝PaaS管理平臺,因為通過在多個節點上運行PaaS管理平臺可以提高可用性;在標準安裝中,首先將Kubernetes安裝在基礎設施提供商中托管的節點上;然后使用Helm在 Kubernetes 集群上安裝PaaS管理平臺,Helm 使用PaaS管理平臺的 Helm chart 在 Kubernetes 集群的每個節點上安裝PaaS管理平臺的副本,使用負載均衡器將流量定向到集群中PaaS管理平臺的每個副本,以提高PaaS管理平臺的可用性;PaaS管理平臺數據存儲在etcd或MySQL中,etcd數據庫在三個節點上運行,并且需要奇數個節點,這樣它就可以由大多數節點選舉出etcd集群的leader,如果 etcd數據庫不能選出leader,則etcd可能會失敗,從而需要從備份中還原集群;
PaaS管理平臺部署包括安裝需要的 CLI 工具、添加 Helm Chart倉庫、為PaaS管理平臺創建 Namespace、選擇合適的SSL 選項、安裝cert-manager、根據選擇的 SSL 選項通過Helm 安裝PaaS管理平臺、驗證PaaS管理平臺是否已成功部署、保存選項;
安裝需要的 CLI 工具,確保kubectl-Kubernetes命令行工具、helm-Kubernetes 的軟件包管理工具已安裝并在$PATH中可用,此安裝指南使用的是 Helm3;
添加Helm Chart倉庫,使用helm repo add命令添加含有PaaS管理平臺Chart的HelmChart倉庫,將命令中的CHART_REPO替換為latest,stable或alpha;latest表示推薦在嘗試新功能時使用,stable表示推薦生產環境中使用(推薦),alpha表示未來版本的實驗性預覽;
為PaaS管理平臺創建 Namespace,定義一個 Kubernetes Namespace,在 Namespace中安裝由 Chart 創建的資源,這個命名空間的名稱為hithink-system:
選擇您的 SSL 選項,PaaS管理平臺默認需要 SSL/TLS 配置來保證訪問的安全性,有三種關于證書來源的推薦選項,證書將用來在PaaS管理平臺中終止TLS,PaaS管理平臺生成的自簽名證書,在這種情況下,在集群中安裝cert-manager,PaaS管理平臺利用cert-manager簽發并維護證書,PaaS管理平臺將生成自己的 CA 證書,并使用該 CA 簽署證書,然后cert-manager負責管理該證書;使用證書,此選項使用自己的權威 CA 頒發的證書或自簽名 CA 證書,PaaS管理平臺將使用該證書來保護 WebSocket 和 HTTPS 流量,在這種情況下,必須上傳名稱分別為tls.crt和tls.key的 PEM 格式的證書以及相關的密鑰,如果使用私有CA,則還必須上傳該證書,這是由于節點可能不信任此私有CA;PaaS管理平臺將獲取該 CA 證書,并從中生成一個校驗和,各種PaaS管理平臺組件將使用該校驗和來驗證其與PaaS管理平臺的連接;
安裝cert-manager,如果使用自己的證書文件 ingress.tls.source=secret或者使用外部TLS負載均衡器可以跳過此步驟;僅在使用PaaS管理平臺生成的證書ingress.tls.source=yunsheng或Let's Encrypt頒發的證書 ingress.tls.source=letsEncrypt時才需要 cert-manager,安裝 CustomResourceDefinition 資源,為 cert-manager 創建命名空間;添加 Jetstack Helm 倉庫,更新本地 Helm chart 倉庫緩存,安裝 cert-manager Helm chart;安裝完 cert-manager 后,通過檢查 cert-manager 命名空間中正在運行的 Pod 來驗證它是否已正確部署:
根據選擇的 SSL 選項通過 Helm 安裝PaaS管理平臺,使用PaaS管理平臺生成的自簽名證書,PaaS管理平臺的默認值是生成 CA 并使用cert-manager頒發證書,并將證書用于訪問PaaS管理平臺的接口,因為yunsheng是ingress.tls.source的默認選項,所以在運行helm install命令時我們沒有指定ingress.tls.source;將hostname設置指向負載均衡器的 DNS 名稱,如果在安裝alpha版本,需要把--devel選項添加到下面到 Helm 命令中,要安裝指定版本的PaaS管理平臺,請使用--version選項,例如:--version 1.0.0;使用已有的證書,在此選項中,將使用自己的證書來創建 Kubernetes 密文,以供PaaS管理平臺使用;當運行此命令時,hostname選項必須與服務器證書中的Common Name或SubjectAlternative Names條目匹配,否則 Ingress 控制器將無法正確配置;盡管技術上僅需要Subject Alternative Names中有一個條目,但是擁有一個匹配的 Common Name 可以最大程度的提高與舊版瀏覽器/應用程序的兼容性;設置hostname,將ingress.tls.source選項設置為secret,如果在安裝alpha版本,需要把--devel選項添加到下面到 Helm 命令中;創建secret,創建ingress,配置secretName: yunsheng-secret;如果使用的是私有CA證書,請在命令中增加--set privateCA=true;
驗證PaaS管理平臺是否已成功部署,檢查PaaS管理平臺是否運行成功:
保存選項,保存使用的全部--set選項,使用 Helm 升級PaaS管理平臺到新版本時,將需要使用相同的選項;
DevOps的集成,用戶向Gitlab或SVN提交代碼,代碼中包含Dockerfile文件;Jenkins監聽代碼庫的推送和變更事件;Jenkins調用Maven插件對源碼進行編譯打包;Jenkins調用docker工具根據Dockerfile文件生成鏡像,并推送鏡像至Harbor倉庫;Jenkins通過SSH遠程調用Kubernetes集群的Master節點,更新Pod的的模板yaml文件,調用kubectl命令進行發布操作;Kubernetes集群的Node節點從Harbor倉庫拉取鏡像,啟動Pod和應用容器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大連華信計算機技術股份有限公司,未經大連華信計算機技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111115318.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于統計相似度量的組合導航魯棒濾波方法
- 下一篇:存儲器件的制作方法





