×

自带主机 (BYOH) 允许用户重新利用 Windows Server 虚拟机并将其引入 OpenShift Container Platform。BYOH Windows 实例使希望在 Windows 服务器离线时减轻重大中断的用户受益。

配置 BYOH Windows 实例

创建 BYOH Windows 实例需要在 Windows 机器配置操作符 (WMCO) 命名空间中创建一个 ConfigMap。

先决条件

任何要作为节点附加到集群的 Windows 实例都必须满足以下要求

  • 该实例必须与集群中的 Linux 工作节点位于同一网络中。

  • 端口 22 必须打开并运行 SSH 服务器。

  • SSH 服务器的默认 shell 必须是Windows 命令 shell,或 cmd.exe

  • 端口 10250 必须打开以进行日志收集。

  • 存在一个管理员用户,其私钥在作为授权 SSH 密钥的密钥中设置。

  • 如果您要为安装程序配置的基础架构 (IPI) AWS 集群创建 BYOH Windows 实例,则必须向与工作节点的计算机集中spec.template.spec.value.tag值匹配的 AWS 实例添加标签。例如,kubernetes.io/cluster/: ownedkubernetes.io/cluster/: shared

  • 如果您在 vSphere 上创建 BYOH Windows 实例,则必须启用与内部 API 服务器的通信。

  • 实例的主机名必须遵循RFC 1123 DNS 标签要求,其中包括以下标准

    • 仅包含小写字母数字字符或“-”。

    • 以字母数字字符开头。

    • 以字母数字字符结尾。

由 WMCO 部署的 Windows 实例配置了 containerd 容器运行时。由于 WMCO 安装和管理运行时,因此建议您不要在节点上手动安装 containerd。

步骤
  1. 在 WMCO 命名空间中创建一个名为windows-instances的 ConfigMap,以描述要添加的 Windows 实例。

    使用地址作为密钥,将值格式化为username=,从而格式化 ConfigMap 数据部分中的每个条目。

    示例 ConfigMap
    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: windows-instances
      namespace: openshift-windows-machine-config-operator
    data:
      10.1.42.1: |- (1)
        username=Administrator (2)
      instance.example.com: |-
        username=core
    1 WMCO 用于通过 SSH 访问实例的地址,可以是 DNS 名称或 IPv4 地址。此地址必须存在 DNS PTR 记录。如果您的组织使用 DHCP 分配 IP 地址,建议您在使用自带 BYOH 实例时使用 DNS 名称。否则,每当实例分配新的 IP 地址时,都需要更新windows-instances ConfigMap。
    2 在先决条件中创建的管理员用户名。

删除 BYOH Windows 实例

您可以通过删除 ConfigMap 中实例的条目来删除附加到集群的 BYOH 实例。删除实例会将该实例恢复到添加到集群之前的状态。这些实例不会添加任何日志和容器运行时工件。

要干净地删除实例,必须使用当前提供给 WMCO 的私钥访问该实例。例如,要删除前面示例中的10.1.42.1 实例,ConfigMap 将更改为以下内容(此处应补充示例ConfigMap内容)

kind: ConfigMap
apiVersion: v1
metadata:
  name: windows-instances
  namespace: openshift-windows-machine-config-operator
data:
  instance.example.com: |-
    username=core

删除windows-instances被视为请求解构所有添加为节点的 Windows 实例。