Rancher十二之调度服务与负载均衡
  it2nV7RK7uw1 2023年11月28日 24 0

调度服务

Rancher的核心调度逻辑是Rancher的一部分,它可以处理端口冲突和根据主机/容器上的标签进行调度的能力。除了核心调度逻辑,Rancher还使用应用商店里的Rancher Scheduler支持额外的调度策略。

注意: 这些特性不适用于Kubernets,因为Kubernets自己处理pod的调度。

启用Rancher调度程序

Rancher调度服务需要在环境中启用。如果您将它从您的环境中删除了,可以在应用商店 -> 官方认证中添加应用Rancher Scheduler


多IP主机调度

默认情况下,Rancher假定在调度发布有暴露端口的服务以及启动负载均衡器时,主机上只有一个IP可用。如果您的主机有多个可以使用的IP,则需要配置主机以允许Rancher调度程序知道哪些IP可用

当主机上有多个IP可用于调度时,当通过服务或者负载均衡器发布端口时,Rancher将对所有可用的调度IP进行编排。当主机上的所有可用的调度IP都被分配给那个端口之后,调度器将会报告端口冲突。


基于资源约束的调度

当Rancher主机被添加到Rancher时,它们将根据主机的大小自动限制资源。可以通过编辑主机来调整这些限制。在基础架构 -> 主机中,您可以从主机的下拉框中选择编辑。在主机的资源限制选项中,您可以更新内存或者CPU为您期望需要用到的最大值。

在UI上设置资源预留

创建服务时,可以在安全/主机选项卡中指定内存预留mCPU预留。设置这些预留时,服务的容器只能安排在具有可用资源的主机上。主机上这些资源的最大限制是根据主机的资源限制确定的。如果将容器调度到主机上会迫使这些限制超过阈值,则容器将不会被调度到主机上。

在Rancher Compose中设置预留

docker-compose.yml示例

version: '2'
 services:
   test:
     image: ubuntu:14.04.3
     stdin_open: true
     tty: true
     # Set the memory reservation of the container
     mem_reservation: 104857600

rancher-compose.yml示例

version: '2'
 services:
   test:
     # Set the CPU reservation of the container
     milli_cpu_reservation: 10
     scale: 1


在主机上调度指定服务

通常,大部分的容器调度规则定义在了服务中。服务对可以运行容器的主机设置了一些规则或限制。例如,容器必须安排在具有特定标签的主机上。Rancher还可以支持只允许将特定的容器调度到某个主机上。例如,您可能希望某台专用主机只运行数据库容器。

注意: 当您在主机上添加运行容器的限制标签时,您将需要包含一个特定标签,以便将Rancher的基础设施服务调度到主机上。没有这些服务,容器将无法正常运行。

对于任何主机,您可以通过从主机的下拉列表中选择编辑来编辑主机以添加可运行容器必须具有的标签。 在容器标签需求选项中,您可以添加要在服务中使用哪些标签,以便将这些容器调度到主机上。UI将自动将标签(例如,io.rancher.container.system =`)标记为必需的标签。

负载均衡

Rancher支持在Rancher内使用不同负载均衡器驱动。您可以通过向目标服务添加规则使负载均衡器将网络和应用程序流量分配到容器中。Rancher将自动将目标服务的容器自动注册为Rancher的负载平衡目标。

默认情况下,Rancher提供了一个基于HAProxy的托管负载均衡器,您可以手动扩容到多个主机上。我们计划添加额外的负载均衡器驱动,所有负载均衡器的选项将是相同的,不管负载均衡器种类。

对于Cattle引擎的环境,可以参考UIRancher Compose了解更多信息,并且在UIRancher Compose中有相关的例子。

对于Kubernetes的环境,详细了解如何启动云厂商提供的外部负载均衡器服务,或者使用Rancher负载均衡器实现Kubernetes环境中的Ingress支持。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月28日 0

暂无评论

推荐阅读
  Yoru5qB4TSKM   2023年12月10日   33   0   0 服务器重启IP
  ozzp9aSSE46S   2023年11月30日   25   0   0 DNSIPPod
  48fXx4UfWSFg   2023年12月06日   51   0   0 bcIPbundle
  aYmIB3fiUdn9   2023年12月08日   48   0   0 客户端IPNATlvs
  it2nV7RK7uw1   2023年11月28日   23   0   0 Dockerui