0

我正在尝试在名称空间“test”上安装第二个 dapr helm chart,而它已经安装在同一集群中的名称空间“dev”上。

helm upgrade -i --namespace $NAMESPACE \
    dapr-uat dapr/dapr
already installed config exists whith following name:
NAME                NAMESPACE   REVISION    UPDATED                                 STATUS      CHART                   APP VERSION
dapr                dev         1           2021-10-06 21:16:27.244997 +0100 +01    deployed    dapr-1.4.2              1.4.2

我收到以下错误

Error: rendered manifests contain a resource that already exists. Unable to continue with install: ClusterRole "dapr-operator-admin" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "dapr-uat": current value is "dapr"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "test": current value is "dev"
Tried specifying a different version for the installation but with no success
helm upgrade -i --namespace $NAMESPACE \
    dapr-uat dapr/dapr \
    --version 1.4.0

开始认为当前图表不允许在同一个集群上存在多个实例(开发和测试)。有没有人遇到过同样的问题?谢谢你,

4

1 回答 1

0

现有的 dapr 图表应用集群范围的资源,其中给出的名称没有考虑命名空间名称。因此,当尝试安装第二个配置时,集群范围的资源名称冲突与预先存在的集群范围的资源发生冲突:

Error: UPGRADE FAILED: rendered manifests contain a resource that already exists. Unable to continue with update: ClusterRole "dapr-operator-admin" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "dapr-uat": current value is "dapr-dev"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "uat": current value is "dev"

我不得不编辑图表:

git clone https://github.com/dapr/dapr.git

我在子图表 dapr_rbac 中编辑了 RBAC 资源,其中资源名称现在考虑命名空间名称dapr_rbac/templates/ClusterRoleBinding.yaml

以前的文件:

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dapr-operator
...

现在编辑包含所有资源上的元数据名称:

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dapr-operator-{{ .Release.Namespace }}
...

相同的逻辑已应用于文件中子图表 dapr_sidecar_injector 中的 MutatingWebhookConfigurationdapr_sidecar_injector/templates/dapr_sidecar_injector_webhook_config.yaml

如需完整编辑,请参阅分叉回购: https ://github.com/redaER7/dapr/tree/DEV/charts/dapr

于 2021-10-17T22:12:06.080 回答