在新节点上启动集群
使用 Rancher,您可以基于节点模板创建节点池。节点模板定义了用于在基础设施提供商或云服务商中启动节点的参数。
在基础设施提供商托管的节点池上安装 Kubernetes 的一个好处是,如果某个节点与集群失去连接,Rancher 可以自动创建另一个节点加入集群,以确保节点池的数量符合预期。
有哪些可用于创建节点模板的云提供商取决于启用了哪些节点驱动。
本节涵盖以下主题:
节点模板
节点模板保存了用于配置指定云提供商中的节点时使用的参数。这些节点可以从 UI 中启动。Rancher 使用 Docker Machine 来启动这些节点。具体有哪些可用于创建节点模板的云提供商取决于在 Rancher 中开启了哪些节点驱动。
在 Rancher 中创建并保存节点模板后,您可以再次使用该模板来创建节点池。节点模板会绑定到您登录的用户中。您可以在用户个人资料中将创建的节点模板删除。
节点标签
您可以在节点模板中添加标签,从该节点模板创建的所有节点都将自动具有这些标签。
节点污点
从 Rancher v2.3.0 开始可用
您可以在节点模板中添加污点,这样从该节点模板创建的所有节点都将自动具有这些污点。
由于可以同时在节点模板和节点池中添加污点,因此如果添加了相同键的污点并且效果没有冲突,则所有污点都将被添加到节点。如果存在具有相同键但不同效果的污点,则节点池中的污点将覆盖节点模板中的污点。
节点模板的管理员控制
自 v2.3.3 起可用
系统管理员可以控制所有节点模板。系统管理员现在可以在 Rancher 中维护所有节点模板。当节点模板所有者不再使用 Rancher 时,系统管理员可以管理由它们创建的节点模板,因此可以继续更新和维护集群。
要访问所有节点模板,系统管理员将需要执行以下操作:
- 在 Rancher UI 中,单击右上角的用户图标。
- 单击节点模板。
结果: 所有节点模板均按所有者列出并分组。可以通过单击省略号(…)来编辑或克隆模板。
节点池
使用 Rancher,您可以基于节点模板创建节点池。
每个节点池都分配有一个节点组件以指定如何为 Kubernetes 集群配置这些节点。
节点模板定义了节点的配置,比如使用什么操作系统,CPU 数量和内存数量。
使用节点池的好处是,如果一个节点被破坏或删除,你可以增加活节点的数量来补偿丢失的节点。节点池可以帮助你确保节点池的计数符合预期。
每个节点池必须分配一个或多个节点角色。
每个节点角色(即 etcd、control plane 和 worker)都应分配给一个不同的节点池。虽然可以将多个节点角色分配给一个节点池,但对于生产集群来说,不应该这样做。
推荐的设置是拥有
- 一个节点池有 etcd 节点角色,数量为三个
- 一个具有 control plane 节点作用的节点池,且至少有两个节点的数量。
- 一个具有工人节点角色的节点池,且至少有两个节点的数量。
节点池污点
从 Rancher v2.3.0 开始可用
如果您尚未在节点模板上定义污点,则可以为每个节点池添加污点。相比在节点模板上添加污点,在节点池上添加污点的好处在于,您可以替换节点模板,而不必担心污点是否在节点模板中。
对于每个污点,它们将自动添加到节点池中创建的节点。因此,如果您在已有节点的节点池中添加污点,这些污点将不适用于该节点池中的已有的节点,但是该节点池中的任何新节点都将获得该污点。
当节点模板和节点池中同时添加了污点时,如果添加了相同键的污点的效果没有冲突,则所有污点都将被添加到节点。如果存在具有相同键但不同效果的污点,则节点池中的污点将覆盖节点模板中的污点。
关于节点自动替换
从 Rancher v2.3.0 开始可用
如果节点在节点池中,Rancher 能够自动替换不可用的节点。如果节点在指定的时间中处于非活动状态,Rancher 将使用该节点池的节点模板来重新创建节点。
重要: 自我修复节点池旨在帮助您为无状态应用程序替换工作节点。不建议在主节点或具有持久卷连接的节点的节点池上启用节点自动替换。当节点池中的节点失去与集群的连接时,其持久卷将被破坏,从而导致有状态应用程序丢失数据。
节点自动替换是如何工作的?
节点自动替换在 Kubernetes 节点控制器之上工作。节点控制器会定期检查所有节点的状态(可通过kube-controller
的--node-monitor-period
参数进行配置)。当节点不可访问时,节点控制器将为该节点添加污点。发生这种情况时,Rancher 将开始其删除倒计时。您可以配置 Rancher 等待删除节点的时间。如果在删除倒计时结束之前污点没有被移除,Rancher 将删除该节点。然后 Rancher 将根据节点池的设置节点数量来创建新的节点。
开启节点自动替换
创建节点池时,您可以指定 Rancher 替换无响应节点的等待时间(以分钟为单位)。
- 在创建集群表单中, 选择节点池选项卡。
- 选择要开启节点自动替换功能的节点池,在自动替换列中输入 Rancher 自动替换节点需要的等待时间。
- 填写表单中的其他信息并创建集群。
结果: 节点池开启了节点自动替换功能。
您还可以通过以下步骤在创建集群后启用节点自动替换功能:
- 在全局页面中,选择集群列表页。
- 选择您要开启节点自动替换功能的集群, 单击右侧菜单选项,并单击编辑按钮。
- 在节点池选项卡中,选择要开启节点自动替换功能的节点池,在自动替换列中输入 Rancher 自动替换节点需要的等待时间。
- 单击保存。
结果: 节点池开启了节点自动替换功能。
关闭节点自动替换功能
您可以通过以下步骤在 Rancher UI 中禁用节点自动替换功能:
- 在全局页面中,选择集群列表页。
- 选择您要关闭节点自动替换功能的集群, 单击右侧菜单选项,并单击编辑按钮。
- 在节点池选项卡中,选择要关闭节点自动替换功能的节点池,在自动替换列中输入 0。
- 单击保存。
结果: 节点池关闭了节点自动替换功能。
云凭证
从 Rancher v2.2.0 开始可用
节点模板可以使用云凭证来存储用于在云提供商中启动节点的凭证,这有做有如下好处:
凭证会在 Kubernetes 中保存为密文,这不仅更安全,而且还允许您编辑节点模板,而不必每次都输入凭证。
云凭证创建后,您可以在创建其他节点模板时重复使用该凭证。
多个节点模板可以共享相同的云凭据来创建节点池。如果您的密钥已被盗用或过期,您可以在一个位置更新云凭证,从而可以立即更新所有使用它的节点模板。
注意: 从 v2.2.0 开始,默认的
活动
的节点驱动和其他节点驱动中,标记为密码
的字段都要求使用云凭证。如果您是升级到 v2.2.0 版本,已有的节点模板将继续使用以前的帐户访问信息,但是在编辑该节点模板时,您需要创建云凭证并且该节点模板将开始使用它。
创建云凭证后,用户可以开始管理他们创建的云凭证。
节点驱动
如果您找不到想要使用的节点驱动,您可以在 Rancher 的内置节点驱动中查看它是否可用并激活它,或者您可以添加自定义节点驱动。