如何分析基于k8s的容器云Paas平臺概要設計

今天就跟大家聊聊有關如何分析基于k8s的容器云Paas平臺概要設計,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

專注于為中小企業(yè)提供網站建設、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)啟東免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

基于K8s的容器云Paas平臺應該是每個使用k8s的公司必須要做的一件事,今天我們嘗試以應用為中心,采用搭積木的方式完成一個最小版本的容器云Paas平臺的設計,Let's Go

1. 基礎功能

我們期望是實現一個盡可能自助的服務,所以里面先不考慮一些諸如審批,之類的操作,在此部分我們要完成應用從打包到上線的關鍵流程

     

1.1 鏡像打包

研發(fā)編寫好代碼,此時就要進行代碼的生產環(huán)境部署,而部署的最小單元通常就是Docker鏡像,那么我們就要實現一個自助的鏡像打包服務,來實現從源代碼到docker鏡像的交付如何分析基于k8s的容器云Paas平臺概要設計

研發(fā)將代碼提交到GIt代碼倉庫后,可以讓代碼倉庫管理員設定一個回調鉤子,通知我們的部署流水線,按照部署流水線按照之前設定的步驟來進行目標鏡像的構建,并將構建的鏡像發(fā)布到我們的鏡像倉庫中

其中部署流水線我們可以直接使用老牌的Jenkins,也可以選擇Tekton這種云原生的部署工具

     

1.2 基礎服務

如何分析基于k8s的容器云Paas平臺概要設計如果僅僅從應用本身來說,除了基礎的運行環(huán)境和代碼,通常還會依賴于一些基礎服務(不考慮應用層的依賴), 比如MySQL、redis、kafka等基礎服務,但是諸如這種服務通??赡懿⒉辉趉8s中(opeartor除外),則此時我們就需要一種自助的集成方式,這里我們通過service catalog 進行集成,用戶只需要進行申請,則就可以自助獲取對應的基礎服務資源

     

1.3 日志監(jiān)控

應用上線后,我們如何獲取到對應的健康狀態(tài)呢?通常就需要日志和監(jiān)控來進行輔助,我們希望一種方式可以自助的進行服務的日志收集、監(jiān)控項的收集,此時我們就需要一種與監(jiān)控和日志系統集成的方式, 還會涉及到各自監(jiān)控告警,針對日志我們使用EFK來進行日志的收集,監(jiān)控則采用Prometheus完成,此外除了應用的基礎資源監(jiān)控,可以讓業(yè)務也進行對應業(yè)務指標的暴露,這樣我們就可以實現業(yè)務層的指標級別的監(jiān)控

     

1.4 負載均衡

應用上線后,通常需要對外提供訪問,在k8s中因為網絡的原因,通常需要通過ingress來進行網絡內部service的暴露,則要給用戶提供一個可以將服務和負載均衡自動關聯的組件如何分析基于k8s的容器云Paas平臺概要設計負載均衡組件的選擇通常有兩種:老牌的負載均衡組件(Nginx/Kong/Haproxy)和微服務服務網關(Traefik)等,選擇的核心通常是我們要不要改造,比如我們想在ingress上做一些基礎驗證、熔斷、限流等實現則就需要進行二次開發(fā),則就需要選擇合適技術棧的ingress

這些Ingress通常我們需要一些專有節(jié)點,即只負責ingress的運行,即通常說的Proxy節(jié)點,我們需要結合K8s中的污點來進行一些控制,只允許ingress容器調度到這些節(jié)點上

     

1.5 部署更新

大多數應用都會隨著產品的迭代或者bug修復,進行代碼的迭代,而在k8s中則通常就是我們說的鏡像更新,此過程可以借助k8s的deployment來進行自動完成

在應用更新的時候,通常需要進行灰度測試,即只允許部分用戶進行訪問,如果出現異常,則就立刻回滾,如果正常就滾動更新整個應用集群,而在k8s中實現該種方法主要包是通過Deployment來實現,我們這里主要是按照用戶灰度的比例通過創(chuàng)建一個新的Deployment,如果成功就繼續(xù)更新舊的Deployment來實現

     

1.6 應用下線

針對下線的應用,通常我們要進行對應的資源的釋放操作,這里可能需要一個gc模塊,負責應用的各種資源的清理工作

至此我們基于k8s和應用的一些基本需求,完成了基礎版本的應用從代碼打包、上線監(jiān)控、部署更新、可觀測性(日志監(jiān)控)等基于云原生的應用全生命周期管理

2.基于K8s的Paas平臺功能實現

在本節(jié)中我們主要關注基于K8s平面完成一些Paas平臺相關的功能的實現,主要包含:多租戶管理、彈性伸縮、容量規(guī)劃、配置管理、共享存儲、集群管理、應用市場等功能

     

2.1 多租戶隔離

如何分析基于k8s的容器云Paas平臺概要設計多租戶是基于paas平臺的一種重要機制,多租戶的本質是實現資源的隔離,資源的隔離通常又包含物理隔離和軟件隔離,所謂物理隔離即在物理實體上(比如服務器)就進行隔離,而軟件隔離則是指通過準入控制來進行資源的訪問隔離,考慮大多數的公司內部通常不會對k8s進行物理隔離,所以我們這里可以直接使用k8s中的namespace來做軟件幾倍的隔離

     

2.2 彈性伸縮

如何分析基于k8s的容器云Paas平臺概要設計彈性伸縮按需計費是Paas平臺的典型特點,而K8s中自帶了HPA(橫向自動伸縮),并且通過autoscaler實現了VPA(縱向自動伸縮)以及Cluster自動伸縮, 依靠這些控制器我們可以很容易的為用戶提供彈性伸縮的功能(一般還是橫向的多一些)

     

2.3 容量規(guī)劃

容量規(guī)劃主要的目標是通過限定各業(yè)務線的資源配額實現資源隔離,同時通過容量計算可以進行資源計費,并且進行未來容量的規(guī)劃決策資源采購,進行企業(yè)的成本核算與控制, 此部分主要是依賴于k8s的ResourceQuota來實現配額功能,通過監(jiān)控數據來做成本核算

     

2.4 配置管理

如何分析基于k8s的容器云Paas平臺概要設計在應用開發(fā)的過程中通常會使用一些配置信息,比如基礎的日志、緩存、數據庫等配置信息,在以前的環(huán)境中要么是基于env文件,要么是基于配置中心來進行管理,而在k8s中文名可以通過configMap和Secret兩種資源來實現基礎的配置管理,即將配置數據與鏡像分離,實現按環(huán)境進行自動的配置加載

     

2.5 共享存儲

在k8s中共享存儲主要是依賴于PV/PVC來實現,這部分由于每個公司的基礎設施差異相對較大,通常需要根據公司現有的技術能力來進行調整,具體的實現則依賴于CSI相關的實現,這里不再進行說明

     

2.6 集群管理

在公司內部的環(huán)境中有時候需要進行容災備份等的考慮,則就需要進行多機房部署,那我們的PAAS的平臺也需要擁有這種多集群管理的能力, 其實也適用于生產、測試等多環(huán)境集群的管理,集群的管理主要是為了解決平臺多環(huán)境部署的問題,通過一套平臺來進行整個集團所有集群的管理

     

2.7 應用市場

如何分析基于k8s的容器云Paas平臺概要設計應用市場主要是指的針對一些諸如redis、etcd、kafka中間件等應用除了之前說的服務目錄的集成方式之外,我們還允許用戶通過opeartor來創(chuàng)建一些基礎服務,從而推動基礎設施的容器化,這部分通常需要根據當前的環(huán)境還有開源的opeartor來進行微調,從而適配公司的內部環(huán)境

     

2.8 用戶中心

在很多公司通常都會有一些企業(yè)內部的用戶中心服務,可以集成該部分來進行容器云平臺的用戶認證甚至一些權限控制,避免重復造輪子

     

2.9 基礎功能

除以上的業(yè)務功能外,通常我們還要進行基礎的功能,比如操作審計、權限控制、安全管控等基礎功能,至此我們已經擁有了一個基礎可用的基于k8s的云原生Paas平臺

3. 容器Paas平臺總結

如何分析基于k8s的容器云Paas平臺概要設計通過上面的的基礎建設,我們通常可以得到一個以應用為中的基于K8s的容器PaaS平臺,并且從各種功能上來看,基于k8s的各種資源我們只需要很少的開發(fā)工作,就可以完成整個Paas平臺的建設,從下一節(jié)我們開始進行一些關鍵部分的開發(fā)工作,并進行一些k8s operator的開發(fā), Let's Go。

看完上述內容,你們對如何分析基于k8s的容器云Paas平臺概要設計有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯行業(yè)資訊頻道,感謝大家的支持。

分享名稱:如何分析基于k8s的容器云Paas平臺概要設計
本文URL:http://muchs.cn/article38/gepppp.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站建設用戶體驗、微信公眾號網站設計、商城網站靜態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

搜索引擎優(yōu)化