红帽 OpenShift 虚拟化环境

Citrix® 通过 Citrix 管理的 OpenShift 插件管理您的红帽 OpenShift 工作负载。借助此插件,您可以创建到 OpenShift 群集的托管连接和托管单元,创建目录,以及对目录中的计算机进行电源管理。

以下配置均在支持之列:

  • 网络选项:
    • Linux Bridge:目前可用于群集网络。
    • OVS Bridge:计划在即将发布的版本中提供。
  • 存储选项:
    • 本地存储:支持节点上的持久存储。
    • NetApp 存储:支持企业级外部存储集成。

关键步骤

  • 设置您的红帽 OpenShift 环境。
  • 创建到 OpenShift 群集的连接和资源。
  • 创建计算机目录。
  • 创建交付组。

设置您的红帽 OpenShift 环境

  1. 创建 OpenShift 集群并获取集群 API 地址:在 OpenShift 控制台中,设置集群后,导航到主页 > 概览 > 详细信息,然后获取集群 API 地址。
  2. 使用 OpenShift 命令行界面 (CLI) (oc 命令) 创建服务帐户并获取服务帐户令牌:服务帐户令牌是与服务帐户关联的身份验证凭据。服务帐户用于通过 OpenShift 对 OpenShift 插件进行身份验证。每个服务帐户都与一个 命名空间 关联。
  3. 配置服务帐户的权限:服务帐户可以具有多个角色,每个角色都包含定义 OpenShift 插件可以在哪些资源上执行哪些操作的权限。这些角色通过角色绑定进行绑定,角色绑定有两种类型:

    1. 集群范围角色绑定:用于从 OpenShift 接收事件。 命名空间绑定角色绑定:用于管理特定命名空间中的虚拟机。
    2. 命名空间绑定角色绑定:用于管理特定命名空间中的虚拟机。
  4. 创建命名空间(项目):OpenShift 中的命名空间是一个隔离环境,它将虚拟机或网络等资源分组,从而实现更好的组织和访问控制。命名空间是 Kubernetes 术语,而项目是 OpenShift 术语。从 OpenShift 插件的角度来看,它们是相同的。部署虚拟机需要命名空间。使用 OpenShift 控制台或 OpenShift 容器平台 CLI 创建命名空间。
  5. 在目标命名空间下创建一个网络附加定义:网络附加定义指定了在 OpenShift 中运行的虚拟机的网络配置。在网络 > NetworkAttachmentDefinitions 下,您可以查看每个命名空间的网络附加定义。
  6. 配置存储类:存储类定义了虚拟机存储的分配方式。在存储 > StorageClass 下,您可以配置并查看存储提供程序列表。

创建服务帐户

  1. 下载并解压缩 oc 命令行工具。
  2. 使用您的登录 ID 访问 OpenShift 控制台。
  3. 单击您的用户配置文件,然后单击复制登录命令
  4. 单击显示令牌并复制令牌。
  5. 使用 oc 命令行运行登录命令。示例:

    .\oc.exe login --token=<token> --server=<server address>
    <!--NeedCopy-->
    
  6. 创建服务帐户。

    • 如果您想在默认命名空间下创建服务帐户,请运行:

       .\oc.exe create sa <service account name>
       <!--NeedCopy-->
      
    • 如果您想在自己的命名空间下创建服务帐户,请运行:

       .\oc.exe create sa <service account name> -n mynamespace
       <!--NeedCopy-->
      
  7. 为密钥创建 YAML 文件。示例:

    • 如果您在默认命名空间下创建服务帐户:

       apiVersion: v1
       kind: Secret
       metadata:
       name: service account name
       annotations:
       kubernetes.io/service-account.name: service account name
       type: kubernetes.io/service-account-token
       <!--NeedCopy-->
      
    • 如果您在自己的命名空间下创建服务帐户:

      apiVersion: v1
      kind: Secret
      metadata:
      name: service account name
      namespace: mynamespace
      annotations:
      kubernetes.io/service-account.name: service account name
       type: kubernetes.io/service-account-token
       <!--NeedCopy-->
      
  8. 应用 YAML 文件。

    .\oc.exe apply -f <yamlFile.yaml>
    <!--NeedCopy-->
    

    注意:

    oc 描述了获取令牌的密钥。该令牌用作密码。

为服务帐户创建角色和角色绑定

通过集群范围的角色绑定,服务帐户拥有读取整个集群中所有 VM 事件的权限,从而允许 OpenShift 插件为所有与 VM 相关的事件维护一个事件观察器。 通过命名空间角色绑定,服务帐户拥有在目标命名空间中管理 VM 的权限。 您可以使用脚本创建角色并将其绑定到服务帐户。请参阅 https://github.com/citrix/citrix-mcs-sdk-samples/tree/main/OpenShift/Hosting%20Connection/Role/

下一步去哪里

更多信息

  • 创建和管理连接与资源(/zh-cn/citrix-virtual-apps-desktops/2507-ltsr/install-configure/connections.html)
  • 创建计算机目录(/zh-cn/citrix-virtual-apps-desktops/2507-ltsr/install-configure/machine-catalogs-create.html)
红帽 OpenShift 虚拟化环境