Captain 运维手册
captain 安装
安装包
1
helm install --version <captain chart version> --debug --namespace=<ns> --set global.registry.address=<init registry> --set alaudaChartRepoURL=<init 节点上的 chart repo> --set namespace=<ns> --name=captain stable/captain --wait --timeout 3000
kubectl-captain 在安装目录下的 other 目录里
安装要求
软件依赖
captain 依赖 cert-manager ,必须在 cert-manager 部署成功后,安装 captain
硬件依赖
均可
用 captain 替换 helm
已经通过 helm 部署的 chart 怎样迁移到 helm 上
详见升级说明文档,大致流程如下:
通过 kubectl captain 命令或者直接创建 helmrequest 资源,hr 资源存在 global 的集群内
captain 侦测到新的 helmrequest 资源,会自动部署 chart ,成功后,会生成 release 资源。chart 安装到那个集群,release 资源就存在那个集群内
2.2. 迁移到 captain 的 chart 如何在 helm 里删掉
详见升级说明文档,大致流程如下:
helm 每成功安装一次 chart ,就会在 kube-system 的 ns 下创建一个 cm,cm 的名字是 chart 的 release 名字+ v[0-9],比如 cert-manager.v1,是 cert-manager 这个 chart 第一次安装成功的版本,以后每更新一次这个 chart ,后面的数字就加1
找到这个 cm,删掉之后执行 helm list -a 命令就看不到 chart 了,但是 chart 创建的资源还存在
captain 运维
captain 安装 chart
1
kubectl captain create ,比如kubectl captain create --version 2.1 --namespace=cpaas-system --chart=stable/amp-minio --set global.registry.address=10.0.128.172:60080 amp-minio
即创建了一个名为 amp-minio 的 HelmRequest 资源
写 yaml ,然后 kubectl create -fcaptain 更新、升级 chart
1
kubectl edit <hr name> -n <ns> 修改 chart 的变量和版本
captain 删除 chart
1
kubectl delete <hr name> -n <ns> 修改 chart 的变量和版本
captain 查看 chart 状态
1
2
3
4
5kubectl get <hr name> -n <ns> ## 查看 hr 的状态
kubectl describe <hr name> -n <ns> ## 查看 hr 详细情况
kubectl get release -n <ns> ## 查看通过 captain 部署的 chartcaptain 列出 chart 资源
1
kubectl get <hr name> -n <ns>
和 helm 命令对应功能的 captain 命令
1
2
3
4
5
6
7
8
9
10
11
12
13helm list kubectl get <hr name> -n <ns> ; kubectl get release -n <ns> | grep <hr name> # 这个命令在 chart 安装的目的集群的 master 上执行
helm repo list kubectl get chartrepo -n <ns>
help repo up
helm install kubectl captain create
helm upgrade kubectl edit <hr name> -n <ns>
helm get values kubectl get <hr name> -n <ns> -o yaml
helm statuscaptain 错误排障