kubernetes Helm Grafana/Loki图表安装错误,呈现的清单包含已存在的资源

ukdjmx9f  于 2023-06-21  发布在  Kubernetes
关注(0)|答案(4)|浏览(197)

我需要在Kubernetes集群中安装Grafana Loki和Prometheus。于是我就按照下面的方法安装了。它基本上使用Helm来安装它。下面是我执行的安装它的命令。

helm upgrade --install loki grafana/loki-stack  --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false,loki.persistence.enabled=true,loki.persistence.storageClassName=standard,loki.persistence.size=5Gi -n monitoring --create-namespace

在这种情况下,我使用了official Grafana website
但是当我执行上面的helm命令时,我得到下面的错误。事实上我是新来的

Release "loki" does not exist. Installing it now.
W0307 16:54:55.764184 1474330 warnings.go:70] policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+
Error: rendered manifests contain a resource that already exists. Unable to continue with install: PodSecurityPolicy "loki-grafana" 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 "loki": current value is "loki-grafana"

我没有看到任何Grafana图表安装。

helm list -A
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
cert-manager    cert-manager    1               2021-11-26 13:07:26.103036078 +0000 UTC deployed        cert-manager-v0.16.1    v0.16.1
ingress-nginx   ingress-basic   1               2021-11-18 12:23:28.476712359 +0000 UTC deployed        ingress-nginx-4.0.8     1.0.5
klsxnrf1

klsxnrf11#

好吧,我能解决我的问题。问题是“PodSecurityPolicy”。我删除了现有的Grafana PodSecurityPolicy,它工作了。

bweufnob

bweufnob2#

问题在这里:

rendered manifests contain a resource that already exists. Unable to continue with install: PodSecurityPolicy "loki-grafana" 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 "loki": current value is "loki-grafana"

删除PodSecurityPolicy可能是一个解决方案,但更好的方法是将注解键meta.helm.sh/release-nameloki-grafana更改为loki
另外,我可以看到你正在使用过时的API:

policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+

要解决这个问题,请查看以下文档:
PodDisruptionBudget的**policy/v1 beta1 * API版本将在v1.25中停止提供。

  • 迁移清单和API客户端,使用policy/v1API版本(v1.21开始提供)。
  • 所有现有的持久化对象都可以通过新的API访问
    *policy/v1的显著变化:- 写入policy/v1 PodDisruptionBudget的空spec.selector{})选择命名空间中的所有pod(在policy/v1beta1中,空spec.selector选择no pod)。未设置的spec.selector在两个API版本中都不选择pod。
PodSecurityPolicy

v1.25版本将不再提供policy/v1 beta1API版本中的PodSecurityPolicy,并移除PodSecurityPolicy准入控制器。
PodSecurityPolicy的替代方案仍在讨论中,但目前的使用可以迁移到3rd-party admission webhooks
另请参阅this documentation了解有关动态准入控制的更多信息。

soat7uwm

soat7uwm3#

尝试这个方法来获取所有命名空间中的所有版本,使用--all-namespaces标志和helm ls。

k4emjkb1

k4emjkb14#

使用比2.10更上级的版本。为我工作2.16.0

相关问题