Helm 将 v1.23.0 的 Kubeversion 读取错误:>=1.22.0-0 为 v1.20.0

LeS*_*low 5 kubernetes kubernetes-helm amazon-eks pulumi argocd

如何使用 ArgoCD Helm Chart 通过 Pulumi 在 K8 上部署?

普鲁米向上诊断:

  kubernetes:helm.sh/v3:Release (argocd):
    error: failed to create chart from template: chart requires kubeVersion: >=1.22.0-0 which is incompatible with Kubernetes v1.20.0
Run Code Online (Sandbox Code Playgroud)

集群版本是:v1.23.0,已在 AWS 上验证。而不是 1.20.0

与 CRD2Pulumi 一起使用的 ArgoCD 安装 yaml:https://raw.githubusercontent.com/argoproj/argo-cd/master/manifests/core-install.yaml

来源:

...

cluster = eks.Cluster("argo-example") # version="1.23"

# Cluster provider
provider = k8s.Provider(
    "eks",
    kubeconfig=cluster.kubeconfig.apply(lambda k: json.dumps(k))
    #kubeconfig=cluster.kubeconfig
)

ns = k8s.core.v1.Namespace(
    'argocd',
    metadata={
        "name": "argocd", 
    },

    opts=pulumi.ResourceOptions( 
        provider=provider
    )
)

argo = k8s.helm.v3.Release(
    "argocd",  
    args=k8s.helm.v3.ReleaseArgs(
        chart="argo-cd",
        namespace=ns.metadata.name,
        repository_opts=k8s.helm.v3.RepositoryOptsArgs(
            repo="https://argoproj.github.io/argo-helm"
        ),
        values={
            "server": {
                "service": {
                    "type": "LoadBalancer",
                }
            }
        },
    ),
    opts=pulumi.ResourceOptions(provider=provider, parent=ns),
)

Run Code Online (Sandbox Code Playgroud)

关于修复版本错误和实际集群版本之间的这种奇怪现象有什么想法吗?

我试过了:

  • 删除所有内容并重新开始。
  • 更新到最新的 ArgoCD 安装 yaml。

小智 1

我可以重现您的问题,但我不太确定是什么导致版本之间不匹配。最好在pulumi 的 k8s 存储库中提出问题。

查看https://github.com/argoproj/argo-helm/blame/main/charts/argo-cd/Chart.yaml的历史,可以看到 5.9.1 之后添加了 kubeversion 要求。因此,使用该版本可以成功部署 Helm Chart。例如

import * as k8s from "@pulumi/kubernetes";

const namespaceName = "argo";

const namespace = new k8s.core.v1.Namespace("namespace", {
  metadata: {
    name: namespaceName,
  }
});

const argo = new k8s.helm.v3.Release("argo", {
  repositoryOpts: {
    repo: "https://argoproj.github.io/argo-helm"
  },
  chart: "argo-cd",
  version: "5.9.1",
  namespace: namespace.metadata.name,
})
Run Code Online (Sandbox Code Playgroud)

(不推荐)或者,您也可以克隆图表的源代码,注释掉 kubeVersion 要求Chart.yaml并从本地路径安装图表。