凭证

Red Hat Advanced Cluster Management for Kubernetes 2.5

了解更多信息,了解如何创建和管理集群凭证。

摘要

了解更多信息,了解如何创建和管理集群凭证。

第 1 章 管理凭证概述

您可以创建和管理集群凭证。要使用 Red Hat Advanced Cluster Management for Kubernetes 在云服务供应商处创建 Red Hat OpenShift Container Platform 集群,需要一个凭证。凭据存储云提供商的访问信息。每个提供程序帐户都需要自己的凭据,就像单个提供程序中的每个域一样。

凭据存储为 Kubernetes secret。secret 复制到受管集群的命名空间,以便受管集群的控制器可以访问 secret。更新凭证时,secret 的副本会在受管集群命名空间中自动更新。

注:对现有的受管集群,pull secret 或 SSH 密钥的更改不会反映,因为它们已使用原始凭证置备。

需要的访问权限: Edit

1.1. 为 Amazon Web Services 创建凭证

您需要一个凭证才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Amazon Web Services (AWS) 上部署和管理 Red Hat OpenShift Container Platform 集群。

需要的访问权限: Edit

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

1.1.1. 先决条件

创建凭证前必须满足以下先决条件:

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

1.1.2. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。请参见以下步骤:

  1. 为您的 AWS 帐户添加 AWS 访问密钥 ID。登录 AWS 以查找您的 ID。
  2. 在 Red Hat Advanced Cluster Management 中,为您的新的 AWS Secret Access Key 提供内容。
  3. 如果要启用代理,请输入代理信息:

    • HTTP 代理 URL:用作 HTTP 流量的代理的 URL。
    • HTTPS 代理 URL:用于 HTTPS 流量的安全代理 URL。如果没有提供值,则使用相同的值 HTTP Proxy URL,用于 HTTPHTTPS
    • 无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (.) 开始的域名,包含该域中的所有子域。添加星号 (*) 以绕过所有目的地的代理。
    • Additional trust bundle:访问镜像 registry 所需的证书文件内容。
  4. 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
  5. 添加可让您连接到集群的 SSH 私钥SSH 公钥。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。

请参阅生成 SSH 私钥并将其添加到代理中,以了解有关如何生成密钥的更多信息。

要创建使用此凭证的集群,您可以完成在 Amazon Web Services 上创建集群中的步骤。

您可以在控制台中编辑凭证。如果使用这个供应商连接创建集群,则来自 <cluster-namespace><cluster-name>-aws-creds> secret 将使用新凭证进行更新。

注:更新凭证不适用于集群池声明的集群。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

1.1.3. 使用 API 创建不透明的 secret

要使用 API 为 Amazon Web Services 创建不透明 secret,请在类似以下示例的 YAML preview 窗口中应用 YAML 内容:

kind: Secret
metadata:
    name: <managed-cluster-name>-aws-creds
    namespace: <managed-cluster-namespace>
type: Opaque
data:
    aws_access_key_id: $(echo -n "${AWS_KEY}" | base64 -w0)
    aws_secret_access_key: $(echo -n "${AWS_SECRET}" | base64 -w0)

注: 在您选择的受管集群命名空间中创建不透明 secret。Hive 使用 opaque secret 来置备集群。当使用 Red Hat Advanced Cluster Management 控制台置备集群时,您预先创建的凭证将复制到受管集群命名空间中,作为 opaque secret。

1.2. 为 Microsoft Azure 创建凭证

您需要一个凭证来使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Microsoft Azure 或 Microsoft Azure Government 上创建和管理 Red Hat OpenShift Container Platform 集群。

需要的访问权限: Edit

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

1.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 帐户

1.2.2. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

  1. 可选:为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。
  2. 选择集群的环境是 AzurePublicCloud 还是 AzureUSrianCloud。Azure 政府环境的设置有所不同,以确保正确设置了此设置。
  3. 为您的 Azure 帐户添加 基本域资源组名称。此条目是您使用 Azure 帐户创建的资源名称。您可以在 Azure 界面中选择 Home > DNS Zones 来查找您的基域资源组名称。请参阅使用 Azure CLI 创建 Azure 服务主体,以查找您的基域资源组名称。
  4. 在 Red Hat Advanced Cluster Management 中,为您的 客户端 ID 提供内容。当您使用以下命令创建服务主体时,这个值作为 appId 属性被生成:

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

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

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

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

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

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

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

    az account show
  8. 如果要启用代理,请输入代理信息:

    • HTTP 代理 URL:用作 HTTP 流量的代理的 URL。
    • HTTPS 代理 URL:用于 HTTPS 流量的安全代理 URL。如果没有提供值,则使用相同的值 HTTP Proxy URL,用于 HTTPHTTPS
    • 无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (.) 开始的域名,包含该域中的所有子域。添加星号 (*) 以绕过所有目的地的代理。
    • Additional trust bundle:访问镜像 registry 所需的证书文件内容。
  9. 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
  10. 添加用于连接到集群的 SSH 私钥SSH 公钥。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。请参阅生成 SSH 私钥并将其添加到代理中,以了解有关如何生成密钥的更多信息。

要创建使用此凭证的集群,您可以完成在 Microsoft Azure 上创建集群 中的步骤。

您可以在控制台中编辑凭证。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

1.2.3. 使用 API 创建不透明的 secret

要使用 API 而不是控制台为 Microsoft Azure 创建不透明 secret,请在类似以下示例的 YAML preview 窗口中应用 YAML 内容:

kind: Secret
metadata:
    name: <managed-cluster-name>-azure-creds
    namespace: <managed-cluster-namespace>
type: Opaque
data:
    baseDomainResourceGroupName: $(echo -n "${azure_resource_group_name}" | base64 -w0)
    osServicePrincipal.json: $(base64 -w0 "${AZURE_CRED_JSON}")

注: 在您选择的受管集群命名空间中创建不透明 secret。Hive 使用 opaque secret 来置备集群。当使用 Red Hat Advanced Cluster Management 控制台置备集群时,您预先创建的凭证将复制到受管集群命名空间中,作为 opaque secret。

1.3. 为 Google Cloud Platform 创建凭证

您需要一个凭证才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Google Cloud Platform (GCP) 上创建和管理 Red Hat OpenShift Container Platform 集群。

需要的访问权限: Edit

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

1.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 项目

1.3.2. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便和安全起见,创建一个命名空间,专门用于托管您的凭证。

您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。请参见以下步骤:

  1. 为您的 GCP 帐户添加 Google Cloud Platform 项目 ID。登录到 GCP 以检索您的设置。
  2. 添加 Google Cloud Platform 服务帐户 JSON 密钥。请参阅(https://cloud.google.com/iam/docs/creating-managing-service-accounts)创建服务帐户 JSON 密钥。按照 GCP 控制台的步骤进行操作。
  3. 在 Red Hat Advanced Cluster Management 中,为您的新的 Google Cloud Platform 服务帐户 JSON 密钥提供内容
  4. 如果要启用代理,请输入代理信息:

    • HTTP 代理 URL:用作 HTTP 流量的代理的 URL。
    • HTTPS 代理 URL:用于 HTTPS 流量的安全代理 URL。如果没有提供值,则使用相同的值 HTTP Proxy URL,用于 HTTPHTTPS
    • 无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (.) 开始的域名,包含该域中的所有子域。添加星号 (*) 以绕过所有目的地的代理。
    • Additional trust bundle:访问镜像 registry 所需的证书文件内容。
  5. 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
  6. 添加 SSH 私钥SSH 公钥以便您访问集群。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。

请参阅生成 SSH 私钥并将其添加到代理中,以了解有关如何生成密钥的更多信息。

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

您可以在控制台中编辑凭证。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

1.3.3. 使用 API 创建不透明的 secret

要使用 API 而不是控制台为 Google Cloud Platform 创建不透明 secret,请在类似以下示例的 YAML preview 窗口中应用 YAML 内容:

kind: Secret
metadata:
    name: <managed-cluster-name>-gcp-creds
    namespace: <managed-cluster-namespace>
type: Opaque
data:
    osServiceAccount.json: $(base64 -w0 "${GCP_CRED_JSON}")

注: 在您选择的受管集群命名空间中创建不透明 secret。Hive 使用 opaque secret 来置备集群。当使用 Red Hat Advanced Cluster Management 控制台置备集群时,您预先创建的凭证将复制到受管集群命名空间中,作为 opaque secret。

1.4. 为 VMware vSphere 创建凭证

您需要一个凭证才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 VMware vSphere 上部署和管理 Red Hat OpenShift Container Platform 集群。仅支持 OpenShift Container Platform 版本 4.5.x 及更新的版本。

需要的访问权限: Edit

注:必须在使用 Red Hat Advanced Cluster Management 创建集群前完成此步骤。

1.4.1. 先决条件

创建凭证前必须满足以下先决条件:

  • 在 OpenShift Container Platform 版本 4.6 或更高版本上部署了 Red Hat Advanced Cluster Management hub 集群。
  • 可通过互联网访问 Red Hat Advanced Cluster Management hub 集群,以便它在 VMware vSphere 上创建 Kubernetes 集群。
  • 使用安装程序置备的基础架构时为 OpenShift Container Platform 配置了 VMware vSphere 登录凭证和 vCenter 要求。请参阅使用自定义在 vSphere 上安装集群。这些凭证包括以下信息:

    • vCenter 帐户权限。
    • 集群资源。
    • DHCP 可用。
    • ESXi 主机的时间已同步(例如: NTP)。

1.4.2. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。请参见以下步骤:

  1. 添加 VMware vCenter 服务器完全限定主机名或 IP 地址。该值必须在 vCenter 服务器 root CA 证书中定义。如果可能,请使用完全限定主机名。
  2. 添加 VMware vCenter 用户名
  3. 添加 VMware vCenter 密码
  4. 添加 VMware vCenter root CA 证书

    1. 您可以使用 VMware vCenter 服务器的证书在 download.zip 软件包中下载证书,地址为 https://<vCenter_address>/certs/download.zip。将 vCenter_address 替换为 vCenter 服务器的地址。
    2. 解包 download.zip
    3. 使用 certs/<platform> 目录中有 .0 扩展名的证书。提示: 您可以使用 ls certs/<platform> 命令列出平台的所有可用证书。

      <platform> 替换为您的平台的缩写:linmacwin.

      例如: certs/lin/3a343545.0

      最佳实践:使用以下命令将带有 .0 扩展的多个证书链接在一起:

      cat certs/lin/*.0 > ca.crt
  5. 添加 VMware vSphere 集群名称
  6. 添加 VMware vSphere 数据中心
  7. 添加 VMware vSphere 默认数据存储
  8. 仅用于断开连接的安装:使用所需信息完成 Configuration for disconnected installation 子字段:

    • 镜像内容源:此值包含断开连接的 registry 路径。该路径包含所有用于断开连接的安装镜像的主机名、端口和库路径。示例: repository.com:5000/openshift/ocp-release

      该路径会在 install-config.yaml 中创建一个到 Red Hat OpenShift Container Platform 发行镜像的镜像内容源策略映射。例如,repository.com:5000 生成此 imageContentSource 内容:

      imageContentSources:
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-release-nightly
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-release
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
    • Additional trust bundle:此值提供访问镜像 registry 所需的证书文件内容。

      注: 如果您要从断开连接的环境中的一个 hub 部署受管集群,并希望在安装后自动导入它们,使用 YAML 编辑器将镜像内容源策略添加到 install-config.yaml 文件中。以下示例中显示了一个示例:

      imageContentSources:
      - mirrors:
        - registry.example.com:5000/rhacm2
        source: registry.redhat.io/rhacm2
  9. 如果要启用代理,请输入代理信息:

    • HTTP 代理 URL:用作 HTTP 流量的代理的 URL。
    • HTTPS 代理 URL:用于 HTTPS 流量的安全代理 URL。如果没有提供值,则使用相同的值 HTTP Proxy URL,用于 HTTPHTTPS
    • 无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (.) 开始的域名,包含该域中的所有子域。添加星号 (*) 以绕过所有目的地的代理。
    • Additional trust bundle:访问镜像 registry 所需的证书文件内容。
  10. 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
  11. 添加可让您连接到集群的 SSH 私钥SSH 公钥

    您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。如需更多信息,请参阅为集群节点 SSH 访问生成密钥对

要创建使用此凭证的集群,您可以完成在 VMware vSphere 上创建集群中的步骤。

您可以在控制台中编辑凭证。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

1.4.3. 使用 API 创建不透明的 secret

要使用 API 而不是控制台为 VMware vSphere 创建不透明 secret,请在类似以下示例的 YAML preview 窗口中应用 YAML 内容:

kind: Secret
metadata:
    name: <managed-cluster-name>-vsphere-creds
    namespace: <managed-cluster-namespace>
type: Opaque
data:
    username: $(echo -n "${VMW_USERNAME}" | base64 -w0)
    password.json: $(base64 -w0 "${VMW_PASSWORD}")

注: 在您选择的受管集群命名空间中创建不透明 secret。Hive 使用 opaque secret 来置备集群。当使用 Red Hat Advanced Cluster Management 控制台置备集群时,您预先创建的凭证将复制到受管集群命名空间中,作为 opaque secret。

1.5. 为 Red Hat OpenStack 创建凭证

您需要一个凭证才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Red Hat OpenStack Platform 上部署和管理 Red Hat OpenShift Container Platform 集群。仅支持 OpenShift Container Platform 版本 4.5.x 及更新的版本。

注:必须在使用 Red Hat Advanced Cluster Management 创建集群前完成此步骤。

1.5.1. 先决条件

创建凭证前必须满足以下先决条件:

  • 在 OpenShift Container Platform 版本 4.6 或更高版本上部署了 Red Hat Advanced Cluster Management hub 集群。
  • 可通过互联网访问 Red Hat Advanced Cluster Management hub 集群,以便它在 Red Hat OpenStack Platform 上创建 Kubernetes 集群。
  • 使用安装程序置备的基础架构时,为 OpenShift Container Platform 配置 Red Hat OpenStack Platform 登录凭证和 Red Hat OpenStack Platform 要求。请参阅使用自定义配置在 OpenStack 上安装集群
  • 下载或创建 clouds.yaml 文件来访问 CloudStack API。在 clouds.yaml 文件中:

    • 确定要使用的云身份验证部分名称。
    • username 行后马上添加一个 password 行。

1.5.2. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

  1. 添加 Red Hat OpenStack Platform cloud.yaml 文件内容。clouds.yaml 文件的内容(包括密码)提供了连接到 Red Hat OpenStack Platform 服务器所需的信息。文件内容必须包含密码,它是一个紧接在 username 后面的一个新行。
  2. 添加您的 Red Hat OpenStack Platform 名称。此条目是在 clouds.yaml 的 cloud 部分中指定的名称,用于建立与 Red Hat OpenStack Platform 服务器的通信。
  3. 您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。
  4. 仅用于断开连接的安装:使用所需信息完成 Configuration for disconnected installation 子字段:

    • Cluster OS image:此值包含用于 Red Hat OpenShift Container Platform 集群机器的镜像的 URL。
    • 镜像内容源:此值包含断开连接的 registry 路径。该路径包含所有用于断开连接的安装镜像的主机名、端口和库路径。示例: repository.com:5000/openshift/ocp-release

      该路径会在 install-config.yaml 中创建一个到 Red Hat OpenShift Container Platform 发行镜像的镜像内容源策略映射。例如,repository.com:5000 生成此 imageContentSource 内容:

      imageContentSources:
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-release-nightly
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-release
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
    • Additional trust bundle:此值提供访问镜像 registry 所需的证书文件内容。

      注: 如果您要从断开连接的环境中的一个 hub 部署受管集群,并希望在安装后自动导入它们,使用 YAML 编辑器将镜像内容源策略添加到 install-config.yaml 文件中。以下示例中显示了一个示例:

      imageContentSources:
      - mirrors:
        - registry.example.com:5000/rhacm2
        source: registry.redhat.io/rhacm2
  5. 如果要启用代理,请输入代理信息:

    • HTTP 代理 URL:用作 HTTP 流量的代理的 URL。
    • HTTPS 代理 URL:用于 HTTPS 流量的安全代理 URL。如果没有提供值,则使用相同的值 HTTP Proxy URL,用于 HTTPHTTPS
    • 无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (.) 开始的域名,包含该域中的所有子域。添加星号 (*) 以绕过所有目的地的代理。
    • Additional trust bundle:访问镜像 registry 所需的证书文件内容。
  6. 输入 Red Hat OpenShift Pull Secret。您可以从 Pull secret 下载 pull secret。
  7. 添加可让您连接到集群的 SSH 私钥和 SSH 公钥。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。如需更多信息,请参阅为集群节点 SSH 访问生成密钥对
  8. Create
  9. 查看新凭据信息,然后单击 Add。添加凭证时,会将其添加到凭证列表中。

要创建使用此凭证的集群,您可以完成在 Red Hat OpenStack Platform 上创建集群中的步骤。

您可以在控制台中编辑凭证。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

1.5.3. 使用 API 创建不透明的 secret

要使用 API 而不是控制台为 Red Hat OpenStack Platform 创建不透明 secret,请在类似以下示例的 YAML preview 窗口中应用 YAML 内容:

kind: Secret
metadata:
    name: <managed-cluster-name>-osp-creds
    namespace: <managed-cluster-namespace>
type: Opaque
data:
    clouds.yaml: $(base64 -w0 "${OSP_CRED_YAML}") cloud: $(echo -n "openstack" | base64 -w0)

注: 在您选择的受管集群命名空间中创建不透明 secret。Hive 使用 opaque secret 来置备集群。当使用 Red Hat Advanced Cluster Management 控制台置备集群时,您预先创建的凭证将复制到受管集群命名空间中,作为 opaque secret。

1.6. 为 Red Hat Virtualization 创建凭证

您需要一个凭证才能使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在 Red Hat Virtualization 上部署和管理 Red Hat OpenShift Container Platform 集群。

注:必须在使用 Red Hat Advanced Cluster Management 创建集群前完成此步骤。

1.6.1. 先决条件

创建凭证前必须满足以下先决条件:

  • 在 OpenShift Container Platform 版本 4.7 或更高版本上部署了 Red Hat Advanced Cluster Management hub 集群。
  • 可通过互联网访问 Red Hat Advanced Cluster Management hub 集群,以便它在 Red Hat Virtualization 上创建 Kubernetes 集群
  • 配置 Red Hat Virtualization 环境的 Red Hat Virtualization 登录凭证。请参阅 Red Hat Virtualization 文档中的安装指南。以下列表显示所需信息:

    • oVirt URL
    • oVirt 完全限定域名 (FQDN)
    • oVirt 用户名
    • oVirt 密码
    • oVirt CA/证书
  • 可选:代理信息(如果启用了代理)。
  • Red Hat OpenShift Container Platform pull secret 信息。您可以从 Pull secret 下载 pull secret。
  • 用于传输最终集群的 SSH 私钥和公钥。
  • 允许在 oVirt 上安装集群的帐户权限。

1.6.2. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

  1. 为新凭证添加基本信息。当使用此凭证创建集群时,您可以选择添加基本 DNS 域,该域会在正确的字段中自动填充。如果您没有将其添加到凭证中,您可以在创建集群时添加它。
  2. 为 Red Hat Virtualization 环境添加所需信息。
  3. 如果要启用代理,请输入代理信息:

    • HTTP Proxy URL:应该用作 HTTP 流量的代理的 URL。
    • HTTPS Proxy URL:在使用 HTTPS 流量时应使用的安全代理 URL。如果没有提供值,则使用相同的值 HTTP Proxy URL,用于 HTTPHTTPS
    • 无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (.) 开始的域名,包含该域中的所有子域。添加星号 (*) 以绕过所有目的地的代理。
  4. 输入 Red Hat OpenShift Container Platform pull secret。您可以从 Pull secret 下载 pull secret。
  5. 添加可让您连接到集群的 SSH 私钥和 SSH 公钥。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。如需更多信息,请参阅为集群节点 SSH 访问生成密钥对
  6. 查看新凭据信息,然后单击 Add。添加凭证时,会将其添加到凭证列表中。

要创建使用此凭证的集群,您可以完成在 Red Hat Virtualization 上创建集群中的步骤。

您可以在控制台中编辑凭证。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

1.7. 为裸机创建凭证

您需要一个凭证来使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在裸机环境中部署和管理 Red Hat OpenShift Container Platform 集群。凭证指定到在创建集群时用作 bootstrap 主机虚拟机 (VM) 的置备节点的连接。

需要的访问权限: Edit

1.7.1. 先决条件

创建凭证前需要满足以下先决条件:

  • 已部署 Red Hat Advanced Cluster Management for Kubernetes hub 集群。在管理裸机集群时,必须在 Red Hat OpenShift Container Platform 版本 4.6 或更高版本上安装了 hub 集群。
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在裸机服务器上创建 Kubernetes 集群
  • 对于断开连接的环境,您必须配置了一个镜像 registry,您可以在其中复制发行镜像以进行集群创建。如需更多信息,请参阅 OpenShift Container Platform 文档中的用于断开连接的安装的镜像
  • 支持在裸机基础架构上安装集群的帐户权限。

1.7.2. 准备置备主机

在创建裸机凭证和集群时,您必须有一个置备主机。置备主机是可用于安装的 bootstrap 主机虚拟机。它可以是虚拟机,也可以是运行基于内核的虚拟机 (KVM) 的服务。创建凭证和集群时,您需要此主机的详细信息。完成以下步骤以配置置备(provisioner)主机:

  1. 使用 SSH 登录 provisioner 节点。
  2. 运行以下命令,创建非 root 用户 (user-name) 并为该用户提供 sudo 权限:

    useradd <user-name>
    passwd <password>
    echo "<user-name> ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/<user-name>
    chmod 0440 /etc/sudoers.d/<user-name>
  3. 输入以下命令为新用户创建 SSH 密钥:

    su - <user-name> -c "ssh-keygen -t rsa -f /home/<user-name>/.ssh/id_rsa -N ''"
  4. 使用新创建的用户登陆到 provisioner 节点。

    su - <user-name>
    [user-name@provisioner ~]$
  5. 输入以下命令使用 Red Hat Subscription Manager 来注册 provisioner 节点:

    sudo subscription-manager register --username=<user-name> --password=<password> --auto-attach
    sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhel-8-for-x86_64-baseos-rpms

    如需有关 Red Hat Subscription Manager 的更多信息,请参阅 Red Hat OpenShift Container Platform 文档中的使用和配置 Red Hat Subscription Manager

  6. 运行以下命令来安装所需的软件包:

    sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
  7. 修改用户以便为新创建的用户中添加 libvirt 组。

    sudo usermod --append --groups libvirt <user-name>
  8. 输入以下命令重启 firewalld 并启用 http 服务:

    sudo systemctl start firewalld
    sudo firewall-cmd --zone=public --add-service=http --permanent
    sudo firewall-cmd --reload
  9. 输入以下命令启动并启用 libvirtd 服务:

    sudo systemctl enable libvirtd --now
  10. 输入以下命令创建默认存储池并启动它:

    sudo virsh pool-define-as --name default --type dir --target /var/lib/libvirt/images
    sudo virsh pool-start default
    sudo virsh pool-autostart default
  11. 配置网络:

    1. 运行以下命令,将 PUB_CONN 的值导出到 baremetal 网络的 NIC 的名称:

      export PUB_CONN=<baremetal-nic-name>
    2. 配置 baremetal 网络:

      sudo nohup bash -c """
          nmcli con down "$PUB_CONN"
          nmcli con delete "$PUB_CONN"
          # RHEL 8.1 appends the word "System" in front of the connection, delete in case it exists
          nmcli con down "System $PUB_CONN"
          nmcli con delete "System $PUB_CONN"
          nmcli connection add ifname baremetal type bridge con-name baremetal
          nmcli con add type bridge-slave ifname \"$PUB_CONN"\ master baremetal
          pkill dhclient;dhclient baremetal

      完成此步骤后,SSH 连接可能会断开。

    3. 如果要使用可选的置备网络部署,请完成以下步骤:

      1. 运行以下命令导出 provisioning 网络 NIC 名称:

        export PROV_CONN=<prov-nic-name>
      2. 配置 provisioning 网络:

        sudo nohup bash -c """
            nmcli con down "$PROV_CONN"
            nmcli con delete "$PROV_CONN"
            nmcli connection add ifname baremetal type bridge con-name provisioning
            nmcli con add type bridge-slave ifname \"$PROV_CONN\" master provisioning
            nmcli connection modify provisioning ipv6.addresses fd00:1101::1/64 ipv6.method manual
            nmcli con down provisioning
            nmcli con up provisioning

        完成此步骤后,SSH 连接可能会断开。

        只要无法使用 baremetal 网络路由,IPv6 地址可以是任何地址。

        在使用 IPv6 地址时,请确保启用了 UEFI,并将 UEFI PXE 设置设置为 IPv6 协议。

      3. 在 provisioning 网络连接上配置 IPv4 地址:

        nmcli connection modify provisioning ipv4.addresses 172.22.0.254/24 ipv4.method manual
  12. 使用 ssh 重新连接到 provisioner 节点(如果需要)。

    # ssh <user-name>@provisioner.<cluster-name>.<domain>
  13. 运行以下命令验证连接网桥是否已正确创建:

    sudo nmcli con show

    您返回的结果类似以下内容:

    NAME

    UUID

    TYPE

    DEVICE

    baremetal

    4d5133a5-8351-4bb9-bfd4-3af264801530

    bridge

    baremetal

    provisioning

    43942805-017f-4d7d-a2c2-7cb3324482ed

    bridge

    provisioning

    virbr0

    d9bca40f-eee1-410b-8879-a2d4bb0465e7

    bridge

    virbr0

    bridge-slave-eno1

    76a8ed50-c7e5-4999-b4f6-6d9014dd0812

    Ethernet

    eno1

    bridge-slave-eno2

    f31c3353-54b7-48de-893a-02d2b34c4736

    Ethernet

    eno2

  14. 通过以下步骤创建 pull-secret.txt 文件:

    vim pull-secret.txt
    1. 在 Web 浏览器中,导航到 Install OpenShift on Bare Metal with user-provisioned infrastructure,再向下滚动到 Downloads 部分。
    2. Copy pull secret
    3. 将内容粘贴到 pull-secret.txt 文件中,并将内容保存到 user-name 用户的主目录中。

您已准备好创建裸机凭证。

1.7.3. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

  1. 您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。如果没有添加 DNS 域,您可以在创建集群时添加它。
  2. 添加 libvirt URI。libvirt URI 适用于您为 bootstrap 节点创建的置备节点。libvirt URI 应该类似以下示例:

    <qemu+ssh>:://<user-name>@<provision-host.com>/system
    • 使用您连接到调配主机上的 libvirt 守护进程的方法替换 qemu+ssh
    • 使用有权在置备主机上创建 bootstrap 节点的用户名替换 user-name
    • provision-host.com 替换为您的调配主机的链接。这可以是 IP 地址或完全限定域名地址。

      如需更多信息,请参阅连接 URI

  3. 为调配主机添加 SSH 已知主机的列表。这个值可以是 IP 地址或完全限定域名地址,但最好使用您在 libvirt URI 值中使用的相同格式。
  4. 仅用于断开连接的安装:使用所需信息完成 Configuration for disconnected installation 子字段:

    • Image registry mirror:此值包含断开连接的 registry 路径。该路径包含所有用于断开连接的安装镜像的主机名、端口和库路径。示例: repository.com:5000/openshift/ocp-release

      该路径会在 install-config.yaml 中创建一个到 Red Hat OpenShift Container Platform 发行镜像的镜像内容源策略映射。例如,repository.com:5000 生成此 imageContentSource 内容:

      imageContentSources:
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-release-nightly
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-release
      - mirrors:
        - registry.example.com:5000/ocp4
        source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
    • Bootstrap OS image:此值包含用于 bootstrap 机器的镜像的 URL。
    • Cluster OS image:此值包含用于 Red Hat OpenShift Container Platform 集群机器的镜像的 URL。
    • Additional trust bundle:此值提供访问镜像 registry 所需的证书文件内容。

      注: 如果您要从断开连接的环境中的一个 hub 部署受管集群,并希望在安装后自动导入它们,使用 YAML 编辑器将镜像内容源策略添加到 install-config.yaml 文件中。以下示例中显示了一个示例:

      imageContentSources:
      - mirrors:
        - registry.example.com:5000/rhacm2
        source: registry.redhat.io/rhacm2
  5. 如果要启用代理,请输入代理信息:

    • HTTP 代理 URL:用作 HTTP 流量的代理的 URL。
    • HTTPS 代理 URL:用于 HTTPS 流量的安全代理 URL。如果没有提供值,则使用相同的值 HTTP Proxy URL,用于 HTTPHTTPS
    • 无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (.) 开始的域名,包含该域中的所有子域。添加星号 (*) 以绕过所有目的地的代理。
    • Additional trust bundle:访问镜像 registry 所需的证书文件内容。
  6. 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
  7. 添加 SSH 私钥SSH 公钥 以便您可以访问集群。您可以使用现有密钥,或使用密钥生成程序创建新密钥。请参阅生成 SSH 私钥并将其添加到代理中,以了解有关如何生成密钥的更多信息。

要创建使用此凭证的集群,您可以完成在裸机上创建集群中的步骤。

您可以在控制台中编辑凭证。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

1.8. 为 Red Hat OpenShift Cluster Manager 创建凭证

添加 OpenShift Cluster Manager 凭证,以便您可以发现集群。

需要的访问权限: Administrator

1.8.1. 先决条件

您需要一个 console.redhat.com 帐户。稍后,您将需要这个值,它可从 console.redhat.com/openshift/token 获取。

1.8.2. 使用控制台管理凭证

您需要添加凭证来发现集群。要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

输入 OpenShift Cluster Manager API 令牌,该令牌可以从 console.redhat.com/openshift/token 获取。

您可以在控制台中编辑凭证。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

如果您的凭证被删除,或者 OpenShift Cluster Manager API 令牌已过期或被撤销,则会删除相关的发现集群。

1.9. 为 Ansible Automation Platform 创建凭证

您需要一个凭证来使用 Red Hat Advanced Cluster Management for Kubernetes 控制台来部署和管理使用 Red Hat Ansible Automation Platform 的 Red Hat OpenShift Container Platform 集群。

需要的访问权限: Edit

注:在创建 Ansible 作业模板前需要完成这个过程,以便在 Red Hat Advanced Cluster Management 集群中启用自动化功能。

1.9.1. 先决条件

创建凭证前必须满足以下先决条件:

  • 已部署 Red Hat Advanced Cluster Management for Kubernetes hub 集群
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群
  • Ansible 登录凭据,其中包括 Ansible Tower 主机名和 OAuth 令牌;请参阅 Ansible Tower 的凭据
  • 允许您安装 hub 集群并使用 Ansible 的帐户权限。了解有关 Ansible 用户的更多信息。

1.9.2. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

您在创建 Ansible 凭据时提供的 Ansible 令牌和主机 URL 会自动更新,以便在您编辑凭据时使用该凭据的自动化。更新复制到任何使用 Ansible 凭据的自动化中,包括与集群生命周期、监管和应用程序管理自动化相关的自动化。这可确保自动化在更新凭证后继续运行。

您可以在控制台中编辑凭证。Ansible 凭据在自动化中自动更新,您在凭据中更新该凭据时使用该凭据。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

1.10. 为内部环境创建凭证

您需要一个凭证来使用 Red Hat Advanced Cluster Management for Kubernetes 控制台在内部环境中部署和管理 Red Hat OpenShift Container Platform 集群。凭证指定用于集群的连接。

需要的访问权限: Edit

1.10.1. 先决条件

创建凭证前需要满足以下先决条件:

  • 已部署的 Red Hat Advanced Cluster Management hub 集群。
  • 可通过互联网访问 Red Hat Advanced Cluster Management for Kubernetes hub 集群,以便它在基础架构环境中创建 Kubernetes 集群。
  • 对于断开连接的环境,您必须配置了一个镜像 registry,您可以在其中复制发行镜像以进行集群创建。如需更多信息,请参阅 OpenShift Container Platform 文档中的用于断开连接的安装的镜像
  • 支持在内部环境中安装集群的帐户权限。

1.10.2. 使用控制台管理凭证

要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。

从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。

  1. 您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。如果没有添加 DNS 域,您可以在创建集群时添加它。
  2. 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。如需有关 pull secret 的更多信息,请参阅使用镜像 pull secret
  3. 选择 Add 来创建您的凭证。

当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。

法律通告

Copyright © 2023 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.