代码之家  ›  专栏  ›  技术社区  ›  Jacob

部署到特定Kubernetes群集节点

  •  1
  • Jacob  · 技术社区  · 6 年前

    我正在尝试使用Kubernetes、Jenkins和我的私有SVN存储库来实现CI/CD管道。我计划使用Kubernetes集群,它有3个主计算机和15个工作计算机/节点。并使用Jenkins部署使用spring boot开发的微服务。所以,当我使用Jenkins进行部署时,如何定义需要在kubernetes集群的哪个节点上部署哪个微服务?。我需要在Pod中指定吗?或任何其他定义?

    2 回复  |  直到 6 年前
        1
  •  3
  •   Const    6 年前

    如何定义kubernetes集群中需要在哪个节点上部署哪个微服务?。我需要在Pod中指定吗?或任何其他定义?

    • 如其他答案所述,你不需要 需要 这样做,但是你 可以 如果有任何理由这样做,请使用不推荐的nodeSelector或首选的Affinity。它们非常值得花时间阅读,因为您可以在可用节点上将一些与特定服务/微服务相关的pod组合在一起或彼此分开,以实现更灵活、更具弹性的体系结构和适当的分布。通过这种方式,您可以帮助调度器决定在何处放置要实现所需布局的内容。对于前面提到的最基本的需求,资源分配可以做到这一点,但对于任何细粒化,您都可以使用亲和力(和反亲和力)。详细说明文件如下: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
        2
  •  1
  •   Jonah Benton    6 年前

    Kubernetes计算出哪些节点应该运行哪些pod。你不必那么做。您必须指出每个pod需要多少内存和cpu,k8s一级近似值可以计算出其余的内存和cpu。

    也就是说,您需要做的是找出如何将需要运行的全套工作负载(例如,按环境(dev/stage/prod)或按租户(team X/team Y/team Z或client X/client Y/client Z)划分到名称空间中,然后找出哪些工作流对该划分有意义,然后配置CI以满足该工作流。