【问题标题】:Failure in creating service when using "topologySpreadConstraints" in Deployment definition在部署定义中使用“topologySpreadConstraints”时创建服务失败
【发布时间】:2020-11-18 21:30:59
【问题描述】:

我们正在 GKE 中创建的集群内运行应用程序。我们已经创建了所需的 yamls(由服务和部署定义组成)。我们最近决定使用 Pod 拓扑,为此我在我的部署 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

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

提前致谢。

【问题讨论】:

  • GKE 中存在什么版本的 k8s?
  • 知道了。客户端版本是完美的(1.18.6),而服务器版本是导致问题的东西。我升级了它并且它工作。谢谢:-)

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


【解决方案1】:

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

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

【讨论】:

  • 谢谢尼奥。我不得不升级服务器版本(客户端版本是完美的1.18.6),它工作。
猜你喜欢
  • 2014-01-27
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-24
  • 2022-12-17
相关资源
最近更新 更多