Kubernetes 有許多的 yaml 檔案, 當使用時間一段時間後, 會變得複雜且不易維護, 因此本篇筆記將介紹 Helm, Helm 是一個可以安裝與管理 Kubernetes 應用程式的工具, 我們可以將 Helm 視為是 Kubernetes 的 package manager. Helm 主要功能如下:
- 作為應用程式的樣版
- 控制應用程式的版本
- 應用程式打包
在 Helm 中所管理的是 Chart. Chart 包含 Char, Templates 以及 Values 三個部分.
以下是 Helm 的架構:
Helm 分為 Client 端與 Server 端, 而 Server 端是 Tiller 套件安裝 Helm
(部分資訊將會遮罩)
在 Powershell 中執行
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('
https://chocolatey.org/install.ps1'))
)) 安裝 HelmPS C:\WINDOWS\system32> Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-
Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
C:\ProgramData\chocolatey
執行命令 choco install kubernetes-helm 安裝 Helm 到 Kubernetes
PS C:\WINDOWS\system32> choco install kubernetes-helm
安裝完成後, 執行命令
**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!
使用命令 helm version 檢查 Helm 版本
PS C:\WINDOWS\system32> helm version
使用命令 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
使用命令 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 安裝初始化