尝试安装 django-defectDojo helm chart 并遇到 StatefulSet 版本错误



我正尝试在我的 CentOS 机器上安装 django-defectDojo 的 helm 图表 https://github.com/DefectDojo/django-DefectDojo/blob/master/KUBERNETES.md

但是在运行 helm 安装命令时,我遇到了这个问题 -

错误:验证失败:[无法识别 ":没有种类匹配项 版本"扩展/v1beta1"中的"部署"无法识别": 版本"apps/v1beta2"中的"状态集"没有匹配项]

在进一步检查时,我相信这与 postgresql 图表有关,但我无法解决问题。

我的库贝特尔版本是

库贝特尔版本

GitVersion:"v1.17.1", GitCommit:"d224476cd0730baca2b6e357d144171ed74192d6", GitTreeState:"clean", 构建日期:"2020-01-14T21:04:32Z", GoVersion:"go1.13.5", 编译器:"gc", 平台:"linux/amd64"} Server 版本:版本。信息{主要:"1", 次要:"17", GitVersion:"v1.17.1", GitCommit:"d224476cd0730baca2b6e357d144171ed74192d6", GitTreeState:"clean", 构建日期:"2020-01-14T20:56:50Z", GoVersion:"go1.13.5", 编译器:"gc", 平台:"linux/amd64"}Client Version: version.信息{大调:"1", 小调:"17",

对此的任何帮助将不胜感激。

显然这个图表存在问题,如果不进行额外的修改,它将无法与较新版本的Kubernetes(1.16 及更高版本(一起使用。我在django-DefectDojogithub页面上发现了这个问题。这里报告了与您的问题相同的问题。

这个问题与version 1.16年 Kubernetes API的一些重大变化有关。

在 v1.15.0 以来的更新日志中,您可以阅读以下内容:

默认情况下不再提供以下 API:(#70672、@liggitt( *apps/v1beta1apps/v1beta2下的所有资源 - 改用apps/v1*daemonsetsdeploymentsreplicasets资源下extensions/v1beta1- 改用apps/v1*networkpolicies资源 在extensions/v1beta1下 - 改用networking.k8s.io/v1*podsecuritypolicies资源extensions/v1beta1- 使用policy/v1beta1

此外,甚至还提供了临时解决方案:

  • 可以使用--runtime-configapiserver 标志。
  • apps/v1beta1=true
  • apps/v1beta2=true
  • extensions/v1beta1/daemonsets=true,extensions/v1beta1/deployments=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/networkpolicies=true,extensions/v1beta1/podsecuritypolicies=true

  • 在 v1.18 中,将完全删除为这些资源提供服务的功能。

由于您的 Kubernetes 版本是1.17,您仍然可以使用此解决方法。

或者,你可以按照这里的建议使用较旧的 Kubernetes 版本,或者自己手动修改 django-DefectDojo 项目中的相应yaml清单,使它们与当前的KubernetesAPI结构相匹配。

相关内容

  • 没有找到相关文章

最新更新