学习 Helm(一):初识 Helm

Helm 是 Kubernetes 生态圈中 Kubernetes 包管理器,其中应用包被称为 Helm Chart。

特性

  • 创建 chart;
  • 打包 chart 为压缩包(.tgz 文件);
  • 和 chart 仓库交互,公用仓库 Helm Hub
  • 从 Kubernetes 集群上安装和卸载应用;
  • 管理从 Helm 上已安装 chart 的 Release 周期。

架构

Helm Architecture

安装

macOS 系统,使用包管理工具 Homebrew 安装:

brew install kubernetes-helm  

初始化:

helm init --history-max 500  

Trouble Shooting

报错 Error: could not find a ready tiller pod

执行 helm version 报错:

Error: could not find a ready tiller pod  

报错原因:

在 kube-system 命名空间,创建 tiller-deploy Deployment 报错:

Get https://gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)  

看到 gcr.io 域名,心中已知晓报错原因,你懂的。

修改 Deployment 镜像由 gcr.io/kubernetes-helm/tiller:v2.14.3sapcc/tiller:v2.14.3