【问题标题】:Helm upgrade error. atlassian-jira-software ingressHelm 升级错误。 atlassian-jira 软件入口
【发布时间】:2021-12-02 03:22:39
【问题描述】:

正在尝试更新 helm ingress jira atlassian 软件。 我有这样的入口模板:

{{- if .Values.ingress.enabled -}}
{{- $fullName := include "atlassian-jira-software.fullname" . -}}
{{- $servicePort := .Values.service.port -}}
{{- $ingressPath := .Values.ingress.path -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{ $fullName }}
  labels:
    app: {{ template "atlassian-jira-software.name" . }}
    chart: {{ template "atlassian-jira-software.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
{{- with .Values.ingress.annotations }}
  annotations:
{{ toYaml . | indent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.tls }}
  tls:
  {{- range .Values.ingress.tls }}
    - hosts:
      {{- range .hosts }}
        - {{ . }}
      {{- end }}
      secretName: {{ .secretName }}
  {{- end }}
{{- end }}
  rules:
  {{- range .Values.ingress.hosts }}
    - host: {{ . }}
      http:
        paths:
          - path: {{ $ingressPath }}
            backend:
              service:
                name: {{ $fullName }}
                port:
                  name: http
  {{- end }}
{{- end }}

执行这个命令:

helm upgrade --dry-run -n atlassian jira .

这个命令的输出:

Error: UPGRADE FAILED: rendered manifests contain a resource that already exists. Unable to continue with update: Ingress "jira-atlassian-jira-software" in namespace "atlassian" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "jira"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "atlassian"

kubectl 版本 --short

输出:

Client Version: v1.19.12 Server Version: v1.19.13-eks-8df270 请帮帮我!

【问题讨论】:

    标签: kubernetes yaml jira kubernetes-helm kubectl


    【解决方案1】:

    Ingress 最初是由 Helm 安装的吗?查看其“标签”部分:

    kubectl get ingress jira-atlassian-jira-software -o json
    

    如果您没有找到预期值(如错误消息中所述)并且您确定自己知道自己在做什么,则可以尝试通过编辑入口来自己添加标签:

    kubectl edit ingress jira-atlassian-jira-software
    

    如果您这样做,请确保在再次进行 helm 升级之前运行 diff(以确保您提前了解会发生什么,并且您不会吹走任何您不打算做的事情) :

    helm diff upgrade -n atlassian jira .
    

    【讨论】:

    • kubectl get ingress jira-atlassian-jira-software -o json 输出:"labels": { "app": "atlassian-jira-software", "chart": "atlassian-jira-software-0.1.0", "heritage": "Helm", "release": "jira" }, 所以,它是由 helm 部署的。我运行了 helm diff,然后尝试升级它 - 同样的错误)
    • 听起来图表可能是由 Helm Classic 安装的,但您在客户端上安装了更新版本的 Helm。我想您可以尝试重新安装 Helm Classic。或者您可以使用我提供的命令编辑入口,为您当前版本的 Helm 添加所需的标签(标签和值在您的错误消息中明确列出)......但要非常小心并确保运行差异。跨度>
    猜你喜欢
    • 2023-03-03
    • 2018-02-09
    • 2020-12-15
    • 2019-05-15
    • 2020-03-22
    • 2021-01-29
    • 1970-01-01
    • 2022-11-11
    • 2013-08-18
    相关资源
    最近更新 更多