This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.10. 轮转或删除云供应商凭证
安装 OpenShift Container Platform 后,一些机构需要轮转或删除初始安装过程中使用的云供应商凭证。
要允许集群使用新凭证,您必须更新 Cloud Credential Operator(CCO)用来管理云供应商凭证的 secret。
3.10.1. 手动轮转云供应商凭证
如果因为某种原因更改了云供应商凭证,您必须手动更新 Cloud Credential Operator(CCO)用来管理云供应商凭证的 secret。
轮转云凭证的过程取决于 CCO 配置使用的模式。在为使用 mint 模式的集群轮转凭证后,您必须手动删除由删除凭证创建的组件凭证。
先决条件
您的集群会在支持使用您要使用的 CCO 模式手动轮转云凭证的平台上安装:
- 对于 mint 模式,支持 Amazon Web Services(AWS)、Azure 和 Google Cloud Platform(GCP)。
- 对于 passthrough 模式,支持 AWS、Azure、GCP、Red Hat OpenStack Platform(RHOSP)、Red Hat Virtualization(RHV)和 VMware vSphere。
- 您使用 OpenShift Container Platform 版本 4.6.18 或更高版本。
- 您已更改了用于与云供应商接口的凭证。
- 新凭证有足够的权限来在集群中使用 CCO 模式。
流程
-
在 web 控制台的 Administrator 视角中,导航到 Workloads
Secrets。 在 Secrets 页面的表中,找到您的云供应商的 root secret。
平台 Secret 名称 AWS
aws-creds
Azure
azure-credentials
GCP
gcp-credentials
RHOSP
openstack-credentials
RHV
ovirt-credentials
vSphere
vsphere-creds
-
点与 secret 相同的行
中的 Options 菜单,然后选择 Edit Secret。
- 记录 Value 字段的内容。您可以使用这些信息验证在更新凭证后该值是否不同。
- 使用云供应商的新身份验证信息更新 Value 字段的文本,然后点 Save。
如果集群的 CCO 配置为使用 mint 模式,请删除各个
CredentialsRequest
对象引用的每个组件 secret。-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform CLI。 获取所有引用的组件 secret 的名称和命名空间:
oc -n openshift-cloud-credential-operator get CredentialsRequest -o json | jq -r '.items[] | select (.spec.providerSpec.kind=="<provider_spec>") | .spec.secretRef'
$ oc -n openshift-cloud-credential-operator get CredentialsRequest -o json | jq -r '.items[] | select (.spec.providerSpec.kind=="<provider_spec>") | .spec.secretRef'
Copy to Clipboard Copied! 其中
<provider_spec>
是您的云供应商的对应值:平台 <provider_spec>
AWS
AWSProviderSpec
Azure
AzureProviderSpec
GCP
GCPProviderSpec
AWS 输出的部分示例
{ "name": "ebs-cloud-credentials", "namespace": "openshift-cluster-csi-drivers" } { "name": "cloud-credential-operator-iam-ro-creds", "namespace": "openshift-cloud-credential-operator" } ...
{ "name": "ebs-cloud-credentials", "namespace": "openshift-cluster-csi-drivers" } { "name": "cloud-credential-operator-iam-ro-creds", "namespace": "openshift-cloud-credential-operator" } ...
Copy to Clipboard Copied! 删除每个引用的组件 secret:
oc delete secret <secret_name> -n <secret_namespace>
$ oc delete secret <secret_name> -n <secret_namespace>
Copy to Clipboard Copied! 其中,
<secret_name>
是 secret 的名称,<secret_namespace>
是包括 secret 的命名空间。删除 AWS secret 示例
oc delete secret ebs-cloud-credentials -n openshift-cluster-csi-drivers
$ oc delete secret ebs-cloud-credentials -n openshift-cluster-csi-drivers
Copy to Clipboard Copied! 您不需要从供应商控制台手动删除凭证。删除引用的组件 secret 将导致 CCO 从平台中删除现有凭证并创建新凭证。
-
以具有
验证凭证是否已更改:
-
在 web 控制台的 Administrator 视角中,导航到 Workloads
Secrets。 - 验证 Value 字段的内容与之前记录的信息不同。
-
在 web 控制台的 Administrator 视角中,导航到 Workloads