摘要:但此功能目前并不直接可用相關(guān)也已經(jīng)創(chuàng)建。根源在于參數(shù)的獲取實(shí)現(xiàn)上。省略輸出可以看到,這個(gè)名稱(chēng)可以在這個(gè)中重復(fù)使用了。比如省略輸出支持將推送至鏡像倉(cāng)庫(kù)中簡(jiǎn)而言之就是使用鏡像倉(cāng)庫(kù)同時(shí)存儲(chǔ)鏡像和不過(guò)這個(gè)功能我暫時(shí)還沒(méi)驗(yàn)證。
經(jīng)過(guò)了長(zhǎng)時(shí)間的開(kāi)發(fā),Helm 3 終于在今天發(fā)布了第一個(gè) alpha 版本。本文將簡(jiǎn)單介紹 Helm 3 新特性。移除 Tiller
Helm 2 是 C/S 架構(gòu),主要分為客戶(hù)端 helm 和服務(wù)端 Tiller; 與之前版本相同,Helm 3 同樣在 Release 頁(yè)面提供了預(yù)編譯好的二進(jìn)制文件。差別在于原先的二進(jìn)制包下載下來(lái)你會(huì)看到 helm 和 tiller 。而 Helm 3 則只有 helm 的存在了。
Tiller 主要用于在 Kubernetes 集群中管理各種應(yīng)用發(fā)布的版本,在 Helm 3 中移除了 Tiller, 版本相關(guān)的數(shù)據(jù)直接存儲(chǔ)在了 Kubernetes 中。
現(xiàn)在我們直接在一個(gè)新創(chuàng)建的集群上來(lái)使用 Helm。測(cè)試集群的創(chuàng)建可以參考我之前的文章 使用 Kind 搭建你的本地 Kubernetes 集群。
與之前版本相同,我們需要先執(zhí)行 helm init 來(lái)進(jìn)行初始化。但現(xiàn)在的初始化就簡(jiǎn)單了很多,不再需要給集群中部署 Tiller 了
(MoeLove) ? ~ export HELM_HOME=/tmp/helm3 (MoeLove) ? ~ helm3 init Creating /tmp/helm3/repository Creating /tmp/helm3/repository/cache Creating /tmp/helm3/plugins Creating /tmp/helm3/starters Creating /tmp/helm3/cache/archive Creating /tmp/helm3/repository/repositories.yaml Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com $HELM_HOME has been configured at /tmp/helm3. Happy Helming!
原先,由于有 RBAC 的存在,我們?cè)陂_(kāi)始使用時(shí),必須先創(chuàng)建一個(gè) ServiceAccount 而現(xiàn)在 Helm 的權(quán)限與當(dāng)前的 KUBECONFIG 中配置用戶(hù)的權(quán)限相同,非常容易進(jìn)行控制。
這樣也大大增強(qiáng)了使用 Helm 的安全性。
Release 名稱(chēng)可在不同 ns 間重用這是 Helm Release 中提到的功能。 但此功能目前并不直接可用 相關(guān) issue 也已經(jīng)創(chuàng)建。
(MoeLove) ? ~ helm3 list NAME NAMESPACE REVISION UPDATED STATUS CHART redis1 default 1 2019-05-17 00:21:06.686127031 +0800 CST deployed redis-7.1.0 redis default 1 2019-05-17 00:19:28.234013017 +0800 CST deployed redis-7.1.0 (MoeLove) ? ~ helm3 -n moelove install redis1 stable/redis Error: cannot re-use a name that is still in use
根源在于 namespace 參數(shù)的獲取實(shí)現(xiàn)上。
對(duì)應(yīng)代碼為:
func getNamespace() string { if ns, _, err := kubeConfig().ToRawKubeConfigLoader().Namespace(); err == nil { return ns } return "default" }
直接使用 Kubeconfig 中的 Namespace 了,所以,我們可以做以下操作以使用此特性。
(MoeLove) ? ~ kubectl config current-context kubernetes-admin@moelove (MoeLove) ? ~ kubectl config set-context kubernetes-admin@moelove --namespace moelove Context "kubernetes-admin@moelove" modified. (MoeLove) ? ~ helm3 -n moelove install redis stable/redis ...# 省略輸出 (MoeLove) ? ~ helm3 list NAME NAMESPACE REVISION UPDATED STATUS CHART redis moelove 1 2019-05-17 00:26:44.572578745 +0800 CST deployed redis-7.1.0
可以看到,redis 這個(gè) release 名稱(chēng)可以在 moelove 這個(gè) Namespace 中重復(fù)使用了。
必須指定 release 名稱(chēng)在 Helm 2 中,如果沒(méi)有指定 release 的名稱(chēng),則會(huì)自動(dòng)隨機(jī)生成一個(gè)名稱(chēng)。但是在 Helm 3 中,則必須主動(dòng)指定名稱(chēng),或者增加 --generate-name 的參數(shù)。比如:
(MoeLove) ? ~ helm3 install stable/redis Error: must either provide a name or specify --generate-name (MoeLove) ? ~ helm3 install stable/redis --generate-name ...# 省略輸出 (MoeLove) ? ~ helm3 list NAME NAMESPACE REVISION UPDATED STATUS CHART redis1 default 1 2019-05-17 00:21:06.686127031 +0800 CST deployed redis-7.1.0 redis-1558024567 default 1 2019-05-17 00:36:09.294632336 +0800 CST deployed redis-7.1.0 redis default 1 2019-05-17 00:19:28.234013017 +0800 CST deployed redis-7.1.0支持將 Chart 推送至 Docker 鏡像倉(cāng)庫(kù)中
簡(jiǎn)而言之就是使用鏡像倉(cāng)庫(kù)同時(shí)存儲(chǔ) Docker 鏡像和 Helm 3 Chart 不過(guò)這個(gè)功能我暫時(shí)還沒(méi)驗(yàn)證。之后有空再驗(yàn)證。
移除掉了 helm serve在 Helm 2 中,可以簡(jiǎn)單的通過(guò) helm serve 來(lái)啟動(dòng)一個(gè)本地簡(jiǎn)單的 HTTP 服務(wù),用于托管本地 local repo 中的 Chart 信息。
不過(guò)這個(gè)功能在 Helm 3 中被移除了??赡苁鞘褂脠?chǎng)景有限。
總結(jié)Helm 3 的改動(dòng)還是比較大的,但是去除掉 Tiller 的選擇是非常正確的,這讓集群權(quán)限的管理更加簡(jiǎn)單清晰。更多關(guān)于 Helm 3 的信息請(qǐng)關(guān)注 ReleaseNote
可以通過(guò)下面二維碼訂閱我的文章公眾號(hào)【MoeLove】
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27836.html
摘要:微軟本次提出的主要是為服務(wù)網(wǎng)格提供通用接口,以便能讓有更加通用的規(guī)范就像當(dāng)初那樣子這里我不想引起其他問(wèn)題,但生態(tài)中還是存在著各種各樣的選擇,希望大家理性選擇,同時(shí)需要注意的是這個(gè)中公布的廠商中唯獨(dú)沒(méi)有的存在。 「K8S 生態(tài)周報(bào)」內(nèi)容主要包含我所接觸到的 K8S 生態(tài)相關(guān)的每周值得推薦的一些信息。歡迎訂閱知乎專(zhuān)欄「k8s生態(tài)」。 KubeCon EU 舉辦 2019 年第一個(gè) Kube...
摘要:微軟本次提出的主要是為服務(wù)網(wǎng)格提供通用接口,以便能讓有更加通用的規(guī)范就像當(dāng)初那樣子這里我不想引起其他問(wèn)題,但生態(tài)中還是存在著各種各樣的選擇,希望大家理性選擇,同時(shí)需要注意的是這個(gè)中公布的廠商中唯獨(dú)沒(méi)有的存在。 「K8S 生態(tài)周報(bào)」內(nèi)容主要包含我所接觸到的 K8S 生態(tài)相關(guān)的每周值得推薦的一些信息。歡迎訂閱知乎專(zhuān)欄「k8s生態(tài)」。 KubeCon EU 舉辦 2019 年第一個(gè) Kube...
摘要:簡(jiǎn)介本文講述的是調(diào)教和的經(jīng)驗(yàn),從更新到并且將推送到中進(jìn)行存儲(chǔ),移除了原先的在講述怎么操作之前先來(lái)看一下和的新特性。按時(shí)安裝這里為了簡(jiǎn)化測(cè)試操作,我關(guān)閉了數(shù)據(jù)卷的掛載并使用的是方式進(jìn)行訪問(wèn)。 簡(jiǎn)介 本文講述的是調(diào)教 Helm 3 和 harbor 1.6+ 的經(jīng)驗(yàn),從 helm2 更新到 helm 3 并且將 charts 推送到 harbor 中進(jìn)行存儲(chǔ),移除了原先的 helm ser...
摘要:參考中文指南使用管理應(yīng)用參考官方文檔,環(huán)境安裝時(shí)其指向安裝客戶(hù)端,版本參考。如下所示,在主機(jī)安裝當(dāng)前最新文檔版可選。 參考: Make a Kubernetes Operator in 15 minutes with Helm; Deploy Monocular on OpenShift; Helm中文指南; 使用Helm管理kubernetes應(yīng)用; https://he...
摘要:參考中文指南使用管理應(yīng)用參考官方文檔,環(huán)境安裝時(shí)其指向安裝客戶(hù)端,版本參考。如下所示,在主機(jī)安裝當(dāng)前最新文檔版可選。 參考: Make a Kubernetes Operator in 15 minutes with Helm; Deploy Monocular on OpenShift; Helm中文指南; 使用Helm管理kubernetes應(yīng)用; https://he...
閱讀 2515·2023-04-25 19:31
閱讀 2265·2021-11-04 16:11
閱讀 2819·2021-10-08 10:05
閱讀 1527·2021-09-30 09:48
閱讀 2326·2019-08-30 15:56
閱讀 2423·2019-08-30 15:56
閱讀 2183·2019-08-30 15:53
閱讀 2278·2019-08-30 15:44