由于版本 "extensions/v1beta1" 不受支持,使用 kubectl 部署 Ditto 和 MongoDB 失败

Deployment of Ditto and MongoDB using kubectl fails because of unsupported version "extensions/v1beta1"

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

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

我使用以下版本:

同上:release-1.5

minikube 版本:v1.14.1

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

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

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

非常感谢您。

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

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

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

I get the following error message:

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

"Deployment" in version "extensions/v1beta1"

I think I have to change the version to "api/v1", but doing this causes the next error ...

您应该将 Deployment 定义中的 apiVersion 更改为 apps/v1,而不是 api/v1。它应该可以正常工作而不会出现任何错误。 extensions/v1beta1 不起作用,因为它是 deprecated and is no longer served in k8s v1.16.