命令

常用命令

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"}}}}'
下一页