欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
初探云原生應用管理(一): Helm 與 App Hub

系列介紹:初探云原生應用管理系列是介紹如何用云原生技術(shù)來(lái)構建、測試、部署、和管理應用的內容專(zhuān)輯。做這個(gè)系列的初衷是為了推廣云原生應用管理的最佳實(shí)踐,以及傳播開(kāi)源標準和知識。通過(guò)這個(gè)系列,希望幫助大家學(xué)到 Kubernetes、Helm、Gitops、Kustomize 等新知識。

這是大廠(chǎng)程序員小張普普通通的一個(gè)早晨,大家好像在討論著(zhù)什么:

“什么?聽(tīng)說(shuō)隔壁公司在用 K8s 發(fā)布應用了?”

“據說(shuō)在用 Helm!”

像往常,小張根本不關(guān)心這些無(wú)聊的討論。他穩穩的坐在辦公桌前,打開(kāi)公司內部自研的、魔改 Gitlab 打造的項目管理系統,點(diǎn)擊了好幾個(gè) Button 之后,開(kāi)始一天辛勤的勞作。

但這一次不知道為何,小張的內心居然有點(diǎn)慌:
“ Helm?啥是 Helm?”


Helm: K8s 應用部署與打包工具

如果一個(gè)用戶(hù)想要部署起來(lái)一個(gè) K8s 應用,最快捷的方法是什么呢?

我們知道,Kubernetes (簡(jiǎn)稱(chēng) k8s) 是一個(gè)能夠部署和管理容器的平臺。然而,在 k8s 里還沒(méi)有抽象到“應用”這一層概念。一個(gè)應用往往由多個(gè) k8s 資源 (Deployment、Service、ConfigMap)組成。所以,我們需要一個(gè)工具在 k8s 之上來(lái)部署和管理一個(gè)應用所包含的資源(K8s API Resource),這就是 Helm 所做的事情。

除此以外,Helm 定義了一套 Chart 格式來(lái)描述一個(gè)應用。怎么理解 Chart 呢?打個(gè)比方,一個(gè)安卓程序打包成 APK 格式,就可以安裝到任意一臺運行安卓系統的手機上。如果我們把 k8s 比做安卓系統,K8s 應用比做安卓程序,那么 Chart 就可以比做 APK。這也意味著(zhù),K8s 應用只要打包成 Chart,就可以通過(guò) Helm 部署到任意一個(gè) k8s 集群上。

通常來(lái)說(shuō),我們可以直接使用別人已經(jīng)做好的 Helm Chart,就跟使用 Docker 鏡像一樣。所以,Helm 社區已經(jīng)維護了一個(gè)官方 Helm Hub ,這個(gè) Hub 里包含的應用非常豐富,是目前云原生開(kāi)發(fā)者搜索和下載應用的主要站點(diǎn)。

AppHub: Helm Hub 的中國小站

不過(guò),遺憾的是,在國內使用 Helm Hub,對于絕大多數開(kāi)發(fā)者來(lái)說(shuō)都是很痛苦的一件事情。

原因很簡(jiǎn)單,隨便打開(kāi)一個(gè) Charts 文件,你就會(huì )看到這個(gè)文件里充斥著(zhù)大量的不可訪(fǎng)問(wèn)的鏡像 URL:

或者是依賴(lài)根本訪(fǎng)問(wèn)不到的 Charts 庫:

咱們軟件工程師的時(shí)間這么寶貴(少),根本不想花時(shí)間解決這些無(wú)聊的網(wǎng)絡(luò )問(wèn)題上(大霧)!

可是,看著(zhù)國外的程序員們通過(guò)一條 helm install 命令就把應用部署起來(lái),咱們怎么感覺(jué)還是有點(diǎn)酸呢 ……

所以在正式開(kāi)始探索云原生應用管理之前,我們首先要為你介紹一個(gè)叫做“開(kāi)放云原生應用中心” (Cloud Native App Hub,簡(jiǎn)稱(chēng) AppHub) 的服務(wù),它的主頁(yè)是: https://developer.aliyun.com/hub。

AppHub 是一個(gè)托管在國內公有云上、全公益性的 Helm Hub “中國站”,它的后端由阿里云容器平臺團隊的三位工程師利用 20% 時(shí)間開(kāi)發(fā)完成。

而這個(gè)站點(diǎn)的一個(gè)重要職責,就是把所有 Helm 官方 Hub 托管的應用自動(dòng)同步到國內;同時(shí),自動(dòng)將 Charts 文件中的 gcr.io 等所有有網(wǎng)絡(luò )訪(fǎng)問(wèn)問(wèn)題的 URL 替換成為穩定的國內鏡像 URL。

這樣,國內的開(kāi)發(fā)者也可以自由的使用 helm install 來(lái)安裝應用了!

接下來(lái),我們就進(jìn)入喜聞樂(lè )見(jiàn)的實(shí)踐環(huán)節!

實(shí)例:用最快的速度部署 Guestbook

首先,當然是安裝 Helm。

在這里我們強烈推薦你使用 Helm v3 版本。

Helm v3 跟 Helm v2 的區別就像 Python 2 和 3 那么大,而且還比 Helm v2 要好用的多(比如:不需要安裝服務(wù)端組件 Tiller)。我們下周的《為什么你必須盡快轉向 Helm v3 》文章,會(huì )為你解釋這個(gè)事情。

而為了方便國內開(kāi)發(fā)者使用,我們已經(jīng)自動(dòng)同步了 Helm v3 二進(jìn)制文件的下載鏈接到國內(一定要試,真的是秒下):

下載到 Helm 二進(jìn)制文件直接解壓到 $PATH 下就可以使用了。

接下來(lái),我們使用 Helm 快速部署一個(gè) guestbook 應用。這里假設你有一個(gè)阿里云 Kubernetes 服務(wù)在運行了(如果沒(méi)有的話(huà)也沒(méi)關(guān)系,下面還有自建 K8s 集群的例子)。

第一步是添加 apphub 作為你的 Helm Hub Repo:

復制代碼

$ helm repo add apphub https://apphub.aliyuncs.com

可以直接在命令行搜索 guestbook:

復制代碼

$ helm search guestbook

NAME CHART VERSION APP VERSION DESCRIPTION

apphub/guestbook 0.2.0 1.0.0 A Helm chart to deploy Guestbook three tier web...

然后,只需一行命令即可:

復制代碼

$ helm install guestbook apphub/guestbook

訪(fǎng)問(wèn) Guestbook 服務(wù)

部署完成后,運行以下命令來(lái)查詢(xún)并等待 pods 啟動(dòng)完畢 (Running):

復制代碼

$ kubectl get pod

NAME READY STATUS RESTARTS AGE

guestbook-d85895895-5mdx6 1/1 Running 0 5m59s

guestbook-d85895895-zh4l4 1/1 Running 0 5m59s

redis-master-7b5cc58fc8-2wjmn 1/1 Running 0 5m59s

redis-slave-859585ff7f-4v9hj 1/1 Running 0 5m59s

redis-slave-859585ff7f-fppqn 1/1 Running 0 5m59s

查詢(xún)服務(wù)地址:

復制代碼

$kubectl get service -l app.kubernetes.io/name=guestbook

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

guestbook LoadBalancer 172.21.1.213 47.95.136.189 3000:32244/TCP 11m

通過(guò) External IP 即可訪(fǎng)問(wèn) guestbook 服務(wù):

使用 Minikube 或者自建 K8s 集群?

實(shí)際上,K8s 本身是不區分云上服務(wù)還是自建集群的。只不過(guò)在沒(méi)有云提供的負載均衡服務(wù)的話(huà),Service 的訪(fǎng)問(wèn)方式會(huì )稍微麻煩一些,比如使用 NodePort:

復制代碼

$ helm install guestbook apphub/guestbook --set service.type=NodePort

這條命令執行完之后,應用會(huì )自動(dòng)提示你接下來(lái)的訪(fǎng)問(wèn)方式。而通過(guò)–set 這種方式設置應用參數到底是怎么回事,我們后面的文章會(huì )細聊。

如果是 Minikube 的話(huà),還需要把這個(gè) NodePort Service 從 Minikube 里映射出來(lái)才能訪(fǎng)問(wèn):

復制代碼

$ minikube service guestbook

試用“一鍵安裝” (體驗功能)

除了正常的部署方法, AppHub 上也可以通過(guò)網(wǎng)頁(yè) UI 來(lái)體驗一鍵部署 Chart 到任何云的 k8s 上。

舉個(gè)例子,只需打開(kāi) guestbook 應用詳情頁(yè)面,點(diǎn)擊 “一鍵安裝”:

然后在”安裝參數“彈窗里填寫(xiě)相應的服務(wù)器 URL 和 base64 編碼的證書(shū)數據后,點(diǎn)擊“確認”,AppHub 就會(huì )嘗試安裝 guestbook chart 到對應 k8s 集群上,成功后會(huì )彈窗通知。

不過(guò),這個(gè)功能目前只是“體驗”,因為你現在還沒(méi)辦法在 AppHub 上直接修改應用的配置參數。在線(xiàn)進(jìn)行“應用定制”的功能就在 AppHub 的 Roadmap 里,預計下個(gè)月會(huì )上線(xiàn)。

不過(guò),說(shuō)起 Roadmap 的話(huà):

AppHub 6 個(gè)月內的 Roadmap ,都在 Github 上開(kāi)源!

是的,你可以通過(guò) Github 來(lái)隨時(shí)對這個(gè) Helm Hub 中國小站點(diǎn)提出你的改進(jìn)思路。比如:如何更好的做“應用定制”?如何對接和托管你自己的 Charts Repo?等等。

我們的口號是:每一位中國開(kāi)發(fā)者,都是我們的 PM?。ㄕJ真臉)

遠不止 Helm!

可以看到,通過(guò) Helm 快速部署起來(lái) K8s 應用的過(guò)程,使用門(mén)檻和心智負擔都是非常低的。而相比于傳統的應用構建、編排和發(fā)布的流程,Helm + K8s 的自動(dòng)化組合正在迅速成為云時(shí)代提升開(kāi)發(fā)者效率的不二法寶。

而這里介紹到的所有同步自官方 Hub Repo 的應用 Charts ,全都托管在這個(gè) Github 上: cloudnativeapp/charts。大家有對 AppHub 相關(guān)的任何吐槽,都歡迎來(lái)這個(gè) Repo 提 issue;也歡迎來(lái)通過(guò)提交 pull requests 把你的 Charts 和 Repo 加入到 AppHub 上。

不過(guò),如果深入使用過(guò) Helm 一段時(shí)間后,你可能會(huì )有些其他的感受:

比如: “Helm 里的 Release 的概念到底是啥意思? Helm 的 Rollback 又是咋回事兒,跟 K8s 是啥關(guān)系?”

“Helm 對 K8s 應用管理的流程,好像不是那么的 Native 啊,總感覺(jué)哪里不對啊?!?/p>

在后面的幾篇文章中,我們會(huì )和大家一起深入的分析 Helm 這套體系的優(yōu)點(diǎn)和缺點(diǎn),梳理在 K8s 架構中使用 Helm 的最佳實(shí)踐,分享和講解 Kustomize 流程和 GitOps 架構,以及更多的云原生應用管理的實(shí)例。

敬請期待吧!

作者簡(jiǎn)介: 鄧洪超,阿里云工程師,前 CoreOS 軟件工程師、Kubernetes Operator 機制的初始作者之一、Operator 第二人(因為第一人是李響),對 K8s 應用管理體系有較多的研究和經(jīng)驗。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Linus 本尊來(lái)了!為什么 KubeCon 越來(lái)越火?
使用Helm部署GraphScope
在Kubernetes上運行SAP UI5應用(下): 一個(gè)例子體會(huì )Kubernetes內容器的高可用性和彈性伸縮
這是一篇情懷文
從神經(jīng)搜索到多模態(tài)應用
如何在預算非常少和零預算的情況下做WP應用推廣 | 36氪
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久