Helm使用者指南-系列(1)-序言+快速入門

店家小二發表於2018-12-14

序言

Helm是Kubernetes的一個包管理工具,用來簡化基於Kubernetes平臺執行的應用的部署和管理,極大的方便了叢集運維人員及應用開發人員工作。

本指南是官方Kubernetes的github庫中,helm專案下的文件的翻譯,依照 https://docs.helm.sh/ 的文件架構和組織,當前翻譯了第一大部分的使用者指南部分,後續會陸續更新其他章節,用於給剛接觸Kubenetes和Helm的朋友一個參考手冊。我在網址 https://whmzsu.github.io/helm-doc-zh-cn/ 不斷更新,同時也會搬運到這裡,大家有興趣加入https://github.com/whmzsu/helm-doc-zh-cn/的可以給我提交意見和建議。

目錄

使用者指南

快速入門

本指南介紹如何快速開始使用Helm。

前提條件

需要以下前提條件才能正常且安全地使用Helm。

  1. 一個Kubernetes叢集
  2. 確定使用哪種安裝安全配置(如果有的話)
  3. 安裝和配置Helm和Tiller(叢集端服務)。

安裝Kubernetes或有權訪問群集

  • 必須已安裝Kubernetes。對於Helm的最新版本,我們推薦最新的Kubernetes穩定版本,在大多數情況下它是次新版本。
  • 應該有一個本地配置好的kubectl

注意:1.6之前的Kubernetes版本對於基於角色的訪問控制(RBAC),要麼有限制,或者不支援。

Helm將通過Kubernetes配置檔案(通常是$HOME/.kube/config)來確定在哪裡安裝Tiller 。這個配置檔案也是kubectl使用的檔案。

要找出Tiller將安裝到哪個叢集,可以執行 kubectl config current-contextkubectl cluster-info

$ kubectl config current-context
my-cluster

瞭解叢集配置的安全上下文

與所有強大的工具一樣,需要確保在環境里正確安裝。

如果在完全控制的群集上使用Helm,如minikube或專用網路中的不考慮共享的群集,則預設安裝(不採用安全配置)很合適,並且是最容易的。要在無需額外安全措施的場景下安裝Helm,請參考安裝Helm,然後初始化Helm。

但是,如果叢集暴露於更大的網路中,或者叢集與他人共享 – 生產叢集屬於此類別 – 則必須採取額外步驟來確保安裝安全,以防止不小心或惡意的操作者損壞叢集或其叢集資料。在生產環境和其他多租戶方案中,要使用安全配置安裝Helm,請參閱Helm安全安裝。

如果群集啟用了基於角色的訪問控制(RBAC),在繼續之前配置服務帳戶(service account)和規則。

安裝Helm

下載Helm客戶端的二進位制版本。可以使用類似工具如homebrew,或檢視官方版本頁面

有關更多詳細資訊或其他選項,請參閱安裝指南。

初始化Helm並安裝Tiller

有了Helm安裝檔案,就可以初始化本地CLI,並將Tiller安裝到Kubernetes叢集中:

$ helm init

這會將Tiller安裝到對應的Kubernetes群集中,叢集同kubectl config current-context

提示: 想要安裝到不同的群集中?使用該 –kube-context 引數。

提示: 如果要升級Tiller,請執行helm init –upgrade。

預設情況下,安裝Tiller時,沒有啟用身份驗證。要了解有關為Tiller配置增強TLS身份驗證的更多資訊,請參閱 Tiller TLS指南。

安裝示例Chart

要安裝一個chart,可以執行helm install命令。Helm有幾種方法來查詢和安裝chart,但最簡單的方法是使用其中一個官方stable穩定版本的chart。

$ helm repo update #確保我們獲得最新的chart列表
$ helm install stable / mysql
Released smile-penguin

在上面的例子中,stable/mysql 已經安裝,安裝版本的release的名字是smiling-penguin。通過執行helm inspect stable/mysql可以簡單瞭解該MySQL chart的功能。

無論何時安裝chart,都會建立一個新release版本。所以一個chart可以多次安裝到同一個群集中。而且每個都可以獨立管理和升級。

helm install命令功能非常豐富,具有很多強大功能。要了解更多資訊,請檢視使用Helm指南

瞭解安裝的release

很容易通過如下命令檢視已使用Helm安裝的內容:

$ helm ls
NAME VERSION UPDATED STATUS CHART
smiling-penguin 1 Wed Sep 28 12:59:46 2016 DEPLOYED mysql-0.1.0

解除安裝安裝的release

要解除安裝安裝的release,請使用以下helm delete命令:

$ helm delete smiling-penguin
Removed smiling-penguin

smiling-penguin release將從Kubernetes 解除安裝,但仍然可以查詢有關該release的資訊:

$ helm status smiling-penguin
Status: DELETED
...

由於Helm在刪除它們之後也會跟蹤release,因此可以稽核群集的歷史記錄,甚至可以取消刪除動作(使用helm rollback)。

閱讀幫助文字

要了解有關Helm命令的更多資訊,請使用helm help或鍵入一個後跟該-h標誌的命令:

$ helm get -h

本文轉自kubernetes中文社群-Helm 使用者指南-系列(1)-序言+快速入門