4.6. 修改集群
要使用 API 修改集群定义,请使用 /v2/clusters/{cluster_id} 端点。修改集群资源是添加设置(如更改网络类型或启用用户管理的网络)的常见操作。如需了解在修改集群定义时您可以设置的字段的详情,请参阅 API viewer 中的 v2-cluster-update-params
模型。
您可以从已注册的集群资源中添加或删除 Operator。
要在节点上创建分区,请参阅 OpenShift Container Platform 文档中的 在节点上配置存储。
先决条件
- 您已创建了新的集群资源。
流程
刷新 API 令牌:
$ source refresh-token
修改集群。例如,更改 SSH 密钥:
$ curl https://api.openshift.com/api/assisted-install/v2/clusters/${CLUSTER_ID} \ -X PATCH \ -H "Authorization: Bearer ${API_TOKEN}" \ -H "Content-Type: application/json" \ -d ' { "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZrD4LMkAEeoU2vShhF8VM+cCZtVRgB7tqtsMxms2q3TOJZAgfuqReKYWm+OLOZTD+DO3Hn1pah/mU3u7uJfTUg4wEX0Le8zBu9xJVym0BVmSFkzHfIJVTn6SfZ81NqcalisGWkpmkKXVCdnVAX6RsbHfpGKk9YPQarmRCn5KzkelJK4hrSWpBPjdzkFXaIpf64JBZtew9XVYA3QeXkIcFuq7NBuUH9BonroPEmIXNOa41PUP1IWq3mERNgzHZiuU8Ks/pFuU5HCMvv4qbTOIhiig7vidImHPpqYT/TCkuVi5w0ZZgkkBeLnxWxH0ldrfzgFBYAxnpTU8Ih/4VhG538Ix1hxPaM6cXds2ic71mBbtbSrk+zjtNPaeYk1O7UpcCw4jjHspU/rVV/DY51D5gSiiuaFPBMucnYPgUxy4FMBFfGrmGLIzTKiLzcz0DiSz1jBeTQOX++1nz+KDLBD8CPdi5k4dq7lLkapRk85qdEvgaG5RlHMSPSS3wDrQ51fD8= user@hostname" } ' | jq
4.6.1. 修改 Operator
您可以从之前作为安装的一部分的已注册的集群资源中添加或删除 Operator。这只有在启动 OpenShift Container Platform 安装前才有可能。
您可以为 /v2/clusters/{cluster_id} 端点使用 PATCH 方法来设置所需的 Operator 定义。
先决条件
- 您已刷新了 API 令牌。
-
您已将
CLUSTER_ID
导出为一个环境变量。
流程
运行以下命令来修改 Operator:
$ curl https://api.openshift.com/api/assisted-install/v2/clusters/${CLUSTER_ID} \ -X PATCH \ -H "Authorization: Bearer ${API_TOKEN}" \ -H "Content-Type: application/json" \ -d ' { "olm_operators": [{"name": "mce"}, {"name": "cnv"}], 1 } ' | jq '.id'
- 1
- 为 OpenShift Virtualization 指定
cnv
,为多集群引擎为mce
指定odf
,为 Red Hat OpenShift Data Foundation 指定 odf,为逻辑卷管理器存储指定lvm
。要删除之前安装的 Operator,请从值列表中排除它。要删除所有之前安装的 Operator,请指定一个空数组:"olm_operators": []
。
输出示例
{ <various cluster properties>, "monitored_operators": [ { "cluster_id": "b5259f97-be09-430e-b5eb-d78420ee509a", "name": "console", "operator_type": "builtin", "status_updated_at": "0001-01-01T00:00:00.000Z", "timeout_seconds": 3600 }, { "cluster_id": "b5259f97-be09-430e-b5eb-d78420ee509a", "name": "cvo", "operator_type": "builtin", "status_updated_at": "0001-01-01T00:00:00.000Z", "timeout_seconds": 3600 }, { "cluster_id": "b5259f97-be09-430e-b5eb-d78420ee509a", "name": "mce", "namespace": "multicluster-engine", "operator_type": "olm", "status_updated_at": "0001-01-01T00:00:00.000Z", "subscription_name": "multicluster-engine", "timeout_seconds": 3600 }, { "cluster_id": "b5259f97-be09-430e-b5eb-d78420ee509a", "name": "cnv", "namespace": "openshift-cnv", "operator_type": "olm", "status_updated_at": "0001-01-01T00:00:00.000Z", "subscription_name": "hco-operatorhub", "timeout_seconds": 3600 }, { "cluster_id": "b5259f97-be09-430e-b5eb-d78420ee509a", "name": "lvm", "namespace": "openshift-local-storage", "operator_type": "olm", "status_updated_at": "0001-01-01T00:00:00.000Z", "subscription_name": "local-storage-operator", "timeout_seconds": 4200 } ], <more cluster properties>
注意输出是新集群状态的描述。输出中的
monitored_operators
属性包含两种类型的 Operator:-
"operator_type": "builtin"
:此类型的 Operator 是 OpenShift Container Platform 不可分割的一部分。 -
"operator_type": "olm"
:此类型的 Operator 被用户手动或自动添加为一个依赖项。在本例中,LVM Storage Operator 被自动添加为 OpenShift Virtualization 的一个依赖项。