VHM 和 SUSE CaaS Platform

您可以使用虚拟主机管理器 (VHM) 管理 SUSE CaaS Platform 群集。VHM 允许 SUSE Manager 获取并报告有关您的群集的信息。有关 VHM 的详细信息,请参见 虚拟主机管理器

您也可以不使用 VHM,而是直接使用 SUSE Manager 来管理 SUSE CaaS Platform 群集。有关详细信息,请参见 群集

1. 初始配置 CaaSP 节点

您可以使用注册 Salt 客户端的相同方法将每个 SUSE CaaS Platform 节点注册到 SUSE Manager 中。有关详细信息,请参见 客户端注册概述

我们建议您创建一个激活密钥来关联 SUSE CaaS Platform 通道并初始配置关联的节点。有关激活密钥的详细信息,请参见 激活密钥

如果您在使用 cloud-init,我们建议您在 cloud-init 配置中使用引导脚本。有关引导的详细信息,请参见 使用引导脚本注册客户端

将 SUSE CaaS Platform 节点添加到 SUSE Manager 后,注册的系统会自动应用系统锁 Salt 公式以防止对客户端执行意外操作。当系统被锁定后,Web UI 会显示一条警告,您可以使用 Web UI 或 API 安排操作,不过操作会失败。关于系统锁的详细信息,请参见 系统锁定

您可以编辑配置文件来禁止自动应用系统锁公式。打开 /etc/rhn/rhn.conf 并在文件末尾添加下面一行:

/etc/rhn/rhn.conf 文件末尾添加下面一行:

java.automatic_system_lock_cluster_nodes = false

重启动 spacewalk 服务以应用更改:

spacewalk-service restart

与 Kubernetes 有关的更新通过 skuba-update 工具来管理。有关详细信息,请参见 https://documentation.suse.com/suse-caasp/4/html/caasp-admin

在任何 SUSE CaaS Platform 节点上使用 Salt 或 SUSE Manager(通过 UI 或 API)时,请谨记:

  • 不要应用补丁(如果补丁标记为交互式)

  • 不要将系统标记为自动安装补丁

  • 不要执行产品迁移

  • 不要重引导节点

  • 不要通过 Cobbler 执行任何电源管理操作

  • 不要安装会损坏 patterns-caasp-Node- x.y 或与其冲突的软件包

  • 不要去除会损坏 patterns-caasp-Node-x.y 或者与其冲突或有关的软件包

  • 不要升级会损坏 patterns-caasp-Node-x.y 或者与其冲突或有关的软件包

执行这些操作可能会使 SUSE CaaS Platform 群集变得无法使用。如果系统未锁定,SUSE Manager 不会禁止您执行这些操作。

2. SUSE CaaS Platform 4 节点的自动安装配置文件

SUSE CaaS Platform 4 提供了一个 AutoYaST 配置文件,您可用来自动安装节点。该配置文件包含在 patterns-caasp-Management 软件包中。有关该配置文件的详细信息,请参见 https://documentation.suse.com/suse-caasp/4.2/single-html/caasp-deployment/#_autoyast_preparation

有关基于 SUSE CaaS Platform 4 模板且为使用 SUSE Manager 而定制的示例脚本,请参见 https://github.com/SUSE/manager-build-profiles/tree/master/AutoYaST/CaaSP-autoinstall

3. 使用 SUSE Manager 管理 SUSE CaaS Platform 群集

您可以使用 SUSE Manager 管理一个或多个现有 SUSE CaaS Platform 群集。

目前仅支持 SUSE CaaS Platform 4。

开始前,请确保您已安装 SUSE CaaS Platform 群集。

3.1. 选择管理节点

要管理 SUSE CaaS Platform 群集,您需要选择一个客户端作为群集的管理节点。管理节点不能是群集的一部分,并且在您开始使用前必须已与 SUSE CaaS Platform 通道关联。您可以使用单个管理节点来管理多个群集,前提是这些群集均为同一类型。

过程:选择管理节点
  1. 在 SUSE Manager Web UI 中,导航到系统  系统列表,然后单击要选择作为管理节点的客户端的名称。

  2. 导航到公式  配置选项卡,选中 CaaSP 管理节点公式。

  3. 单击 保存 并应用 highstate。

完成 highstate 前,您不能使用管理节点。

导航到群集  概览以列出所有已知的群集。此列表会显示所有现有群集,以及群集类型和与其关联的管理节点, 此外还会显示群集中的节点(如果节点已注册到 SUSE Manager 中)。对于群集中的节点,则会显示来自 skuba 和 Kubernetes API 的其他信息,包括角色、状态以及是否有任何可用更新。

有关节点可用数据的详细信息,请参见 https://documentation.suse.com/suse-caasp/4/html/caasp-admin/_cluster_updates.html

您需要基于您的群集准备管理节点的配置:

  1. skuba 配置目录从您的群集复制到管理节点。 这是 skuba 服务在群集引导后创建的目录。请记下该新文件位置,以便在 SUSE Manager Web UI 中添加该群集。

  2. 提供进行身份验证的方式。您可以使用两种方式来进行身份验证,请选择最适合您的环境的方式: 将用于访问群集节点的无口令私用 SSH 密钥复制到 SUSE Manager 服务器上,并记下文件位置。您需要有当前密钥和将来要使用的任何客户端的密钥。

    • 您可以使用 ssh-agent 套接字,并在设置群集时提供该套接字的路径。可以采用两种方式来搭配使用 ssh-agent 和 SUSE CaaS Platform:

      • 在本地使用 ssh-agent

        • 在本地启动 ssh-agent:eval $(ssh-agent)

        • 添加 SSH 密钥:ssh-add <key>

        • 用于访问该代理的套接字在 $SSH_AGENT 环境变量中提供。

      • 从另一个计算机将 ssh-agent 转发到管理节点:

        • 从源计算机转发:ssh -A <management node>$SSH_AGENT 环境变量中也可提供套接字路径。

如果您使用的是 ssh-agent 方式,每次有新 ssh-agent 启动或新 ssh -A 连接启动时,套接字路径都会改变。您可以随时在 SUSE Manager Web UI 中更新 ssh-agent 套接字路径。启动任何需要进行 SSH 访问的群集操作时,也会覆盖套接字路径。

3.2. 管理群集

要在 SUSE Manager 中管理群集,请在 Web UI 中添加群集。

过程:添加现有群集
  1. 在 SUSE Manager Web UI 中,导航到群集  概览,然后单击 修复

  2. 按照提示提供群集的相关信息(包括群集类型),然后选择要关联的管理节点。

  3. 键入群集的 skuba 配置文件路径。

  4. 键入要使用的无口令 SSH 密钥,或提供 ssh-agent 套接字的路径。

  5. 键入群集的名称、标签和说明。

  6. 单击 修复

系统会为您使用 SUSE Manager 管理的每个群集创建一个对应的系统组。系统组默认命名为 Cluster <cluster_name>。刷新系统组可更新节点列表。只有 SUSE Manager 已知的节点会显示。

您可以通过导航到群集  概览,取消选中要删除的群集,然后单击 删除群集 从 SUSE Manager 中去除群集。

删除群集操作会从 SUSE Manager 中去除群集,但不会删除群集节点。在该群集上运行的工作负载会继续不间断运行。

3.3. 管理节点

在 SUSE Manager 中创建群集后,便可管理群集中的节点。

在向群集添加新节点前,请检查管理节点能否访问您要使用无口令 SSH 添加的节点或您转发的 ssh-agent 套接字。

您需要确保要添加的节点已注册到 SUSE Manager 中且已为其指派 SUSE CaaS Platform 通道。

过程:向群集添加节点
  1. 在 SUSE Manager Web UI 中,导航到群集  概览,然后单击 加入节点

  2. 从可用节点列表中选择要添加的节点。 可用节点的列表中仅包含已注册到 SUSE Manager 中,不是管理节点且当前不属于任何群集的节点。

  3. 按照提示为要添加的节点输入 SUSE CaaS Platform 参数。

  4. 可选:指定仅对要添加的节点有效的自定义 ssh-agent 套接字。

  5. 单击 保存 以安排一项操作来添加节点。 在此操作执行期间,SUSE Manager 会禁用交换功能来准备要加入群集的节点,然后会将节点加入群集。

过程:从群集中去除节点
  1. 在 SUSE Manager Web UI 中,导航到群集  概览,取消选中要去除的节点,然后单击 去除节点

  2. 按照提示定义要去除的节点的参数。

  3. 可选:指定仅对要去除的节点有效的自定义 ssh-agent 套接字。

  4. 单击 保存 以安排一项操作来去除节点。

3.3.1. 升级群集

如果群集有可用更新,您可以使用 SUSE Manager 安排和管理升级。

SUSE Manager 会先升级所有控制平面,然后再升级工作器。有关详细信息,请参见 https://documentation.suse.com/suse-caasp/4.2/single-html/caasp-admin/#_cluster_updates

过程:升级群集
  1. 在 SUSE Manager Web UI 中,导航到群集  概览,然后单击要升级的群集。

  2. 可选:没有可用于自定义升级过程的 SUSE CaaS Platform 参数。 不过,您可以指定仅对要升级的节点有效的自定义 ssh-agent 套接字。

  3. 单击 保存 以安排一项操作来升级群集。

SUSE Manager 仅会与 skuba 交互来升级群集。任何其他必需的操作(例如配置更改)都不是由 SUSE Manager 执行。

有关升级的详细信息,请参见 https://www.suse.com/releasenotes/x86_64/SUSE-CAASP/4