0

我尝试按照项目 README.txt 中的说明使用 kubernetes/minikube 启动 Ditto。使用命令部署 mongoDB 和稍后的同上服务时

kubectl apply -f deployment/kubernetes/mongodb/mongodb.yaml

我收到以下错误消息:

error: unable to recognize "deployment/kubernetes/mongodb/mongodb.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"

我想我必须将版本更改为“api/v1”,但这样做会导致下一个错误:

error: error validating "deployment/kubernetes/mongodb/mongodb.yaml": error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec; if you choose to ignore these errors, turn validation off with --validate=false

我使用以下版本:

同上:发布-1.5

minikube 版本:v1.14.1

kubectl 客户端版本:Major:"1", Minor:"19", GitVersion:"v1.19.2

kubectl 服务器版本:主要:“1”,次要:“19”,GitVersion:“v1.19.2”

有谁知道我如何解决这个问题。我不知道必须添加哪些字段和哪些值才能使 .yaml 文件按预期工作。

非常感谢您提前。

4

2 回答 2

0

您可以在此处查看此 PR 中的文件:https ://github.com/eclipse/ditto/tree/master/deployment/kubernetes/deploymentFiles

部署文件已更新,现在使用 apiVersion:apps/v1。

于 2021-02-09T12:56:21.390 回答
0

这是一个社区 Wiki 答案,因此请随时对其进行编辑并添加您认为重要的任何其他详细信息。

我收到以下错误消息:

error: unable to recognize "deployment/kubernetes/mongodb/mongodb.yaml": no matches for kind

版本“extensions/v1beta1”中的“部署”

我想我必须将版本更改为“api/v1”,但这样做会导致下一个错误......

您应该将 apiVersion inDeployment定义更改为 apps/v1,而不是 api/v1。它应该可以正常工作,没有任何错误。并且 extensions/v1beta1 不起作用,因为它已被 弃用并且不再在 k8s v1.16 中提供

于 2021-03-04T19:04:28.740 回答