我试图按照此处https://github.com/DefectDojo/django-DefectDojo/blob/master/KUBERNETES.md
的说明在我的CentOS计算机上安装django-defectDojo舵图。但是在运行helm install命令时,我遇到了这个问题-
错误:验证失败:[无法识别“”:没有同类匹配项 版本“ extensions / v1beta1”中的“部署”,无法识别“”: 版本“ apps / v1beta2”中没有与“ StatefulSet”类型匹配的内容]
经过进一步检查,我认为这与postgresql图表有关,但是我无法解决该问题。
我的kubectl版本是
kubectl版本
GitVersion:“ v1.17.1”, GitCommit:“ d224476cd0730baca2b6e357d144171ed74192d6”, GitTreeState:“干净”,BuildDate:“ 2020-01-14T21:04:32Z”, GoVersion:“ go1.13.5”,编译器:“ gc”,平台:“ linux / amd64”}服务器 版本:version.Info {主要:“ 1”,次要:“ 17”,GitVersion:“ v1.17.1”, GitCommit:“ d224476cd0730baca2b6e357d144171ed74192d6”, GitTreeState:“干净”,BuildDate:“ 2020-01-14T20:56:50Z”, GoVersion:“ go1.13.5”,编译器:“ gc”,平台:“ linux / amd64”}客户端版本:version.Info {主要:“ 1”,次要:“ 17”,
在此方面的任何帮助将不胜感激。
答案 0 :(得分:1)
显然,此图表存在问题,并且如果不作任何其他修改,它将不适用于更新版本的 Kubernetes (1.16及更高版本)。我在 django-DefectDojo github页面上发现了this问题。 Here报告了与您相同的问题。
该问题与version 1.16
中 Kubernetes API 的一些重大更改有关。
在Changelog since v1.15.0中,您可以阅读以下内容:
默认情况下不再提供以下API:(#70672,@ liggitt) *
apps/v1beta1
和apps/v1beta2
下的所有资源-改用apps/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 ,因此您仍然可以使用此替代方法。
或者,您可以按照建议的here使用较旧的 Kubernetes 版本,也可以自行手动修改django-DefectDojo项目中的yaml
清单,以使其与当前的 Kubernetes API 结构。