凭证
了解更多信息,了解如何创建和管理集群凭证。
摘要
第 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 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。请参见以下步骤:
- 为您的 AWS 帐户添加 AWS 访问密钥 ID。登录 AWS 以查找您的 ID。
- 在 Red Hat Advanced Cluster Management 中,为您的新的 AWS Secret Access Key 提供内容。
如果要启用代理,请输入代理信息:
-
HTTP 代理 URL:用作
HTTP
流量的代理的 URL。 -
HTTPS 代理 URL:用于
HTTPS
流量的安全代理 URL。如果没有提供值,则使用相同的值HTTP Proxy URL
,用于HTTP
和HTTPS
。 -
无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (
.
) 开始的域名,包含该域中的所有子域。添加星号 (*
) 以绕过所有目的地的代理。 - Additional trust bundle:访问镜像 registry 所需的证书文件内容。
-
HTTP 代理 URL:用作
- 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
- 添加可让您连接到集群的 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 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。
- 可选:为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。
-
选择集群的环境是
AzurePublicCloud
还是AzureUSrianCloud
。Azure 政府环境的设置有所不同,以确保正确设置了此设置。 - 为您的 Azure 帐户添加 基本域资源组名称。此条目是您使用 Azure 帐户创建的资源名称。您可以在 Azure 界面中选择 Home > DNS Zones 来查找您的基域资源组名称。请参阅使用 Azure CLI 创建 Azure 服务主体,以查找您的基域资源组名称。
在 Red Hat Advanced Cluster Management 中,为您的 客户端 ID 提供内容。当您使用以下命令创建服务主体时,这个值作为
appId
属性被生成:az ad sp create-for-rbac --role Contributor --name <service_principal>
将 service_principal 替换为您的服务主体名。
添加您的 客户端 Secret。当您使用以下命令创建服务主体时,这个值作为
password
属性被生成:az ad sp create-for-rbac --role Contributor --name <service_principal>
将 service_principal 替换为您的服务主体名。
添加您的 订阅 ID。这个值是以下命令输出中的
id
属性:az account show
添加您的租户 ID。这个值是以下命令输出中的
tenantId
属性:az account show
如果要启用代理,请输入代理信息:
-
HTTP 代理 URL:用作
HTTP
流量的代理的 URL。 -
HTTPS 代理 URL:用于
HTTPS
流量的安全代理 URL。如果没有提供值,则使用相同的值HTTP Proxy URL
,用于HTTP
和HTTPS
。 -
无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (
.
) 开始的域名,包含该域中的所有子域。添加星号 (*
) 以绕过所有目的地的代理。 - Additional trust bundle:访问镜像 registry 所需的证书文件内容。
-
HTTP 代理 URL:用作
- 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
- 添加用于连接到集群的 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. 先决条件
创建凭证前必须满足以下先决条件:
1.3.2. 使用控制台管理凭证
要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。
从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便和安全起见,创建一个命名空间,专门用于托管您的凭证。
您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。请参见以下步骤:
- 为您的 GCP 帐户添加 Google Cloud Platform 项目 ID。登录到 GCP 以检索您的设置。
- 添加 Google Cloud Platform 服务帐户 JSON 密钥。请参阅(https://cloud.google.com/iam/docs/creating-managing-service-accounts)创建服务帐户 JSON 密钥。按照 GCP 控制台的步骤进行操作。
- 在 Red Hat Advanced Cluster Management 中,为您的新的 Google Cloud Platform 服务帐户 JSON 密钥提供内容。
如果要启用代理,请输入代理信息:
-
HTTP 代理 URL:用作
HTTP
流量的代理的 URL。 -
HTTPS 代理 URL:用于
HTTPS
流量的安全代理 URL。如果没有提供值,则使用相同的值HTTP Proxy URL
,用于HTTP
和HTTPS
。 -
无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (
.
) 开始的域名,包含该域中的所有子域。添加星号 (*
) 以绕过所有目的地的代理。 - Additional trust bundle:访问镜像 registry 所需的证书文件内容。
-
HTTP 代理 URL:用作
- 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
- 添加 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 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。请参见以下步骤:
- 添加 VMware vCenter 服务器完全限定主机名或 IP 地址。该值必须在 vCenter 服务器 root CA 证书中定义。如果可能,请使用完全限定主机名。
- 添加 VMware vCenter 用户名。
- 添加 VMware vCenter 密码。
添加 VMware vCenter root CA 证书。
-
您可以使用 VMware vCenter 服务器的证书在
download.zip
软件包中下载证书,地址为https://<vCenter_address>/certs/download.zip
。将 vCenter_address 替换为 vCenter 服务器的地址。 -
解包
download.zip
。 使用
certs/<platform>
目录中有.0
扩展名的证书。提示: 您可以使用ls certs/<platform>
命令列出平台的所有可用证书。将
<platform>
替换为您的平台的缩写:lin
、mac
或win
.例如:
certs/lin/3a343545.0
最佳实践:使用以下命令将带有
.0
扩展的多个证书链接在一起:cat certs/lin/*.0 > ca.crt
-
您可以使用 VMware vCenter 服务器的证书在
- 添加 VMware vSphere 集群名称。
- 添加 VMware vSphere 数据中心。
- 添加 VMware vSphere 默认数据存储。
仅用于断开连接的安装:使用所需信息完成 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
如果要启用代理,请输入代理信息:
-
HTTP 代理 URL:用作
HTTP
流量的代理的 URL。 -
HTTPS 代理 URL:用于
HTTPS
流量的安全代理 URL。如果没有提供值,则使用相同的值HTTP Proxy URL
,用于HTTP
和HTTPS
。 -
无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (
.
) 开始的域名,包含该域中的所有子域。添加星号 (*
) 以绕过所有目的地的代理。 - Additional trust bundle:访问镜像 registry 所需的证书文件内容。
-
HTTP 代理 URL:用作
- 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
添加可让您连接到集群的 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 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。
-
添加 Red Hat OpenStack Platform
cloud.yaml
文件内容。clouds.yaml
文件的内容(包括密码)提供了连接到 Red Hat OpenStack Platform 服务器所需的信息。文件内容必须包含密码,它是一个紧接在username
后面的一个新行。 -
添加您的 Red Hat OpenStack Platform 名称。此条目是在
clouds.yaml
的 cloud 部分中指定的名称,用于建立与 Red Hat OpenStack Platform 服务器的通信。 - 您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。
仅用于断开连接的安装:使用所需信息完成 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
如果要启用代理,请输入代理信息:
-
HTTP 代理 URL:用作
HTTP
流量的代理的 URL。 -
HTTPS 代理 URL:用于
HTTPS
流量的安全代理 URL。如果没有提供值,则使用相同的值HTTP Proxy URL
,用于HTTP
和HTTPS
。 -
无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (
.
) 开始的域名,包含该域中的所有子域。添加星号 (*
) 以绕过所有目的地的代理。 - Additional trust bundle:访问镜像 registry 所需的证书文件内容。
-
HTTP 代理 URL:用作
- 输入 Red Hat OpenShift Pull Secret。您可以从 Pull secret 下载 pull secret。
- 添加可让您连接到集群的 SSH 私钥和 SSH 公钥。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。如需更多信息,请参阅为集群节点 SSH 访问生成密钥对。
- 点 Create。
- 查看新凭据信息,然后单击 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 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。
- 为新凭证添加基本信息。当使用此凭证创建集群时,您可以选择添加基本 DNS 域,该域会在正确的字段中自动填充。如果您没有将其添加到凭证中,您可以在创建集群时添加它。
- 为 Red Hat Virtualization 环境添加所需信息。
如果要启用代理,请输入代理信息:
-
HTTP Proxy URL:应该用作
HTTP
流量的代理的 URL。 -
HTTPS Proxy URL:在使用
HTTPS
流量时应使用的安全代理 URL。如果没有提供值,则使用相同的值HTTP Proxy URL
,用于HTTP
和HTTPS
。 -
无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (
.
) 开始的域名,包含该域中的所有子域。添加星号 (*
) 以绕过所有目的地的代理。
-
HTTP Proxy URL:应该用作
- 输入 Red Hat OpenShift Container Platform pull secret。您可以从 Pull secret 下载 pull secret。
- 添加可让您连接到集群的 SSH 私钥和 SSH 公钥。您可以使用现有密钥对,或使用密钥生成程序创建新密钥对。如需更多信息,请参阅为集群节点 SSH 访问生成密钥对。
- 查看新凭据信息,然后单击 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)主机:
-
使用
SSH
登录 provisioner 节点。 运行以下命令,创建非 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>
输入以下命令为新用户创建 SSH 密钥:
su - <user-name> -c "ssh-keygen -t rsa -f /home/<user-name>/.ssh/id_rsa -N ''"
使用新创建的用户登陆到 provisioner 节点。
su - <user-name> [user-name@provisioner ~]$
输入以下命令使用 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。
运行以下命令来安装所需的软件包:
sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
修改用户以便为新创建的用户中添加
libvirt
组。sudo usermod --append --groups libvirt <user-name>
输入以下命令重启
firewalld
并启用http
服务:sudo systemctl start firewalld sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --reload
输入以下命令启动并启用
libvirtd
服务:sudo systemctl enable libvirtd --now
输入以下命令创建默认存储池并启动它:
sudo virsh pool-define-as --name default --type dir --target /var/lib/libvirt/images sudo virsh pool-start default sudo virsh pool-autostart default
配置网络:
运行以下命令,将
PUB_CONN
的值导出到baremetal
网络的 NIC 的名称:export PUB_CONN=<baremetal-nic-name>
配置
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 连接可能会断开。
如果要使用可选的置备网络部署,请完成以下步骤:
运行以下命令导出
provisioning
网络 NIC 名称:export PROV_CONN=<prov-nic-name>
配置 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 协议。
在 provisioning 网络连接上配置 IPv4 地址:
nmcli connection modify provisioning ipv4.addresses 172.22.0.254/24 ipv4.method manual
使用
ssh
重新连接到 provisioner 节点(如果需要)。# ssh <user-name>@provisioner.<cluster-name>.<domain>
运行以下命令验证连接网桥是否已正确创建:
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
通过以下步骤创建
pull-secret.txt
文件:vim pull-secret.txt
- 在 Web 浏览器中,导航到 Install OpenShift on Bare Metal with user-provisioned infrastructure,再向下滚动到 Downloads 部分。
- 点 Copy pull secret。
-
将内容粘贴到
pull-secret.txt
文件中,并将内容保存到user-name
用户的主目录中。
您已准备好创建裸机凭证。
1.7.3. 使用控制台管理凭证
要从 Red Hat Advanced Cluster Management for Kubernetes 控制台创建凭证,请完成控制台中的步骤。
从导航菜单开始。单击 Credentials 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。
- 您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。如果没有添加 DNS 域,您可以在创建集群时添加它。
添加 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。
-
使用您连接到调配主机上的 libvirt 守护进程的方法替换
- 为调配主机添加 SSH 已知主机的列表。这个值可以是 IP 地址或完全限定域名地址,但最好使用您在 libvirt URI 值中使用的相同格式。
仅用于断开连接的安装:使用所需信息完成 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
如果要启用代理,请输入代理信息:
-
HTTP 代理 URL:用作
HTTP
流量的代理的 URL。 -
HTTPS 代理 URL:用于
HTTPS
流量的安全代理 URL。如果没有提供值,则使用相同的值HTTP Proxy URL
,用于HTTP
和HTTPS
。 -
无代理域:应当绕过代理的以逗号分隔的域列表。使用一个句点 (
.
) 开始的域名,包含该域中的所有子域。添加星号 (*
) 以绕过所有目的地的代理。 - Additional trust bundle:访问镜像 registry 所需的证书文件内容。
-
HTTP 代理 URL:用作
- 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。
- 添加 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 以从现有凭证选项中进行选择。提示: 为方便起见,同时为了提高安全性,创建一个命名空间,专门用于托管您的凭证。
- 您可以选择为您的凭证添加基本 DNS 域。如果您将基本 DNS 域添加到凭证中,则在使用此凭证创建集群时,会自动填充到正确的字段中。如果没有添加 DNS 域,您可以在创建集群时添加它。
- 输入您的 Red Hat OpenShift pull secret。您可以从 Pull secret 下载 pull secret。如需有关 pull secret 的更多信息,请参阅使用镜像 pull secret。
- 选择 Add 来创建您的凭证。
当您不再管理使用凭证的集群时,请删除凭证来保护凭证中的信息。选择要批量删除的 Actions,或者选择您要删除的凭证旁边的选项菜单。