【问题标题】:Single node kubernetes cluster scale up单节点 Kubernetes 集群纵向扩展
【发布时间】:2019-09-17 12:53:15
【问题描述】:

我有一个在 GKE 上运行的单节点 kubenertes 集群。所有负载都在由命名空间分隔的单个节点上运行。

现在我想实现自动缩放。是否有可能我可以将 mircoservices 扩展到新节点但一个 pod 只运行我的主节点。

我在想什么

主节点:以 1 个 pod 可用性运行所有内容(Redis、Elasticsearch)

扩展节点:仅扩展无状态微服务的副本

我有什么办法可以使用node auto scaeleraffinity 来实现。

问题是现在我在具有statefulsets 并由卷支持的单个节点上运行 graylog、elasticsearch 和 redis 和 rabbitmq,我必须重新部署所有内容编辑 yaml 文件以将affinity 添加到所有节点。

【问题讨论】:

    标签: docker elasticsearch kubernetes google-cloud-platform


    【解决方案1】:

    我不确定我是否正确理解了您的问题,但如果我理解了,那么您可以尝试使用 taints 和 tolerations(节点亲和力)。污点和容忍一起工作,以确保 Pod 不会被调度到不合适的节点上。所有详细信息都可以在文档here 中找到。

    【讨论】:

    • 感谢您撰写答案,但如果我最初没有对 YAML 文件应用亲和力怎么办。
    【解决方案2】:

    假设您遇到的问题是绑定到 StatefulSet 的持久卷只能从一个节点访问,那么您可以使用 nodeAffinity 字段来限制 StatefulSet Pod 的调度位置。如文档中所述:

    PV 可以指定节点亲和性来定义限制什么 可以访问此卷的节点。使用 PV 的 Pod 只会 被调度到由节点亲和性选择的节点。

    【讨论】:

      猜你喜欢
      • 2019-07-26
      • 2018-12-04
      • 2017-11-20
      • 1970-01-01
      • 2020-04-22
      • 2021-01-13
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多