Kubernetes 有許多的 yaml 檔案, 當使用時間一段時間後, 會變得複雜且不易維護, 因此本篇筆記將介紹 Helm, Helm 是一個可以安裝與管理 Kubernetes 應用程式的工具, 我們可以將 Helm 視為是 Kubernetes 的 package manager. Helm 主要功能如下:

  • 作為應用程式的樣版
  • 控制應用程式的版本
  • 應用程式打包
    在 Helm 中所管理的是 Chart. Chart 包含 Char, Templates 以及 Values 三個部分.
    以下是 Helm 的架構:
    Helm 分為 Client 端與 Server 端, 而 Server 端是 Tiller 套件
    Windows安裝 Helm - 图1

    安裝 Helm

    (部分資訊將會遮罩)
  1. 在 Powershell 中執行 Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')))) 安裝 Helm

    1. PS C:\WINDOWS\system32> Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-
    2. Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

    image.png
    C:\ProgramData\chocolatey
    image.png

  2. 執行命令 choco install kubernetes-helm 安裝 Helm 到 Kubernetes

    PS C:\WINDOWS\system32> choco install kubernetes-helm
    

image.png

  1. 安裝完成後, 執行命令 **helm init --canary-image**`` 初始化 Helm

    $HELM_HOME has been configured at C:\Users\?????\.helm.
    Warning: Tiller is already installed in the cluster.
    (Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)
    Happy Helming!
    
  2. 使用命令 helm version 檢查 Helm 版本

    PS C:\WINDOWS\system32> helm version
    

    image.png

  3. 使用命令 tiller, 安裝並啟動 tiller Server 端

    PS C:\WINDOWS\system32> tiller
    [main] 2018/10/24 13:40:12 Starting Tiller v2.11.0 (tls=false)
    [main] 2018/10/24 13:40:12 GRPC listening on :44134
    [main] 2018/10/24 13:40:12 Probes listening on :44135
    [main] 2018/10/24 13:40:12 Storage driver is ConfigMap
    [main] 2018/10/24 13:40:12 Max history per release is 0
    
  4. 使用命令 kubectl get deployments —all-namespaces , 確認 tiller 部署完成

    PS C:\k8s> kubectl get deployments --all-namespaces
    NAMESPACE     NAME                               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    docker        compose                            1         1         1            1           14d
    docker        compose-api                        1         1         1            1           14d
    kube-system   kube-dns                           1         1         1            1           14d
    kube-system   tiller-deploy                      1         1         1            1           12m
    

    以上便完成了 Helm 與 tiller 安裝初始化


參考資料:

https://ithelp.ithome.com.tw/articles/10207766