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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

如何基于 k8s做私有化部署

發(fā)布時間:2023/12/24 windows 32 coder
生活随笔 收集整理的這篇文章主要介紹了 如何基于 k8s做私有化部署 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

公眾號「架構(gòu)成長指南」,專注于生產(chǎn)實踐、云原生、分布式系統(tǒng)、大數(shù)據(jù)技術(shù)分享。

隨著國內(nèi)數(shù)字化轉(zhuǎn)型的加速和國產(chǎn)化進程推動,軟件系統(tǒng)的私有化部署已經(jīng)成為非常熱門的話題,因為私有化部署賦予了企業(yè)更大的靈活和控制權(quán),使其可以根據(jù)自身需求和安全要求定制和管理軟件系統(tǒng)。下面分享下我們的基于k8S私有化部署經(jīng)驗。

私有化交付的目標
  • 要支持系統(tǒng)快速部署至客戶機房

  • 支持版本在線升級

  • 支持動態(tài)擴容

  • 能快速集成系統(tǒng)監(jiān)控告警

  • 支持在線運維

  • 可快速移植

以上目標,目前最合適的就是k8s,原因如下

  • 如果基于jar部署,系統(tǒng)快速部署和動態(tài)擴容就無法滿足,pass。
  • docker-compose在快速部署、快速遷移可以滿足,但是其他方面是滿足不了,比如動態(tài)擴容,以及圖形化的在線運維等。

因此基于k8s做私有化交付是最合適的方案,當(dāng)然如果項目規(guī)模比較小,就幾個服務(wù)也沒有動態(tài)擴容等需求,那么也沒必要引入k8s,如果項目規(guī)模較大,使用k8s進行私有化部署是不錯的解決方案。

基于k8s私有化部署如何做?

以上我們確認了使用k8s做私有化部署,但是還有一些細節(jié)問題,需要考慮

  • 在公司內(nèi)部一般使用gitlab+Jenkins做服務(wù)部署,在客戶現(xiàn)場,這種方式一般不可行,因為一般不允許在客戶現(xiàn)場訪問公司的代碼倉庫

  • 鏡像倉庫要能支持公網(wǎng)訪問,這樣才可以在客戶機房下載到鏡像

  • 一個服務(wù)就有很多yaml文件,如果幾十個服務(wù)的yaml文件怎么管理,如何快速部署或者升級

  • 中間件要支持快速部署,有些中間件不能部署在k8s,所以需要支持自動化腳本快速部署。

  • 系統(tǒng)配置如何管理,每個服務(wù)都依賴數(shù)據(jù)庫、消息等中間件,這些地址怎么管理起來

基于問題,我們的解決方案如下:

在公司內(nèi)部構(gòu)建鏡像時,直接推送至公網(wǎng)鏡像倉庫Harbar,在客戶機房直接拉取部署,而部署服務(wù)使用Helm進行部署,Helm是一個 k8s的包管理工具,他可以把一組服務(wù)yaml文件管理起來,并且支持部署和更新,非常方便。比如有一個文件系統(tǒng),包括DeploymentServicegateway vspv pvc等文件,如果用Helm管理起來,如下圖

上面文件,可以認為是模板,其中有一個配置文件,values.yaml,所有的可變都在這里面維護,在

要部署這個文件系統(tǒng),執(zhí)行以下命令即可完成。

helm install fss myrepo/fss  \
--set pv.log.type=storageClass \
--set pv.log.pvc.storageName=gfs-storage \
--set pv.log.pvc.storage=5Gi \
--set pv.file.type=storageClass \
--set pv.file.pvc.storageName=gfs-storage \
--set pv.file.pvc.storage=1Gi \
--set istioGateway.schema=http \
--set istioGateway.hosts={test-user.com} \
--set istioGateway.ucenterHost=test-order.com \
--set apollo.cluster=test\
--set sv.fssManager.replicaCount=1 \
--set sv.fssRest.replicaCount=1

中間件部署,對部署在k8s外部的中間件,可以使用Ansiable編寫自動化腳本,進行快速部署,幾分鐘就可以部署一個高可用集群。

系統(tǒng)參數(shù)配置,一般使用NacosApollo 進行管理配置,但是由于服務(wù)過多,配置起來工作量相對較大,而且很多都是重復(fù)工作。
比如數(shù)據(jù)庫地址kafka地址es地址都是相同的,那么如何避免做重復(fù)工作,比如可以寫一個shell腳本把公共的參數(shù)提取出來,然后進行修改替換,或者寫一個運維部署平臺,把相關(guān)公共參數(shù)進行圖形化配置,并對接配置中心,進行發(fā)布替換。

系統(tǒng)監(jiān)控告警,目前可使用deepFlowkube-prometheus夜鶯等解決方案

在線運維平臺,可以使用RancherKuberSphere,這兩個都是目前非常熱門圖形化運維平臺

快速移植,k8s設(shè)計之初就考慮到移植性的問題,所以與底層基礎(chǔ)設(shè)施無關(guān)聯(lián)性,所以不管是在公有云、私有云、混合云都是可以進行部署的,而且現(xiàn)在各大云廠商,都有 k8s 的商用解決方案,讓我們部署起來更加快速,也不用考慮集群的穩(wěn)定性,比如阿里的ACK、華為的CCE、騰訊云的TKE等。

總結(jié)

以上我們介紹私有化部署的難點,并引申出了私有化部署整體解決方案,后續(xù)還會更新更多私有化部署相關(guān)文章,比如存儲怎么掛載、域名怎么管理、監(jiān)控告警怎么配置等,請持續(xù)關(guān)注。

總結(jié)

以上是生活随笔為你收集整理的如何基于 k8s做私有化部署的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。