2

我正在尝试在此处给出的 CentOS 机器上安装 django-defectDojo 的 helm chart https://github.com/DefectDojo/django-DefectDojo/blob/master/KUBERNETES.md

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

错误:验证失败:[无法识别“”:版本“extensions/v1beta1”中类型“Deployment”没有匹配项,无法识别“”:版本“apps/v1beta2”中类型“StatefulSet”没有匹配项]

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

我的 kubectl 版本是

kubectl 版本

GitVersion:“v1.17.1”,GitCommit:“d224476cd0730baca2b6e357d144171ed74192d6”,GitTreeState:“clean”,BuildDate:“2020-01-14T21:04:32Z”,GoVersion:“go1.13.5”,编译器:“gc”,平台: "linux/amd64"} 服务器版本:version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.1", GitCommit:"d224476cd0730baca2b6e357d144171ed74192d6", GitTreeState:"clean", BuildDate:"2020- 01-14T20:56:50Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}客户端版本: version.Info{Major:"1", Minor:"17",

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

4

1 回答 1

1

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

问题version 1.16.

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

默认情况下不再提供以下 API: (#70672, @liggitt) * and下的所有资源-改为apps/v1beta1apps/v1beta2apps/v1使用* daemonsets, deployments,replicasets下的资源 extensions/v1beta1-apps/v1改为使用 *networkpolicies下的资源extensions/v1beta1- 改为使用networking.k8s.io/v1* podsecuritypolicies下的资源-改为extensions/v1beta1使用 policy/v1beta1

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

  • --runtime-config可以使用apiserver 标志临时重新启用为这些资源提供服务 。
  • 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项目中的适当清单,以便它们匹配当前的Kubernetes API结构。yaml

于 2020-01-17T17:34:06.717 回答