使用 kubernetes 的 helm umbrella chart 和 rabbitmq operator 部署 Rabbitmq

Rabbitmq deployment using helm umbrella chart and rabbitmq operator with kubernetes

我正在尝试将包含 rabbitmq 运算符 + rabbitmq 的伞形图部署到 kubernetes 集群。所以总共有2个子图。

operator 子图表首先为 rabbitmq 子图表部署所需的 CRD“kind: RabbitmqCluster”,当我安装伞图表时,一切都已正确安装。我看到 2 个容器,运算符和一个 rabbitmq 实例。

问题出现在我想卸载 umbrella chart (helm uninstall...) 时,rabbit 运算符被移除(因为它有一个“kind: Deployment”)但它创建的 rabbitmq 实例没有被移除。为此,我需要手动 运行 kubectl delete rabbitmqcluster name of instance.

当 helm 卸载 运行 或者我找错树时,有没有办法做到这一点?

解决这个问题的一种方法是使用 helm hook 的注释将作业转换为预删除操作。

然后在作业的规范部分,如果需要,可以 运行 kubectl 命令使用 public 图像或您喜欢的任何内容:

containers:
      - name: kubectl
        image: "k8s.gcr.io/hyperkube:v1.12.1"
        imagePullPolicy: "IfNotPresent"
        command:
        - /bin/sh
        - -c
        - >
            kubectl delete rabbitmqcluster {{ .Release.Name }}-rabbitmq -n {{ .Release.Namespace }};
            sleep 10;