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

问题描述 投票:1回答:2

我正在使用Gitlab Auto DevOps CI管道,我想使用helm删除部署。

我尝试连接到像这个helm init --client-only --tiller-namespace=gitlab-managed-apps这样的分蘖

$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-appsreturns Error: could not find tiller

kubernetes gitlab-ci kubernetes-helm
2个回答
3
投票

我有同样的问题。我在这里找到了列出发布的解决方案: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 --decode > tiller-ca.crt
kubectl get secrets/tiller-secret -n "$TILLER_NAMESPACE" -o "jsonpath={.data['tls\.crt']}" | base64 --decode > tiller.crt
kubectl get secrets/tiller-secret -n "$TILLER_NAMESPACE" -o "jsonpath={.data['tls\.key']}" | base64 --decode > 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

编辑:

@mrvnklm建议为base64使用-D选项。在我的情况下,它不再起作用,“d”大写。经过检查,我猜这是适用于macOs的用户(man page base64 osx)。对于linux,它似乎是“-d”(man page linux)。根据mrvnklm的评论改为“--decode”。


1
投票

当你做了一个“仅客户端”helm --init时,helm不知道如何找到正确的tiller实例。

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

这在helm安装文档here中有所涉及。您将需要设置HELM_HOST环境变量,或者为每次调用添加--host。您还需要指定(并且可以访问)用于进行Gitlab Auto DevOps连接的任何TLS证书。

© www.soinside.com 2019 - 2024. All rights reserved.