管理集群

Red Hat Advanced Cluster Management for Kubernetes 2.0

管理集群

Red Hat Red Hat Advanced Cluster Management for Kubernetes Team

摘要

管理 Red Hat Advanced Cluster Management for Kubernetes 中的集群

第 1 章 使用 Red Hat Advanced Cluster Management for Kubernetes 管理集群

了解如何通过使用 Red Hat Advanced Cluster Management for Kubernetes 控制台来跨云供应商环境中创建、导入和管理集群。

通过以下主题了解如何在跨云供应商环境中管理集群:

第 2 章 支持的云

了解 Red Hat Advanced Cluster Management for Kubernetes 支持的云供应商。此外,查找记录在案的可用受管供应商。

最佳实践:对于受管集群供应商,请使用 Kubernetes 的最新版本。

2.1. 支持的 hub 集群供应商

Red Hat OpenShift Container Platform 4.3.18 或更高版本、4.4.4 或更高版本、4.5.2 或更高版本都支持 hub 集群。

2.2. 支持的受管集群供应商

Red Hat OpenShift Container Platform 3.11.200 或更高版本、4.3.18 或更高版本、4.4.4 或更高版本、4.5.2 或更高版本支持受管集群。

请参阅可用的受管集群选项和文档:

2.3. 配置 kubectl

对于以上列出的厂商文档,您可能需要了解如何配置 kubectl。当将受管集群导入到 hub 集群时,您必须已安装 kubectl。详情请参阅把目标受管集群导入到 hub 集群

第 3 章 调整集群大小

您可以自定义受管集群规格,如虚拟机大小和节点数量。请参阅以下列表中列出的每个可用供应商的推荐设置,但也请参阅文档的相关内容以了解更具体的信息:

3.1. Amazon Web Services

您可以通过修改当前集群上的 MachineSet 参数来更改在 Amazon Web Services 环境中创建的 Red Hat OpenShift Container Platform 集群的节点数量。

请记住: 因为 Red Hat Advanced Cluster Mangement for Kubernetes 使用 Hive for OpenShift 来决定集群中的节点数量,所以您必须更改 MachineSet 参数来更改节点数量。如果在不更改 MachineSet 参数的情况下删除或添加节点,则会添加或删除节点以匹配该参数的当前值。

请参阅适用于您的版本的 OpenShift Container Platform 文档中的推荐的集群扩展实践手动扩展 MachineSet

提示:如果使用 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群,则它是一个 OpenShift Container Platform 集群。

如果要更改您导入的 Amazon EKS 集群的节点数量,请参阅集群自动扩展以了解有关扩展集群的信息。

3.2. Google Cloud Platform

您可以通过修改当前集群上的 MachineSet 参数来更改在 Google Cloud Platform 环境中创建的 Red Hat OpenShift Container Platform 集群的节点数量。

请记住: 因为 Red Hat Advanced Cluster Mangement for Kubernetes 使用 Hive for OpenShift 来决定集群中的节点数量,所以您必须更改 MachineSet 参数来更改节点数量。如果在不更改 MachineSet 参数的情况下删除或添加节点,则会添加或删除节点以匹配该参数的当前值。

如需更多与扩展集群相关的信息,请参阅适用于您的版本的 OpenShift Container Platform 文档中的推荐的集群扩展实践手动扩展 MachineSet。提示:如果使用 Red Hat Advanced Cluster Management 创建集群,则它是一个 OpenShift Container Platform 集群。

如果要更改您导入的 Google Kubernetes Engine 集群的节点数量,请参阅调整集群大小以了解有关扩展集群的信息。

3.3. Microsoft Azure

您可以通过修改当前集群上的 MachineSet 参数来更改在 Microsoft Azure 环境中创建的 Red Hat OpenShift Container Platform 集群的节点数量。

请记住: 因为 Red Hat Advanced Cluster Mangement for Kubernetes 使用 Hive for OpenShift 来决定集群中的节点数量,所以您必须更改 MachineSet 参数来更改节点数量。如果在不更改 MachineSet 参数的情况下删除或添加节点,则会添加或删除节点以匹配该参数的当前值。

请参阅适用于您的版本的 OpenShift Container Platform 文档中的推荐的集群扩展实践手动扩展 MachineSet提示:如果使用 Red Hat Advanced Cluster Management for Kubernetes 创建集群,则它是一个 OpenShift Container Platform 集群。

如果要更改您导入的 Azure Kubernetes Services 集群的节点数量,请参阅扩展集群以了解有关扩展集群的信息。

3.4. 裸机集群

您可以通过修改当前集群上的 MachineSet 参数来更改在裸机环境中创建的 Red Hat OpenShift Container Platform 集群的节点数量。

请记住: 因为 Red Hat Advanced Cluster Mangement for Kubernetes 使用 Hive for OpenShift 来决定集群中的节点数量,所以您必须更改 MachineSet 参数来更改节点数量。如果在不更改 MachineSet 参数的情况下删除或添加节点,则会添加或删除节点以匹配该参数的当前值。

请参阅适用于您的版本的 OpenShift Container Platform 文档中的推荐的集群扩展实践手动扩展 MachineSet提示:如果使用 Red Hat Advanced Cluster Management for Kubernetes 创建集群,则它是一个 OpenShift Container Platform 集群。

如果要更改您导入的裸机集群的节点数量,请参阅使用网络自定义在裸机上安装集群以了解有关扩展集群的信息。

注:只有 hub 集群是 OpenShift Container Platform 版本 4.5 或更高版本时才支持裸机集群。

3.5. IBM Kubernetes Service

如果要更改您导入的 IBM Kubernetes Service 集群的节点数量,请参阅在集群中添加 worker 节点和区以了解有关扩展集群的信息。

请记住: 因为 Red Hat Advanced Cluster Mangement for Kubernetes 使用 Hive for OpenShift 来决定集群中的节点数量,所以您必须更改 MachineSet 参数来更改节点数量。如果在不更改 MachineSet 参数的情况下删除或添加节点,则会添加或删除节点以匹配该参数的当前值。

第 4 章 发行镜像

当使用 Red Hat Advanced Cluster Management for Kubernetes 在供应商处创建集群时,您必须指定用于新集群的发行镜像。发行镜像指定使用哪个版本的 Red Hat OpenShift Container Platform 来构建集群。

引用发行镜像的文件是在 acm-hive-openshift-releases GitHub 仓库中维护的 yaml 文件。Red Hat Advanced Cluster Management for Kubernetes 使用这些文件在控制台中创建可用发行镜像的列表。仓库中包含 clusterImageSets 目录和 subscription 目录,它们是您使用发行镜像时使用的目录。

clusterImageSets 目录包含以下目录:

  • Fast - 包含引用每个受支持 OpenShift Container Platform 版本的最新两个发行镜像版本的文件
  • Releases - 包含引用每个受支持 OpenShift Container Platform 版本的所有发行镜像的文件。注意:这些发行版本尚未全部经过测试并确定是稳定的。
  • Stable - 包含引用每个受支持 OpenShift Container Platform 版本的最新两个稳定发行镜像版本的文件此目录中的发行镜像经过测试和验证。

subscription 目录包含指定从哪里拉取发行镜像列表的文件。Red Hat Advanced Cluster Management 的默认发行镜像位于 Quay.io 目录中。它们被 acm-hive-openshift-releases GitHub 仓库中的文件引用。

4.1. 同步可用发行镜像

版本镜像会频繁更新,因此可能需要同步发行镜像列表,以确保可以选择最新的可用版本。发行镜像可在 acm-hive-openshift-releases GitHub 仓库中找到。

发行镜像有三个级别的稳定性:

表 4.1. 发行镜像的稳定性级别

类别

描述

stable

已确认用于正确安装和构建集群的完整测试镜像。

fast

部分进行了测试,但稳定性可能低于稳定版本。

candidate

最新镜像,但未经测试。可能会有一些程序错误。

完成以下步骤以刷新列表:

  1. 克隆 acm-hive-openshift-releases GitHub 仓库。
  2. 输入以下命令连接到您的 Red Hat Advanced Cluster Management for Kubernetes hub 集群:

    oc apply -k subscription/

    大约一分钟后,最新的两个 fast 条目将可用。

  3. 在克隆了 acm-hive-openshift-releases 仓库后,使用以下命令来更新 stable 镜像以同步 stable 发行镜像列表:

    make subscribe-stable

    注意:您只能在使用 Linux 或者 MacOS 操作系统时运行这个 make 命令。如果使用 Windows 操作系统,输入以下命令来更新 stable 镜像:

    oc apply -f subscription-stable

    运行此命令后,可用 stable 镜像列表会在约一分钟内更新为当前可用镜像。

    • 要同步并显示快速发行镜像,请输入以下命令:

      make subscribe-fast

      注意:您只能在使用 Linux 或者 MacOS 操作系统时运行这个 make 命令。如果使用 Windows 操作系统,输入以下命令来更新 fast 镜像:

      oc apply -f subscription/subscription-fast.yaml

      运行此命令后,当前可用的镜像会在约一分钟内在可用的 stablefast 发行镜像列表中出现。

    • 要同步并显示 candidate 发行镜像,请输入以下命令:

      make subscribe-candidate

      注意:您只能在使用 Linux 或者 MacOS 操作系统时运行这个 make 命令。如果使用 Windows 操作系统,输入以下命令来更新 candidate 镜像:

      oc apply -f subscription/subscription-candidate.yaml

      运行此命令后,当前可用的镜像会在约一分钟内在可用的 stablefastcandidate 发行镜像列表中出现。

  4. 在创建集群时,查看 Red Hat Advanced Cluster Management 控制台中当前可用发行镜像的列表。
  5. 使用以下格式输入命令来从这些频道中取消订阅以停止查看更新:

    oc delete -f subscription/subscription-stable

4.1.1. 连接时维护自定义的发行镜像列表

您可能希望确保所有集群都使用同一发行镜像。为简化操作,您可以创建自己的自定义列表,在其中包含创建集群时可用的发行镜像。完成以下步骤以管理可用发行镜像:

  1. acm-hive-openshift-releases GitHub 仓库进行分叉。
  2. spec: pathname 更改为访问已分叉的仓库的 GitHub 名称,而不是 open-cluster-management,由此来更新 ./subscription/channel.yaml 文件。此步骤指定 hub 集群在哪里检索发行镜像。您更新的内容应类似以下示例:

    spec:
      type: GitHub
      pathname: https://github.com/<forked_content>/acm-hive-openshift-releases.git

    forked_content 替换为已分叉仓库的路径。

  3. 使用 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群时,可以把镜像的 yaml 文件加入到 ./clusterImageSets/stable/ ./clusterImageSets/fast/ 目录。提示: 您可以通过将更改合并到已分叉的存储库,从主存储库检索可用的 yaml 文件。
  4. 将更改提交并合并到您的已分叉仓库。
  5. 在克隆了 acm-hive-openshift-releases 仓库后,使用以下命令来更新 stable 镜像以同步 stable 发行镜像列表:

    make subscribe-stable

    注意:您只能在使用 Linux 或者 MacOS 操作系统时运行这个 make 命令。如果使用 Windows 操作系统,输入以下命令:

    oc apply -k subscription/
    oc delete -f subscription/subscription-fast.yaml
    oc apply -f subscription/subscription-stable.yaml

    运行此命令后,可用稳定镜像列表会在约一分钟内更新为当前可用镜像。

  6. 默认情况下,仅会列出稳定镜像。要同步并显示快速发行镜像,请输入以下命令:

    make subscribe-fast

    注意:您只能在使用 Linux 或者 MacOS 操作系统时运行这个 make 命令。如果使用 Windows 操作系统,输入以下命令:

    oc apply -k subscription/
    oc apply -f subscription/subscription-fast.yaml

    运行此命令后,可用快速镜像列表会在约 1 分钟内更新为当前可用镜像。

  7. 默认情况下,Red Hat Advanced Cluster Management 会预加载几个 ClusterImageSets。使用以下命令列出可用内容并删除默认值(如果需要)。

    oc get clusterImageSets
    oc delete clusterImageSet <clusterImageSet_NAME>
  8. 在创建集群时,查看 Red Hat Advanced Cluster Management 控制台中当前可用发行镜像的列表。

4.1.2. 断开连接时维护自定义的发行镜像列表

在某些情况下,当节点集群没有互联网连接时,您需要维护一个自定义的发行镜像列表。您可以创建自己的自定义列表,在其中包含创建集群时可用的发行镜像。完成以下步骤以在断开连接的情况下管理可用发行镜像:

  1. 在连接的系统上,导航到 acm-hive-openshift-releases GitHub 仓库
  2. clusterImageSets 目录复制到可以访问断开连接的 Red Hat Advanced Cluster Management for Kubernetes hub 集群的系统中。
  3. 对于您希望在使用 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群时可用的镜像,通过手动添加 clusterImageSet yaml 内容来添加其 yaml 文件。
  4. 创建 clusterImageSets 命令:

    oc create -f <clusterImageSet_FILE>

    在为您要添加的每个资源运行此命令后,可用发行镜像列表将变为可用。

  5. 另外,您还可以将镜像 url 直接粘贴到 Red Hat Advanced Cluster Management 的创建集群控制台中。这将创建新的 clusterImageSets(如果此前不存在)。
  6. 在创建集群时,查看 Red Hat Advanced Cluster Management 控制台中当前可用发行镜像的列表。

第 5 章 创建和修改裸机资产

重要: 裸机集群功能是一个技术预览,不应在生产环境中使用。

裸机资产是指被配置为运行您的云操作的虚拟服务器或物理服务器。Red Hat Advanced Cluster Management for Kubernetes 将连接到您的管理员创建的裸机资产,并可在其上创建集群。

您必须在 Red Hat Advanced Cluster Management for Kubernetes 中创建裸机资产,以便在其上创建集群。使用以下步骤创建运行由 Red Hat Advanced Cluster Management for Kubernetes 管理的集群的裸机资产。

注意

裸机功能仅作为技术预览提供。默认情况下,裸机选项会由功能标记隐藏。要查看裸机选项,您必须通过完成先决条件部分中的说明来启用功能标记。

5.1. 先决条件

创建裸机资产前需要满足以下先决条件:

  • 在 OpenShift Container Platform 版本 4.5 或更高版本上部署了 Red Hat Advanced Cluster Management for Kubernetes hub 集群。
  • 可访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群以连接到裸机资产。
  • 配置了裸机资产,以及登录凭证(包含登录和管理该资产所需的权限)。注意:您的裸机资产登录凭证包括您的管理员为资产提供的以下项:

    • 用户名
    • 密码
    • 基板管理控制器地址
    • 引导 NIC MAC 地址
  • 已启用裸机功能标记来查看裸机选项。默认情况下,裸机选项会由功能标记隐藏。完成以下步骤以启用功能标记:

    1. 启动 Red Hat OpenShift Container Platform 命令行界面。
    2. 输入以下命令将 console-header 容器的 featureFlags_baremetal 设置为 true:

      oc patch deploy console-header -n <namespace> -p '{"spec":{"template":{"spec":{"containers":[{"name":"console-header","env": [{"name": "featureFlags_baremetal","value":"true"}]}]}}}}'

      将 <namespace> 替换为您的 Red Hat Advanced Cluster Management 项目的命名空间。

      更新后,consoleui CRD 应该类似以下示例:

      spec:
        ...
        template:
          ...
          spec:
            ...
            containers:
            - env:                              # Search for env:
              - name: featureFlags_baremetal
                value: "true"
              ...
    3. hmc-ui 容器的 featureFlags_baremetal 值设置为 true

      oc patch -n <namespace> $(oc get deploy -o name | grep consoleui) -p '{"spec":{"template":{"spec":{"containers":[{"name":"hcm-ui","env": [{"name": "featureFlags_baremetal","value":"true"}]}]}}}}'

      将 <namespace> 替换为您的 Red Hat Advanced Cluster Management 项目的命名空间。

      您的更新应类似以下示例:

      spec:
        ...
        template:
          ...
          spec:
            ...
            containers:
            - env:                              # Search for env:
              - name: featureFlags_baremetal
                value: "true"
              ...
    4. 确保 console-chart-...-consoleui...console-header-... pod 正在运行:

      oc -n open-cluster-management get pods
    5. 当 Pod 再次运行时,请注销 Red Hat Advanced Cluster Management for Kubernetes 控制台并重新登录。现在,控制台中包含了裸机选项。

5.2. 使用控制台创建裸机资产

要使用 Red Hat Advanced Cluster Management for Kubernetes 控制台创建裸机资产,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Bare metal assets
  2. Bare metal assets 页面上,点击 Create bare metal resources
  3. 为资产输入一个名称,用于在创建集群时标识它。

    提示

    要在您在控制台中输入信息时查看 yaml 内容更新,可将 YAML 开关设置为 ON

  4. 输入要用来创建裸机资源的命名空间。有权访问此命名空间的用户可以在创建集群时将此资产与集群相关联。
  5. 输入基板管理控制器地址。这是实现与主机通信的控制器。支持以下协议:

  6. 为裸机资产输入用户名和密码。
  7. 为裸机资产添加引导 NIC MAC 地址。这是主机的联网 NIC 的 MAC 地址,用于在裸机资产上置备主机。

您可以继续在裸机上创建集群

5.3. 修改裸机资产

如果您需要修改裸机资产的设置,请完成以下步骤:

  1. 在 Red Hat Advanced Cluster Management for Kubernetes 控制台导航中,选择:Automate infrastructure > Bare metal Asset
  2. 选择表中您要修改的资产的选项菜单。
  3. 选择 Modify

5.4. 删除裸机资产

当裸机资产不再用于任何集群时,您可以将其从可用的裸机资产列表中删除。删除未使用的资产既可以简化您的可用资产列表,又可以防止意外选择该资产。

要删除裸机资产,请完成以下步骤:

  1. 在 Red Hat Advanced Cluster Management for Kubernetes 控制台导航中,选择:Automate infrastructure > Bare metal Asset
  2. 选择表中要删除的资产的选项菜单。
  3. 选择 Delete

第 6 章 创建供应商连接

要使用 Red Hat Advanced Cluster Management for Kubernetes 在云服务供应商处创建 Red Hat OpenShift Container Platform 集群,需要具有供应商连接

供应商连接存储供应商的访问凭证和配置信息。每个供应商帐户都需要其自身的供应商连接,就像单个供应商的每个域一样。

以下文件详细介绍了为每个受支持供应商创建连接文档所需的信息:

6.1. 为 Amazon Web Services 创建供应商连接

您需要具有供应商连接才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Amazon Web Services (AWS) 上部署和管理 OpenShift 集群。

注意

这个过程必须在使用 Red Hat Advanced Cluster Management for Kubernetes 创建集群之前完成。

6.1.1. 先决条件

创建供应商连接前必须满足以下先决条件:

  • 已部署 Red Hat Advanced Cluster Management for Kubernetes hub 集群
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在 Amazon Web Services 上创建 Kubernetes 集群
  • Amazon Web Services (AWS) 登录凭证,其中包括访问密钥 ID 和 secret 访问密钥。请参阅了解和获取您的安全凭证
  • 允许在 AWS 上安装集群的帐户权限。有关如何配置的说明,请参阅配置 AWS 帐户

6.1.2. 使用控制台创建供应商连接

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建供应商连接,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. Clusters 页面上,选择 Provider connections 选项卡。

    此时会显示现有供应商连接。

  3. 选择 Add a connection
  4. 选择 Amazon Web Services 作为您的供应商。
  5. 为供应商连接添加名称。
  6. 从列表中为您的供应商连接选择一个命名空间。

    提示

    为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的供应商连接。

  7. 另外,您还可以为您的供应商连接添加基本 DNS 域。如果您将基本 DNS 域添加到供应商连接中,则当使用这个供应商连接创建集群时,会自动填充到正确的字段中。
  8. 为您的 Amazon Web Services 帐户添加 AWS 访问密钥 ID。登录 AWS 以查找此 ID。
  9. 添加 AWS Secret 访问密钥 ID
  10. 输入 Red Hat OpenShift Pull Secret。您可以从 Pull secret 下载 pull secret。
  11. 添加可让您连接到集群的 SSH 私钥SSH 公钥。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。请参阅生成 SSH 私钥并将其添加到代理中,以了解有关如何生成密钥的更多信息。
  12. 点击 Create。当您创建供应商连接时,会将其添加到供应商连接列表中。

要创建使用此供应商连接的集群,您可以完成在 Amazon Web Services 上创建集群中的步骤。

6.1.3. 删除您的供应商连接

当您不再管理使用某个供应商连接的集群时,请删除供应商连接以保护供应商连接中的信息。

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择 Provider connections
  3. 选择您要删除的供应商连接旁的选项菜单。
  4. 选择 Delete connection

6.2. 为 Microsoft Azure 创建供应商连接

您需要具有供应商连接才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Microsoft Azure 上创建和管理 Red Hat OpenShift Container Platform 集群。

注意

这个过程是使用 Red Hat Advanced Cluster Management for Kubernetes 创建集群的先决条件。

6.2.1. 先决条件

创建供应商连接前必须满足以下先决条件:

  • 已部署 Red Hat Advanced Cluster Management for Kubernetes hub 集群
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在 Azure 上创建 Kubernetes 集群
  • Azure 登录凭证,其中包括您的基域资源组和 Azure Service Principal JSON。请参阅 azure.microsoft.com
  • 允许在 Azure 上安装集群的帐户权限。如需更多信息,请参阅如何配置 Cloud Services配置 Azure 帐户

6.2.2. 使用控制台创建供应商连接

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建供应商连接,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. Clusters 页面上,选择 Provider connections 选项卡。

    此时会显示现有供应商连接。

  3. 选择 Add a connection
  4. 选择 Microsoft Azure 作为您的供应商。
  5. 为供应商连接添加名称。
  6. 从列表中为您的供应商连接选择一个命名空间。

    提示

    为方便起见,同时为了提高安全性,您可以创建一个命名空间,专门用于托管您的供应商连接。

  7. 另外,您还可以为您的供应商连接添加基本 DNS 域。如果您将基本 DNS 域添加到供应商连接中,则当使用这个供应商连接创建集群时,会自动填充到正确的字段中。
  8. 为您的 Azure 帐户添加基域资源组名称。此条目是您使用 Azure 帐户创建的资源名称。您可以在 Azure 界面中选择 Home > DNS Zones 来查找您的基域资源组名称。您的基域资源组名称位于条目的 Resource Group 列中,其中包含应用到您帐户的基本 DNS 域。
  9. 添加您的客户端 ID。当您使用以下命令创建服务主体时,这个值作为 appId 属性被生成:

    az ad sp create-for-rbac --role Contributor --name <service_principal>

    service_principal 替换为您的服务主体名。

  10. 添加您的 客户端 Secret。当您使用以下命令创建服务主体时,这个值作为 password 属性被生成:

    az ad sp create-for-rbac --role Contributor --name <service_principal>

    service_principal 替换为您的服务主体名。

  11. 添加您的 订阅 ID。这个值是以下命令输出中的 id 属性:

    az account show
  12. 添加您的租户 ID。这个值是以下命令输出中的 tenantId 属性:

    az account show
  13. 输入 Red Hat OpenShift Pull Secret。您可以从 Pull secret 下载 pull secret。
  14. 添加用于连接到集群的 SSH 私钥SSH 公钥。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。请参阅生成 SSH 私钥并将其添加到代理中,以了解有关如何生成密钥的更多信息。
  15. 点击 Create。当您创建供应商连接时,会将其添加到供应商连接列表中。

要创建使用此供应商连接的集群,您可以完成在 Microsoft Azure 上创建集群中的步骤。

6.2.3. 删除您的供应商连接

当您不再管理使用某个供应商连接的集群时,请删除供应商连接以保护供应商连接中的信息。

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择 Provider connections
  3. 选择您要删除的供应商连接的选项菜单。
  4. 选择 Delete connection

6.3. 为 Google Cloud Platform 创建供应商连接

您需要具有供应商连接才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Google Cloud Platform (GCP) 上创建和管理 Red Hat OpenShift Container Platform 集群。

注意

这个过程是使用 Red Hat Advanced Cluster Management for Kubernetes 创建集群的先决条件。

6.3.1. 先决条件

创建供应商连接前必须满足以下先决条件:

  • 已部署 Red Hat Advanced Cluster Management for Kubernetes hub 集群
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在 GCP 上创建 Kubernetes 集群
  • GCP 登录凭证,其中包括用户 Google Cloud Platform 项目 ID 和 Google Cloud Platform 服务帐户 JSON 密钥。请参阅创建和管理项目
  • 允许在 GCP 上安装集群的帐户权限。有关如何配置帐户的说明,请参阅配置 GCP 项目

6.3.2. 使用控制台创建供应商连接

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建供应商连接,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 在 Clusters 页面上,选择 Provider connections 选项卡。

    此时会显示现有供应商连接。

  3. 选择 Add a connection
  4. 选择 Google Cloud Platform 作为您的供应商。
  5. 为供应商连接添加名称。
  6. 从列表中为您的供应商连接选择一个命名空间。

    提示

    为方便和安全起见,创建一个命名空间,专门用于托管您的供应商连接。

  7. 另外,您还可以为您的供应商连接添加基本 DNS 域。如果您将基本 DNS 域添加到供应商连接中,则当使用这个供应商连接创建集群时,会自动填充到正确的字段中。
  8. 为您的 GCP 帐户添加 Google Cloud Platform 项目 ID。登录到 GCP 以检索您的设置。
  9. 添加 Google Cloud Platform 服务帐户 JSON 密钥。完成以下步骤创建带有正确权限的服务帐户:

    1. 在 GCP 主菜单中,选择 IAM & Admin 并启动 Service Accounts applet
    2. 选择 Create Service Account
    3. 提供服务帐户的 NameService account IDDescription
    4. 选择 Create 来创建服务帐户。
    5. 选择 Owner 角色,然后点 Continue
    6. Create Key
    7. 选择 JSON 并点 Create
    8. 将生成的文件保存到您的计算机中。
    9. 提供 Google Cloud Platform 服务帐户 JSON 密钥 的内容。
  10. 输入 Red Hat OpenShift Pull Secret。您可以从 Pull secret 下载 pull secret。
  11. 添加 SSH 私钥SSH 公钥以便您访问集群。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。请参阅生成 SSH 私钥并将其添加到代理中,以了解有关如何生成密钥的更多信息。
  12. 点击 Create。当您创建供应商连接时,会将其添加到供应商连接列表中。

要在创建集群时使用此连接,您可以完成在 Google Cloud Platform 上创建集群中的步骤。

6.3.3. 删除您的供应商连接

当您不再管理使用某个供应商连接的集群时,请删除供应商连接以保护供应商连接中的信息。

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择 Provider connections
  3. 选择您要删除的供应商连接旁的选项菜单。
  4. 选择 Delete connection

6.4. 为裸机创建供应商连接

重要: 裸机集群功能是一个技术预览,不应在生产环境中使用。

您需要具有供应商连接才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在裸机环境中部署和管理 Red Hat OpenShift Container Platform 集群。

注意

控制台中裸机的选项仅是技术预览,默认由特性标记隐藏。有关启用功能标记的说明,请参阅先决条件部分。

6.4.1. 先决条件

创建供应商连接前需要以下先决条件:

  • 已部署 Red Hat Advanced Cluster Management for Kubernetes hub 集群。在管理裸机集群时,必须在 Red Hat OpenShift Container Platform 版本 4.5 或更高版本上安装了 hub 集群。
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在裸机服务器上创建 Kubernetes 集群
  • 您的裸机服务器登录凭证,其中包括 libvirt URI、SSH 私钥和 SSH 已知主机列表;请参阅生成 SSH 私钥并将其添加到代理中
  • 允许在裸机基础架构上安装集群的帐户权限
  • 已启用裸机功能标记来查看裸机选项。默认情况下,裸机选项会由功能标记隐藏。完成以下步骤以启用功能标记:

    1. 启动 Red Hat OpenShift Container Platform 命令行界面。
    2. 输入以下命令将 console-header 容器的 featureFlags_baremetal 设置为 true:

      oc patch deploy console-header -n <namespace> -p '{"spec":{"template":{"spec":{"containers":[{"name":"console-header","env": [{"name": "featureFlags_baremetal","value":"true"}]}]}}}}'

      将 <namespace> 替换为您的 Red Hat Advanced Cluster Management 项目的命名空间。

      更新后,consoleui CRD 应该类似以下示例:

      spec:
        ...
        template:
          ...
          spec:
            ...
            containers:
            - env:                              # Search for env:
              - name: featureFlags_baremetal
                value: "true"
              ...
    3. hmc-ui 容器的 featureFlags_baremetal 值设置为 true

      oc patch -n <namespace> $(oc get deploy -o name | grep consoleui) -p '{"spec":{"template":{"spec":{"containers":[{"name":"hcm-ui","env": [{"name": "featureFlags_baremetal","value":"true"}]}]}}}}'

      将 <namespace> 替换为您的 Red Hat Advanced Cluster Management 项目的命名空间。

      您的更新应类似以下示例:

      spec:
        ...
        template:
          ...
          spec:
            ...
            containers:
            - env:                              # Search for env:
              - name: featureFlags_baremetal
                value: "true"
              ...
    4. 确保 console-chart-...-consoleui...console-header-... pod 正在运行:

      oc -n open-cluster-management get pods
    5. 当 Pod 再次运行时,请注销 Red Hat Advanced Cluster Management for Kubernetes 控制台并重新登录。现在,控制台中包含了裸机选项。

6.4.2. 使用控制台创建供应商连接

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建供应商连接,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. Clusters 页面上,选择 Provider connections 选项卡。

    此时会显示现有供应商连接。

  3. 选择 Add connection
  4. 选择 Bare metal 作为您的供应商。
  5. 为供应商连接添加名称。
  6. 从列表中为您的供应商连接选择一个命名空间。

    提示:为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的供应商连接。

  7. 另外,您还可以为您的供应商连接添加基本 DNS 域。如果您将基本 DNS 域添加到供应商连接中,则当使用这个供应商连接创建集群时,会自动填充到正确的字段中。
  8. 添加 libvirt URI。如需更多信息,请参阅连接 URI
  9. 输入 Red Hat OpenShift Pull Secret。您可以从 Pull secret 下载 pull secret。
  10. 添加 SSH 私钥SSH 公钥 以便您访问集群。您可以使用现有密钥,或使用密钥生成程序创建新密钥。请参阅生成 SSH 私钥并将其添加到代理中,以了解有关如何生成密钥的更多信息。
  11. 添加您的 SSH 已知主机列表。
  12. 只用于断开连接的安装: 使用所需信息完成 为断开连接的安装部分中的字段:

    • Image Registry Mirror:这个可选值包含断开连接的 registry 路径。该路径包含所有用于断开连接的安装镜像的主机名、端口和库路径。示例: repository.com:5000/openshift/ocp-release
    • Bootstrap OS Image:此值包含用于 bootstrap 机器的镜像的 URL。
    • Cluster OS Image:此值包含用于 Red Hat OpenShift Container Platform 集群机器的镜像的 URL。
    • Additional Trust Bundle:此值提供访问镜像 registry 所需的证书文件内容。
  13. 点击 Create。当您创建供应商连接时,会将其添加到供应商连接列表中。

要创建使用此供应商连接的集群,您可以完成在裸机上创建集群中的步骤。

6.4.3. 删除您的供应商连接

当您不再管理使用某个供应商连接的集群时,请删除供应商连接以保护供应商连接中的信息。

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择 Provider connections
  3. 选择您要删除的供应商连接旁的选项菜单。
  4. 选择 Delete connection

第 7 章 使用 Red Hat Advanced Cluster Management for Kubernetes 创建集群

了解如何使用 Red Hat Advanced Cluster Management for Kubernetes 跨云供应商创建 Red Hat OpenShift Container Platform 集群。

7.1. 在 Amazon Web Services 上创建集群

您可以使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Amazon Web Services (AWS) 上创建一个 Red Hat OpenShift Container Platform 集群。

7.1.1. 先决条件

在 AWS 上创建集群前必须满足以下先决条件:

  • 已部署 Red Hat Advanced Cluster Management for Kubernetes hub 集群
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在 Amazon Web Services 上创建 Kubernetes 集群
  • AWS 供应商连接。如需更多信息,请参阅为 Amazon Web Services 创建供应商连接
  • 在 AWS 中配置了域。有关如何配置域的说明,请参阅配置 AWS 帐户
  • Amazon Web Services (AWS) 登录凭证,其中包括用户名、密码、访问密钥 ID 和 secret 访问密钥。请参阅了解和获取您的安全凭证
  • Red Hat OpenShift 镜像 pull secret。请参阅使用镜像 pull secret

:如果更改了云供应商访问密钥,则必须手动更新置备的集群访问密钥。如需更多信息,请参阅已知问题, 不支持置备的集群的自动 secret 更新

7.1.2. 使用 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 在 Clusters 页面上,点击 Add Cluster
  3. 选择 Create a cluster

    注意

    此过程用于创建集群。如果您有一个要导入的现有集群,请参阅将目标受管集群导入到 hub 集群以了解这些步骤。

  4. 为集群输入一个名称。此名称用于集群的主机名。

    提示

    要在您在控制台中输入信息时查看 yaml 内容更新,可将 YAML 开关设置为 ON

  5. 为基础架构平台选择 Amazon Web Services
  6. 指定您要用于集群的发行镜像。这可标识用于创建集群的 Red Hat OpenShift Container Platform 镜像的版本。如果要使用的版本可用,您可以从镜像列表中选择镜像。如果您要使用的镜像不是标准镜像,您可以输入您要使用的镜像的 url。有关发行镜像的更多信息,请参阅发行镜像
  7. 从列表上的可用连接中选择您的供应商连接。如果您没有配置供应商连接,或想要配置一个新供应商连接,请参阅添加连接。如需了解更多与创建供应商相关的信息,请参阅为 Amazon Web Services 创建供应商连接
  8. 输入您为 AWS 帐户配置的基域信息。如果已有与所选供应商连接关联的基域,则该值会在那个字段中填充。您可以修改它的值来覆盖它。如需更多信息,请参阅配置 AWS 帐户。此名称用于集群的主机名。
  9. 添加您要与集群关联的 标签(Label)。这些标签有助于识别集群并限制搜索结果。
  10. 为集群配置节点池

    节点池定义用于集群的节点的位置和大小。

    区域指定节点所处的地理位置。距离更近的区域可能会提供更快的性能,但距离更远的区域可能更为分散。

    • Master 池:在 master 池中为您的集群创建 3 个 Master 节点。Master 节点共享集群活动的管理。您可以选择区域中的多个区以实现更为分散的 master 节点组。您可在创建实例后更改实例的类型和大小,但也可以在此部分中指定。默认值为 mx4.xlarge - 4 vCPU,16 GiB RAM - 通用目的,根存储为 500 GiB。
    • Worker 池:您可以在 worker 池中创建 一个或多个 worker 节点,以运行集群的容器工作负载。它们可以位于单个 worker 池中,也可以分布在多个 worker 池中。
  11. 可选:配置集群联网选项。
  12. 可选:为集群配置标签。
  13. 点击 Create。在创建和导入过程完成后,您可以查看您的集群详情。

    注意

    您不必运行 kubectl 命令,它为导入集群提供集群的详情。当创建集群时,它由 Red Hat Advanced Cluster Management for Kubernetes 管理自动配置。

7.1.3. 访问集群

要访问由 Red Hat Advanced Cluster Management for Kubernetes 管理的集群,请完成以下步骤:

  1. 从 Red Hat Advanced Cluster Management for Kubernetes 导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择您创建的或想要访问的集群的名称。此时会显示集群详情。
  3. 选择 Reveal credentials 来查看集群的用户名和密码。记下这些值以便在登录到集群时使用。
  4. 选择 Console URL 以链接到集群。
  5. 使用在第 3 步中找到的用户 ID 和密码登录集群。
  6. 选择您要访问的集群的 Actions 菜单。
  7. 选择 Launch to cluster

    提示

    如果已知登录凭证,可以通过选择集群的 Actions 菜单并选择 Launch to cluster 来访问集群。

7.1.4. 从管理中移除集群

当您从管理中移除通过 Red Hat Advanced Cluster Management for Kubernetes 创建的 Red Hat OpenShift Container Platform 集群时,可以将其分离销毁

分离集群会将其从管理中移除,但不会完全删除。如果决定要将其放回到管理之下,您可以再次导入它。只有集群处于 Ready 状态时方可使用这个选项。

销毁集群会将其从管理中移除,并删除集群的组件。此操作是永久性的,删除后无法将其放回到管理之下。

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择您要删除的集群旁边的选项菜单。
  3. 选择 Destroy clusterDetach cluster
提示

您可以选择要分离或销毁的集群的复选框来分离或销毁多个集群。然后选择 DetachDestroy

7.2. 在 Microsoft Azure 上创建集群

您可以使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Microsoft Azure 上部署一个 Red Hat OpenShift Container Platform 集群。

7.2.1. 先决条件

在 Azure 上创建集群前必须满足以下先决条件:

:如果更改了云供应商访问密钥,则必须手动更新置备的集群访问密钥。如需更多信息,请参阅已知问题, 不支持置备的集群的自动 secret 更新

7.2.2. 使用 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. Clusters 页面上,点击 Add Cluster
  3. 选择 Create a cluster

    注意

    此过程用于创建集群。如果您有一个要导入的现有集群,请参阅将目标受管集群导入到 hub 集群以了解这些步骤。

  4. 为集群输入一个名称。此名称用于集群的主机名。

    提示

    要在您在控制台中输入信息时查看 yaml 内容更新,可将 YAML 开关设置为 ON

  5. 为基础架构平台选择 Microsoft Azure
  6. 指定您要用于集群的发行镜像。这可标识用于创建集群的 Red Hat OpenShift Container Platform 镜像的版本。如果要使用的版本可用,您可以从镜像列表中选择镜像。如果您要使用的镜像不是标准镜像,您可以输入您要使用的镜像的 url。有关发行镜像的更多信息,请参阅发行镜像
  7. 从列表上的可用连接中选择您的供应商连接。如果您没有配置供应商连接,或想要配置一个新供应商连接,请参阅添加连接。如需了解更多与创建供应商相关的信息,请参阅为 Microsoft Azure 创建供应商连接
  8. 输入您为 Azure 帐户配置的基域信息。如果已有与所选供应商连接关联的基域,则该值会在那个字段中填充。您可以修改它的值来覆盖它。如需更多信息,请参阅为 Azure 云服务配置自定义域名。此名称用于集群的主机名。
  9. 添加您要与集群关联的 标签(Label)。这些标签有助于识别集群并限制搜索结果。
  10. 为集群配置节点池

    节点池定义用于集群的节点的位置和大小。

    区域指定节点所处的地理位置。距离更近的区域可能会提供更快的性能,但距离更远的区域可能更为分散。

    • Master 池:在 master 池中为您的集群创建 3 个 Master 节点。Master 节点共享集群活动的管理。您可以选择区域中的多个区以实现更为分散的 master 节点组。您可在创建实例后更改实例的类型和大小,但也可以在此部分中指定。默认值为 Standard_D2s_v3 - 2 vCPU,8 GiB RAM - 通用目的,根存储为 512 GiB。
    • Worker 池:您可以在 worker 池中创建 一个或多个 worker 节点,以运行集群的容器工作负载。它们可以位于单个 worker 池中,也可以分布在多个 worker 池中。
  11. 可选:配置集群联网选项。
  12. 可选:为集群配置标签。
  13. 点击 Create。在创建和导入过程完成后,您可以查看您的集群详情。

    注意

    您不必运行 kubectl 命令,它为导入集群提供集群的详情。当创建集群时,它由 Red Hat Advanced Cluster Management for Kubernetes 管理自动配置。

7.2.3. 访问集群

要访问由 Red Hat Advanced Cluster Management for Kubernetes 管理的集群,请完成以下步骤:

  1. 从 Red Hat Advanced Cluster Management for Kubernetes 导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择您创建的或想要访问的集群的名称。此时会显示集群详情。
  3. 选择 Reveal credentials 来查看集群的用户名和密码。记下这些值以便在登录到集群时使用。
  4. 选择 Console URL 以链接到集群。
  5. 使用在第 3 步中找到的用户 ID 和密码登录集群。
  6. 选择您要访问的集群的 Actions 菜单。
  7. 选择 Launch to cluster

    提示

    如果已知登录凭证,可以通过选择集群的 Actions 菜单并选择 Launch to cluster 来访问集群。

7.2.4. 从管理中移除集群

当从管理中删除通过 Red Hat Advanced Cluster Management for Kubernetes 创建的 Red Hat OpenShift Container Platform 集群时,您可以将其分离销毁

分离集群会将其从管理中移除,但不会完全删除。如果决定要将其放回到管理之下,您可以再次导入它。只有集群处于 Ready 状态时方可使用这个选项。

销毁集群会将其从管理中移除,并删除集群的组件。此操作是永久性的,删除后无法将其放回到管理之下。

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择您要删除的集群旁边的选项菜单。
  3. 选择 Destroy clusterDetach cluster

    提示

    您可以选择要分离或销毁的集群的复选框来分离或销毁多个集群。然后选择 DetachDestroy

7.3. 在 Google Cloud Platform 上创建集群

按照步骤在 Google Cloud Platform (GCP) 上创建 Red Hat OpenShift Container Platform 集群有关 Google Cloud Platform 的更多信息,请参阅 Google Cloud Platform

7.3.1. 先决条件

在 GCP 上创建集群前必须满足以下先决条件:

  • 已部署 Red Hat Advanced Cluster Management for Kubernetes hub 集群
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在 GCP 上创建 Kubernetes 集群
  • GCP 供应商连接。如需更多信息,请参阅为 Google Cloud Platform 设置供应商连接
  • 在 GCP 中配置了域。有关如何配置域的说明,请参阅设置自定义域
  • GCP 登录凭证,其中包括用户名和密码。
  • Red Hat OpenShift 镜像 pull secret。请参阅使用镜像 pull secret

:如果更改了云供应商访问密钥,则必须手动更新置备的集群访问密钥。如需更多信息,请参阅已知问题, 不支持置备的集群的自动 secret 更新

7.3.2. 使用 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. Clusters 页面上,点击 Add Cluster
  3. 选择 Create a cluster

    注意

    此过程用于创建集群。如果您有一个要导入的现有集群,请参阅将目标受管集群导入到 hub 集群以了解这些步骤。

  4. 为集群输入一个名称。此名称用于集群的主机名。

    提示

    要在您在控制台中输入信息时查看 yaml 内容更新,可将 YAML 开关设置为 ON

  5. 为基础架构平台选择 Google Cloud
  6. 指定您要用于集群的发行镜像。这可标识用于创建集群的 Red Hat OpenShift Container Platform 镜像的版本。如果要使用的版本可用,您可以从镜像列表中选择镜像。如果您要使用的镜像不是标准镜像,您可以输入您要使用的镜像的 url。有关发行镜像的更多信息,请参阅发行镜像
  7. 从列表上的可用连接中选择您的供应商连接。如果您没有配置供应商连接,或想要配置一个新供应商连接,请参阅添加连接。如需了解更多与创建供应商相关的信息,请参阅为 Google Cloud Platform 创建供应商连接
  8. 输入您为 Google Cloud Platform 帐户配置的基域信息。如果已有与所选供应商连接关联的基域,则该值会在那个字段中填充。您可以修改它的值来覆盖它。如需更多信息,请参阅设置自定义域。此名称用于集群的主机名。
  9. 添加您要与集群关联的 标签(Label)。这些标签有助于识别集群并限制搜索结果。
  10. 为集群配置节点池

    节点池定义用于集群的节点的位置和大小。

    区域指定节点所处的地理位置。距离更近的区域可能会提供更快的性能,但距离更远的区域可能更为分散。

    • Master 池:在 master 池中为您的集群创建 3 个 Master 节点。Master 节点共享集群活动的管理。您可以选择区域中的多个区以实现更为分散的 master 节点组。您可在创建实例后更改实例的类型和大小,但也可以在此部分中指定。默认值为 n1-standard-1 - n1-standard-1 1 vCPU - 通用目的,根存储为 500 GiB。
    • Worker 池:您可以在 worker 池中创建 一个或多个 worker 节点,以运行集群的容器工作负载。它们可以位于单个 worker 池中,也可以分布在多个 worker 池中。
  11. 可选:配置集群联网选项。
  12. 可选:为集群配置标签。
  13. 点击 Create

在创建和导入过程完成后,您可以查看您的集群详情。

+ 备注:您不必运行 kubectl 命令,它为导入集群提供集群的详情。当创建集群时,它由 Red Hat Advanced Cluster Management for Kubernetes 管理自动配置。

7.3.3. 访问集群

要访问由 Red Hat Advanced Cluster Management for Kubernetes 管理的集群,请完成以下步骤:

  1. 从 Red Hat Advanced Cluster Management for Kubernetes 导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择您创建的或想要访问的集群的名称。此时会显示集群详情。
  3. 选择 Reveal credentials 来查看集群的用户名和密码。记下这些值以便在登录到集群时使用。
  4. 选择 Console URL 以链接到集群。
  5. 使用在第 3 步中找到的用户 ID 和密码登录集群。
  6. 选择您要访问的集群的 Actions 菜单。
  7. 选择 Launch to cluster

    提示

    如果已知登录凭证,可以通过选择集群的 Actions 菜单并选择 Launch to cluster 来访问集群。

7.3.4. 从管理中移除集群

当您从管理中移除通过 Red Hat Advanced Cluster Management for Kubernetes 创建的 Red Hat OpenShift Container Platform 集群时,可以将其分离销毁

分离集群会将其从管理中移除,但不会完全删除。如果决定要将其放回到管理之下,您可以再次导入它。只有集群处于 Ready 状态时方可使用这个选项。

销毁集群会将其从管理中移除,并删除集群的组件。此操作是永久性的,删除后无法将其放回到管理之下。

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择您要删除的集群旁边的选项菜单。
  3. 选择 Destroy clusterDetach cluster

    提示

    您可以选择要分离或销毁的集群的复选框来分离或销毁多个集群。然后选择 DetachDestroy

7.4. 在裸机上创建集群

重要: 裸机集群功能是一个技术预览,不应在生产环境中使用。

您可以使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在裸机环境中创建一个 Red Hat OpenShift Container Platform 集群。

注意

控制台中裸机的选项仅用于技术预览,默认由特性标记隐藏。有关启用功能标记的说明,请参阅先决条件部分。

7.4.1. 先决条件

在裸机环境中创建集群前需要满足以下先决条件:

  • 在 OpenShift Container Platform 版本 4.5 或更高版本上部署了 Red Hat Advanced Cluster Management for Kubernetes hub 集群。
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在裸机环境中创建 Kubernetes 集群
  • 裸机供应商连接;如需更多信息,请参阅为裸机环境创建供应商连接
  • 裸机环境的登录凭证,其中包括用户名、密码和基板管理控制器地址
  • Red Hat OpenShift Container Platform 镜像 pull secret;请参阅使用镜像 pull secret
  • 已启用裸机功能标记来查看裸机选项。默认情况下,裸机选项会由功能标记隐藏。完成以下步骤以启用功能标记:

    1. 启动 Red Hat OpenShift Container Platform 命令行界面。
    2. 输入以下命令将 console-header 容器的 featureFlags_baremetal 设置为 true:

      oc patch deploy console-header -n <namespace> -p '{"spec":{"template":{"spec":{"containers":[{"name":"console-header","env": [{"name": "featureFlags_baremetal","value":"true"}]}]}}}}'

      将 <namespace> 替换为您的 Red Hat Advanced Cluster Management 项目的命名空间。

      更新后,consoleui CRD 应该类似以下示例:

      spec:
        ...
        template:
          ...
          spec:
            ...
            containers:
            - env:                              # Search for env:
              - name: featureFlags_baremetal
                value: "true"
              ...
    3. hmc-ui 容器的 featureFlags_baremetal 值设置为 true

      oc patch -n <namespace> $(oc get deploy -o name | grep consoleui) -p '{"spec":{"template":{"spec":{"containers":[{"name":"hcm-ui","env": [{"name": "featureFlags_baremetal","value":"true"}]}]}}}}'

      将 <namespace> 替换为您的 Red Hat Advanced Cluster Management 项目的命名空间。

      您的更新应类似以下示例:

      spec:
        ...
        template:
          ...
          spec:
            ...
            containers:
            - env:                              # Search for env:
              - name: featureFlags_baremetal
                value: "true"
              ...
    4. 确保 console-chart-...-consoleui...console-header-... pod 正在运行:

      oc -n open-cluster-management get pods
    5. 当 Pod 再次运行时,请注销 Red Hat Advanced Cluster Management for Kubernetes 控制台并重新登录。现在,控制台中包含了裸机选项。

:如果更改了云供应商访问密钥,则必须手动更新置备的集群访问密钥。如需更多信息,请参阅已知问题, 不支持置备的集群的自动 secret 更新

7.4.2. 使用 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建集群,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 在 Clusters 页面上,点击 Add Cluster
  3. 选择 Create a cluster

    注意

    此过程用于创建集群。如果您有一个要导入的现有集群,请参阅将目标受管集群导入到 hub 集群以了解这些步骤。

  4. 为集群输入一个名称。此名称用于集群的主机名。

    提示

    要在您在控制台中输入信息时查看 yaml 内容更新,可将 YAML 开关设置为 ON

  5. 为基础架构平台选择 Bare Metal
  6. 指定您要用于集群的发行镜像。这可标识用于创建集群的 Red Hat OpenShift Container Platform 镜像的版本。如果要使用的版本可用,您可以从镜像列表中选择镜像。如果您要使用的镜像不是标准镜像,您可以输入您要使用的镜像的 url。有关发行镜像的更多信息,请参阅发行镜像
  7. 从列表上的可用连接中选择您的供应商连接。如果您没有配置,或想要配置一个新的,请参阅添加供应商。如需了解更多与创建供应商相关的信息,请参阅为裸机创建供应商连接
  8. 输入您在裸机环境中配置的基域信息。如果已有与所选供应商连接关联的基域,则该值会在那个字段中填充。您可以修改它的值来覆盖它。此名称用于集群的主机名。
  9. 从与供应商连接关联的主机列表中选择您的主机。最少选择三个与虚拟机监控程序在同一网桥网络上的资产。
  10. 可选:配置集群联网选项。
  11. 可选:为集群配置标签。
  12. 可选:如果想要更改设置以使其包含 configmap,请更新高级设置。
  13. 点击 Create。在创建和导入过程完成后,您可以查看您的集群详情。

    注意

    您不必运行 kubectl 命令,它为导入集群提供集群的详情。当创建集群时,它由 Red Hat Advanced Cluster Management for Kubernetes 管理自动配置。

7.4.3. 访问集群

要访问由 Red Hat Advanced Cluster Management for Kubernetes 管理的集群,请完成以下步骤:

  1. 从 Red Hat Advanced Cluster Management for Kubernetes 导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择您创建的或想要访问的集群的名称。此时会显示集群详情。
  3. 选择 Reveal credentials 来查看集群的用户名和密码。记下这些值以便在登录到集群时使用。
  4. 选择 Console URL 以链接到集群。
  5. 使用在第 3 步中找到的用户 ID 和密码登录集群。
  6. 选择您要访问的集群的 Actions 菜单。
  7. 选择 Launch to cluster

    提示

    如果已知登录凭证,可以通过选择集群的 Actions 菜单并选择 Launch to cluster 来访问集群。

7.4.4. 从管理中移除集群

当您从管理中移除通过 Red Hat Advanced Cluster Management for Kubernetes 创建的 Red Hat OpenShift Container Platform 集群时,可以将其分离销毁

分离集群会将其从管理中移除,但不会完全删除。如果决定要将其放回到管理之下,您可以再次导入它。只有集群处于 Ready 状态时方可使用这个选项。

销毁集群会将其从管理中移除,并删除集群的组件。此操作是永久性的,删除后无法将其放回到管理之下。

  1. 从导航菜单中导航到 Automate infrastructure > Clusters
  2. 选择您要删除的集群旁边的选项菜单。
  3. 选择 Destroy clusterDetach cluster

    提示

    您可以选择要分离或销毁的集群的复选框来分离或销毁多个集群。然后选择 DetachDestroy

第 8 章 将目标受管集群导入到 hub 集群

您可以从不同的 Kubernetes 云供应商导入集群。导入后,目标集群就成为 Red Hat Advanced Cluster Management for Kubernetes hub 集群的受管集群。除非另有指定,否则在可以访问 hub 集群和目标受管集群的任意位置完成导入任务。

注意

Hub 集群无法管理任何其他 hub 集群;您必须导入现有的集群。

从以下说明中进行选择以通过控制台或 CLI 设置受管集群:

所需的用户类型或访问权限级别:集群管理员

8.1. 使用控制台导入现有集群

安装 Red Hat Advanced Cluster Management for Kubernetes 后,就可以导入集群来进行管理。您可以从控制台和 CLI 导入。按照以下步骤从控制台导入。在此过程中,您需要通过终端来进行身份验证。

8.1.1. 先决条件

  • 您需要一个已部署的 Red Hat Advanced Cluster Management for Kubernetes hub 集群。如果您要导入裸机集群,必须在 Red Hat OpenShift Container Platform 版本 4.4 或更高版本上安装了 hub 集群。
  • 您需要一个要管理的集群,以及互联网连接。
  • 安装 kubectl。要安装 kubectl,请参阅 Kubernetes 文档中的安装和设置 kubectl
  • 您需要 base64 命令行工具。

所需的用户类型或访问权限级别:集群管理员

8.1.2. 导入集群

您可以从 Red Hat Advanced Cluster Management for Kubernetes 控制台中为每个可用的云供应商导入现有集群。

注意

Hub 集群无法管理任何其他 hub 集群;您必须导入现有的集群。

  1. 从导航菜单中,将鼠标悬停在 Automate infrastructure 上,然后点击 Clusters
  2. Add cluster
  3. 点击 Import an existing cluster
  4. 提供集群名称。默认情况下,命名空间会设为与集群名称相同的值。最佳实践:保留命名空间值且不编辑。
  5. 可选:点击以展开 Edit cluster import YAML file 并修改端点配置。

    请参阅 表 1.YAML 文件参数和描述,了解有关每个参数的详情。

  6. 可选:导入后,您可以点击 Configure advanced parameters 添加标签,并使用这些标签进行搜索。
  7. 可选:配置 MANAGED CLUSTER URLS。通过配置 MANAGED CLUSTER URLS,运行 oc get managedcluster 命令时显示的 URL 会在表中显示。

    1. 如果还没有打开,请使用 web 控制台中的开关打开 YAML 内容,以便查看其内容。
    2. manageClusterClientConfigs 项添加到 import.yaml 文件中的 ManagedCluster spec,如下例所示:

      apiVersion: cluster.open-cluster-management.io/v1
      kind: ManagedCluster
      metadata:
        labels:
          cloud: auto-detect
      	vendor: auto-detect
      	name: cluster-test
        name: cluster-test
      spec:
        hubAcceptsClient: true
        managedClusterClientConfigs:
        - url: https://multicloud-console.apps.new-managed.dev.redhat.com
      ---
      apiVersion: agent.open-cluster-management.io/v1
      ...

      替换 URL 值是受管集群的外部访问 URL 地址。

  8. 点击 Generate Command 检索用于部署 open-cluster-management-agent-addon 的命令。
  9. Import an existing cluster 窗口中,将鼠标悬停在 Copy command 图标上并点击以复制提供给您的导入命令和令牌。您必须点击 Copy 图标来接收准确的副本。重要:命令中包含复制到每个导入集群的 pull secret 信息。具有访问导入集群权限的所有用户都可以查看 pull secret 信息。考虑在 https://cloud.redhat.com/ 或通过创建服务帐户来创建二级 pull secret,以便您的个人凭证不会遭到破坏。如需更多信息,请参阅使用镜像 pull secret了解并创建服务帐户
  10. 在终端中,向受管集群进行身份验证。为目标受管集群配置 kubectl

    请参阅支持的云了解如何配置 kubectl

  11. 要将 open-cluster-management-agent-addon 部署到受管集群,请运行您在第 8 步中生成并复制的命令。
  12. 点击 View cluster 查看集群的 Overview 页面和摘要。

注意 您可以继续导入更多集群。点击 Import another 以重复这个过程。

8.1.2.1. YAML 参数和描述

表 1:下表列出了 YAML 文件中可用的参数和描述:

参数描述默认值

clusterLabels

提供集群标签;您可以在文件中添加标签

none

clusterLabels.cloud

集群的供应商标签

auto-detect

clusterLabels.vendor

集群的 Kubernetes 厂商标签

auto-detect

clusterLabels.environment

集群的环境标签

none

clusterLabels.region

在其中设置集群的区域

none

applicationManager.enabled

启用多集群管理器应用程序部署,部署订阅控制器和可部署资源控制器

true

searchCollector.enabled

启用搜索集合和索引

true

policyController.enabled

启用监管和风险仪表板策略功能

true,updateInterval:15

certPolicyController.enabled

根据分布式策略监控证书过期时间

true

iamPolicyController

根据分布式策略监控身份控制

true

serviceRegistry.enabled

作为服务 registry,用于发现由应用程序可部署资源在受管集群间部署的服务。

false

serviceRegistry.dnsSuffix

registry DNS 名称的后缀,添加到目标集群 DNS 域名的末尾。

mcm.svc

serviceRegistry.plugins

包含已启用插件的逗号分隔列表。支持的插件:kube-servicekube-ingressistio

kube-service

version

open-cluster-management-agent-addon 的版本

2.0

8.1.3. 删除导入的集群

完成以下步骤以删除导入的集群以及在受管集群上创建的 open-cluster-management-agent-addon

  1. Clusters 页面的表中查找您导入的集群。
  2. 点击 Options > Detach cluster 可从管理中移除集群。

8.2. 使用 CLI 导入受管集群

安装 Red Hat Advanced Cluster Management for Kubernetes 后,就可以导入集群来进行管理。您可以从控制台和 CLI 导入。按照以下步骤从 CLI 导入。

注意

hub 集群无法管理另一个 hub 集群。

8.2.1. 先决条件

  • 您需要一个已部署的 Red Hat Advanced Cluster Management for Kubernetes hub 集群。如果您要导入裸机集群,必须在 Red Hat OpenShift Container Platform 版本 4.4 或更高版本上安装了 hub 集群。重要: 裸机功能是一个技术预览,不应在生产环境中使用。
  • 您需要一个要管理的单独集群,以及互联网连接。
  • 您需要 Red Hat OpenShift Container Platform CLI 版本 4.3 或更高版本来运行 oc 命令。如需有关安装和配置 Red Hat OpenShift CLI oc 的信息,请参阅 CLI 入门
  • 您需要安装 Kubernetes CLI kubectl。要安装 kubectl,请参阅 Kubernetes 文档中的安装和设置 kubectl

    注意

    从控制台下载 CLI 工具的安装文件。

8.2.2. 支持的构架

  • Linux
  • macOS

8.2.3. 准备导入

  1. 登录到您的 hub 集群。运行以下命令:

    oc login
  2. 在 hub 集群上运行以下命令来创建命名空间。注意:<cluster_name> 中定义的集群名称也用作 .yaml 文件和命令中的集群命名空间:

    oc new-project ${CLUSTER_NAME}
    oc label namespace ${CLUSTER_NAME} cluster.open-cluster-management.io/managedCluster=${CLUSTER_NAME}
  3. 使用以下 YAML 示例编辑示例 ManagedCluster 集群:

    apiVersion: cluster.open-cluster-management.io/v1
    kind: ManagedCluster
    metadata:
      name: <cluster_name>
    spec:
      hubAcceptsClient: true
  4. 将文件保存为 managed-cluster.yaml
  5. 使用以下命令应用 YAML 文件:

    oc apply -f managed-cluster.yaml
  6. 创建 klusterlet 插件配置文件。输入以下示例 YAML:

    apiVersion: agent.open-cluster-management.io/v1
    kind: KlusterletAddonConfig
    metadata:
      name: <cluster_name>
      namespace: <cluster_name>
    spec:
      clusterName: <cluster_name>
      clusterNamespace: <cluster_name>
      applicationManager:
        enabled: true
      certPolicyController:
        enabled: true
      clusterLabels:
        cloud: auto-detect
        vendor: auto-detect
      iamPolicyController:
        enabled: true
      policyController:
        enabled: true
      searchCollector:
        enabled: true
      version: 2.0.0
  7. 将文件保存为 klusterlet-addon-config.yaml
  8. 应用 YAML。运行以下命令:

    oc apply -f klusterlet-addon-config.yaml

ManagedCluster-Import-Controller 将生成一个名为 ${CLUSTER_NAME}-import 的 secret。${CLUSTER_NAME}-import secret 包括 import.yaml,用户会把它应用到一个受管集群来安装 klusterlet.

8.2.4. 导入 klusterlet

重要

导入命令中包含复制到每个导入集群的 pull secret 信息。具有访问导入集群权限的所有用户都可以查看 pull secret 信息。

  1. 获取由受管集群导入控制器生成的 klusterlet-crd.yaml

    运行以下命令:

    oc get secret ${CLUSTER_NAME}-import -n ${CLUSTER_NAME} -o jsonpath={.data.crds\\.yaml} | base64 --decode > klusterlet-crd.yaml
  2. 获取由受管集群控制器生成的 import.yaml。运行以下命令:

    oc get secret ${CLUSTER_NAME}-import -n ${CLUSTER_NAME} -o jsonpath={.data.import\\.yaml} | base64 --decode > import.yaml
  3. 登录到目标受管集群。
  4. 应用在第 1 步中生成的 klusterlet-crd.yaml。运行以下命令:

    kubectl apply -f klusterlet-crd.yaml
  5. 应用在第 2 步中生成的 import.yaml 文件。运行以下命令:

    kubectl apply -f import.yaml
  6. 验证目标受管集群上的 Pod 状态。运行以下命令:

    kubectl get pod -n open-cluster-management-agent
  7. 验证您的导入集群的 JOINEDAVAILABLE 状态。在 hub 集群中运行以下命令:

    kubectl get managedcluster -n ${CLUSTER_NAME}
  8. 在受管集群的状态为 AVAILABLE 后,会安装附加组件。验证目标受管集群上的附件组件的 Pod 状态。运行以下命令:

    kubectl get pod -n open-cluster-management-agent-addon

8.3. 修改集群的 klusterlet 附加设置

您可以使用 hub 集群修改 klusterlet 附加组件的设置。

klusterlet addon 控制器根据 klusterletaddonconfigs.agent.open-cluster-management.io Kubernetes 资源中的设置管理启用和禁用的功能。

以下设置可以在 klusterletaddonconfigs.agent.open-cluster-management.io Kubernetes 资源中更新:

设置名称

applicationmanager

truefalse

policyController

truefalse

searchCollector

truefalse

certPolicyController

truefalse

iamPolicyController

truefalse

8.3.1. 使用 hub 集群中的控制台进行修改

您可以使用 hub 集群修改 klusterletaddonconfigs.agent.open-cluster-management.io 资源设置。完成以下步骤以更改设置:

  1. 向 hub 集群的 Red Hat Advanced Cluster Management for Kubernetes 控制台进行身份验证。
  2. 在 hub 集群控制台的主菜单中选择 Search
  3. 在搜索参数中输入以下值:kind:klusterletaddonconfigs
  4. 选择您要更新的端点资源。
  5. 找到 spec 部分并选择 Edit 以编辑内容。
  6. 修改设置。
  7. 选择 Save 以应用您的更改。

8.3.2. 使用 hub 集群中的命令行进行修改

您必须有权访问 <cluster-name> 命名空间才能使用 hub 集群修改设置。完成以下步骤:

  1. 在 hub 集群中进行身份验证。
  2. 输入以下命令以编辑资源:

    kubectl edit klusterletaddonconfigs.agent.open-cluster-management.io <cluster-name> -n <cluster-name>
  3. 找到 spec 部分。
  4. 根据需要修改您的设置。

第 9 章 升级集群

创建要通过 Red Hat Advanced Cluster Management for Kubernetes 来管理的集群后,您可以使用 Red Hat Advanced Cluster Management for Kubernetes 控制台将这些集群升级到受管集群使用的版本频道中可用的最新次要版本。

请记住:要升级到一个主要版本,您必须确定是否满足升级到该版本的所有先决条件。在可以使用控制台升级集群前,您必须更新受管集群上的版本频道。更新受管集群上的版本频道后,Red Hat Advanced Cluster Management for Kubernetes 控制台会显示可用于升级的最新版本。

注意

您无法使用 Red Hat Advanced Cluster Management for Kubernetes 控制台升级 Red Hat OpenShift Kubernetes Service 集群。

此升级方法只适用于处于 Ready 状态的 Red Hat OpenShift Container Platform 集群。

要升级集群,请完成以下步骤:

  1. 从导航菜单中导航到 Automate infrastructure > Clusters。如果有可用的升级,会在 Distribution version 列中显示。
  2. 选择您要升级的集群。请记住:集群必须处于 Ready 状态,且必须是 Red Hat OpenShift Container Platform 集群,才能使用控制台进行升级。
  3. 选择 Upgrade
  4. 选择每个集群的新版本。
  5. 选择 Upgrade

法律通告

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.