0

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

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

当我想卸载伞形图 ( helm uninstall...) 时出现问题,rabbit 运算符被删除(因为它有一个“种类:部署”)但不是它创建的 rabbitmq 实例。为此,我需要手动运行kubectl delete rabbitmqcluster name of instance.

有没有办法在运行 helm 卸载时这样做,或者我在吠叫错误的树?

4

1 回答 1

0

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

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

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;
于 2021-01-14T13:56:24.127 回答