命令
常用命令
Helm 是由 Deis 发起的一个开源工具,有助于简化部署和管理 Kubernetes 应用。在本章的实践中,我们也会使用 Helm 来简化很多应用的安装操作。
在 Linux 中可以使用 Snap 安装 Heml:
$ sudo snap install helm --classic
# 通过键入如下命令,在 Kubernetes 群集上安装 Tiller
$ helm init --upgrade
在缺省配置下,Helm 会利用 “gcr.io/kubernetes-helm/tiller” 镜像在 Kubernetes 集群上安装配置 Tiller;并且利用 “https://kubernetes-charts.storage.googleapis.com” 作为缺省的 stable repository 的地址。由于在国内可能无法访问 “gcr.io”, “storage.googleapis.com” 等域名,阿里云容器服务为此提供了镜像站点。请执行如下命令利用阿里云的镜像来配置 Helm:
$ helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.5.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
# 删除默认的源
$ helm repo remove stable
# 设置 Helm 命令自动补全
$ source <(helm completion zsh)
$ source <(helm completion bash)
# 增加新的国内镜像源
$ helm repo add stable https://burdenbear.github.io/kube-charts-mirror/
$ helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
# 查看 Helm 源添加情况
$ helm repo list
Helm 的常见命令如下:
# 查看在存储库中可用的所有 Helm Charts
$ helm search
# 删除并更新源 or https://burdenbear.github.io/kube-charts-mirror/
$ helm repo remove stable && helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
# 更新 Charts 列表以获取最新版本
$ helm repo update
# 部署某个本地 Chart,指定命名空间与额外的配置文件
$ helm install --namespace ufc --name ufc-dev -f ./deployment/ufc/dev-values.yaml ./charts/ufc/
# 查看某个 Chart 的变量
$ helm inspect values stable/mysql
# 查看在群集上安装的 Charts 列表
$ helm list
# 调试某个配置
$ helm install --debug --dry-run ./mychart
# 校验某个配置
$ docker run -it --rm --name ct --volume $(pwd):/data quay.io/helmpack/chart-testing:v2.3.0 sh -c "ct lint --all --debug --chart-dirs /data/"
# 更新某个配置
$ helm upgrade my-release stable/external-dns
$ helm upgrade -f panda.yaml happy-panda stable/mariadb
# 删除某个 Charts 的部署
$ helm del --purge wordpress-test
# 为 Tiller 部署添加授权
$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
$ kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'