使用gitlabs分er实例删除自动部署的图表?

时间:2019-02-19 09:19:53

标签: kubernetes gitlab-ci kubernetes-helm

我正在使用Gitlab Auto DevOps CI管道,并且想使用头盔删除部署。

我尝试像这样helm init --client-only --tiller-namespace=gitlab-managed-apps连接到分till,导致

$HELM_HOME has been configured at /Users/marvin/.helm. Not installing Tiller due to 'client-only' flag having been set Happy Helming!

helm list --namespace=gitlab-managed-apps返回Error: could not find tiller

2 个答案:

答案 0 :(得分:1)

就像您做“仅客户端” helm --init一样,掌舵人也不知道如何找到正确的tiller实例。

您需要在随后的对helm list的调用中指定分the器的位置。

这在头盔安装文档here中已涉及。您将需要设置HELM_HOST环境变量,或者将--host添加到每个调用中。您还需要指定(并有权访问)用于建立Gitlab Auto DevOps连接的所有TLS证书。

答案 1 :(得分:1)

我有同样的问题。我在这里找到了列出发行版的解决方案:https://forum.gitlab.com/t/orphaned-apps-in-gitlab-managed-apps-namespace/22717/9

export TILLER_NAMESPACE="gitlab-managed-apps"

kubectl get secrets/tiller-secret -n "$TILLER_NAMESPACE" -o "jsonpath={.data['ca\.crt']}" | base64 -d > tiller-ca.crt
kubectl get secrets/tiller-secret -n "$TILLER_NAMESPACE" -o "jsonpath={.data['tls\.crt']}" | base64 -d > tiller.crt
kubectl get secrets/tiller-secret -n "$TILLER_NAMESPACE" -o "jsonpath={.data['tls\.key']}" | base64 -d > tiller.key

helm list --tiller-connection-timeout 30 --tls --tls-ca-cert tiller-ca.crt --tls-cert tiller.crt --tls-key tiller.key --all --tiller-namespace gitlab-managed-apps

然后您可以运行:

helm delete <name> [--purge] --tiller-connection-timeout 30 --tls --tls-ca-cert tiller-ca.crt --tls-cert tiller.crt --tls-key tiller.key --tiller-namespace gitlab-managed-apps