部署Argo CD Helm Chart时Kubernetes版本不兼容问题求助
解决Argo CD Helm Chart部署时的Kubernetes版本不兼容问题
问题说明
部署Argo CD Helm Chart时触发版本检查失败:Argo CD官方要求Kubernetes版本≥1.22.0-0,但当前集群版本为1.20.0。同时发现Pulumi未使用本地Mac安装的Helm,且kube-version被固定设置为1.20.0。
报错信息
pulumi:pulumi:Stack (my-project-prod): error: Error: invocation of kubernetes:helm:template returned an error: failed to generate YAML for specified Helm chart: failed to create chart from template: chart requires kubeVersion: >=1.22.0-0 which is incompatible with Kubernetes v1.20.0
涉及的Pulumi代码
new k8s.helm.v3.Chart( 'argo-cd', { chart: 'argo-cd', fetchOpts: { repo: 'https://argoproj.github.io/argo-helm' }, namespace: 'argo', values: {} }, { providers: { kubernetes: cluster.provider } } );
解决方案
1. 升级Kubernetes集群(推荐)
直接将Kubernetes集群升级到1.22.0或更高版本,完全匹配Argo CD的官方版本要求,从根源上解决兼容性问题,避免后续功能异常。
2. 安装兼容旧K8s版本的Argo CD Chart
在Pulumi的Chart配置中指定兼容K8s 1.20.0的Argo CD Helm Chart版本,比如v3.3.x系列(该系列支持K8s 1.19+)。修改代码如下:
new k8s.helm.v3.Chart( 'argo-cd', { chart: 'argo-cd', version: '3.3.17', // 替换为兼容K8s 1.20的具体版本 fetchOpts: { repo: 'https://argoproj.github.io/argo-helm' }, namespace: 'argo', values: {} }, { providers: { kubernetes: cluster.provider } } );
注:可通过
helm search repo argo-cd --versions查看所有可用版本,选择标注兼容K8s 1.20的版本。
3. 绕过Helm的kubeVersion检查(不推荐)
通过Pulumi强制指定Helm检测的Kubernetes版本,绕过版本校验,但可能引发未知的兼容性问题。修改代码添加kubeVersion字段:
new k8s.helm.v3.Chart( 'argo-cd', { chart: 'argo-cd', fetchOpts: { repo: 'https://argoproj.github.io/argo-helm' }, namespace: 'argo', values: {}, kubeVersion: '1.22.0' // 强制指定集群版本为1.22.0以绕过检查 }, { providers: { kubernetes: cluster.provider } } );
内容的提问来源于stack exchange,提问作者LucasBrazi06
相关产品推荐
相关产品推荐

