在部署定义中使用“ topologySpreadConstraints”时创建服务失败

时间:2020-07-29 10:02:32

标签: kubernetes google-kubernetes-engine minikube kubernetes-deployment

我们正在GKE中创建的集群中运行应用程序。我们已经创建了必需的Yaml(由服务和部署定义组成)。我们最近决定使用Pod拓扑,因为我已在spec章节下的Deployment yaml文件中添加了以下内容-

 spec:
  topologySpreadConstraints:
  - maxSkew: 1
    topologyKey: node
    whenUnsatisfiable: DoNotSchedule
    labelSelector:
      matchLabels:
        app: foo-app

当我在minikube群集中运行服务时,此更改按预期方式工作,而GKE群集中未运行相同的更改。引发错误-

Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(Deployment.spec.template.spec): unknown field "topologySpreadConstraints" in io.k8s.api.core.v1.PodSpec

我进行了很多搜索,但找不到满意的答案。有人遇到过这个问题吗?请帮助我了解问题及其解决方法。

预先感谢。

1 个答案:

答案 0 :(得分:2)

我假设您正在GKE集群上运行1.17.7-gke.17。不幸的是,本文发布时,您可以通过rapid channel升级到最新版本。

topologySpreadConstraints在Kubernetes v1.18 FEATURE STATE: [beta]

中可用