1.2. ClusterInstance API
1.2.1. 概述
本文档介绍了与 Red Hat Advanced Cluster Management for Kubernetes 的 ClusterInstance 资源相关的 API 信息。ClusterInstance 资源有 4 个可用的请求:create、query、delete 和 update。
1.2.1.1. 版本信息
版本 : 2.12.0
1.2.1.2. URI scheme
BasePath : /kubernetes/apis
Schemes : HTTPS
1.2.1.3. Tags
- SiteConfig.open-cluster-management.io : 创建和管理集群
1.2.2. 路径
1.2.2.1. 查询所有集群
GET /siteconfig.open-cluster-management.io/v1alpha1/{clusterinstance_namespace}/{clusterinstance_name}
1.2.2.1.1. 描述
查询集群以获取更多详细信息。
1.2.2.1.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
clusterinstance_namespace | 要查询的 ClusterInstance 的命名空间。 | 字符串 |
路径 |
clusterinstance_name | 要查询的 ClusterInstance 的名称。 | 字符串 |
1.2.2.1.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.2.2.1.4. 使用
-
clusterinstance/json
1.2.2.1.5. Tags
- siteconfig.open-cluster-management.io
1.2.2.2. 创建安装清单
POST /siteconfig.open-cluster-management.io/v1alpha1/<clusterinstance_namespace>/<clusterinstance_name>
1.2.2.2.1. 描述
使用 SiteConfig operator 创建安装清单,供您选择安装方法。
1.2.2.2.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
Body |
body | 描述要创建的安装清单的参数。 | |
路径 |
clusterinstance_namespace | 要使用的 ClusterInstance 的命名空间。 | 字符串 |
路径 |
clusterinstance_name | 要使用的 ClusterInstance 的名称。 | 字符串 |
1.2.2.2.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.2.2.2.4. 使用
-
clusterinstance/json
1.2.2.2.5. Tags
- siteconfig.open-cluster-management.io
1.2.2.2.6. HTTP 请求示例
1.2.2.2.6.1. 请求正文
{ "apiVersion": "siteconfig.open-cluster-management.io/v1alpha1", "kind": "ClusterInstance", "metadata": { "name": "site-sno-du-1", "namespace": "site-sno-du-1" }, "spec": { "baseDomain": "example.com", "pullSecretRef": { "name": "pullSecretName" }, "sshPublicKey": "ssh-rsa ", "clusterName": "site-sno-du-1", "proxy": { "noProxys": "foobar" }, "caBundleRef": { "name": "my-bundle-ref" }, "extraManifestsRefs": [ { "name": "foobar1" }, { "name": "foobar2" } ], "networkType": "OVNKubernetes", "installConfigOverrides": "{\"capabilities\":{\"baselineCapabilitySet\": \"None\", \"additionalEnabledCapabilities\": [ \"marketplace\", \"NodeTuning\" ] }}", "extraLabels": { "ManagedCluster": { "group-du-sno": "test", "common": "true", "sites": "site-sno-du-1" } }, "clusterNetwork": [ { "cidr": "203.0.113.0/24", "hostPrefix": 23 } ], "machineNetwork": [ { "cidr": "203.0.113.0/24" } ], "serviceNetwork": [ { "cidr": "203.0.113.0/24" } ], "additionalNTPSources": [ "NTP.server1", "198.51.100.100" ], "ignitionConfigOverride": "{\"ignition\": {\"version\": \"3.1.0\"}, \"storage\": {\"files\": [{\"path\": \"/etc/containers/registries.conf\", \"overwrite\": true, \"contents\": {\"source\": \"data:text/plain;base64,foobar==\"}}]}}", "diskEncryption": { "type": "nbde", "tang": [ { "url": "http://192.0.2.5:7500", "thumbprint": "1234567890" } ] }, "clusterType": "SNO", "templateRefs": [ { "name": "ai-cluster-templates-v1", "namespace": "rhacm" } ], "nodes": [ { "hostName": "node1", "role": "master", "templateRefs": [ { "name": "ai-node-templates-v1", "namespace": "rhacm" } ], "ironicInspect": "", "bmcAddress": "idrac-virtualmedia+https://203.0.113.100/redfish/v1/Systems/System.Embedded.1", "bmcCredentialsName": { "name": "<bmcCredentials_secre_name>" }, "bootMACAddress": "00:00:5E:00:53:00", "bootMode": "UEFI", "installerArgs": "[\"--append-karg\", \"nameserver=8.8.8.8\", \"-n\"]", "ignitionConfigOverride": "{\"ignition\": {\"version\": \"3.1.0\"}, \"storage\": {\"files\": [{\"path\": \"/etc/containers/registries.conf\", \"overwrite\": true, \"contents\": {\"source\": \"data:text/plain;base64,foobar==\"}}]}}", "nodeNetwork": { "interfaces": [ { "name": "eno1", "macAddress": "00:00:5E:00:53:01" } ], "config": { "interfaces": [ { "name": "eno1", "type": "ethernet", "ipv4": { "enabled": true, "dhcp": false, "address": [ { "ip": "192.0.2.1", "prefix-length": 24 } ] }, "ipv6": { "enabled": true, "dhcp": false, "address": [ { "ip": "2001:0DB8:0:0:0:0:0:1", "prefix-length": 32 } ] } } ], "dns-resolver": { "config": { "server": [ "198.51.100.1" ] } }, "routes": { "config": [ { "destination": "0.0.0.0/0", "next-hop-address": "203.0.113.255", "next-hop-interface": "eno1", "table-id": 254 } ] } } } } ] } }
1.2.2.3. 查询单个集群
GET /siteconfig.open-cluster-management.io/v1alpha1/<clusterinstance_namespace>/<clusterinstance_name>
1.2.2.3.1. 描述
查询单个集群以获取更多详细信息。
1.2.2.3.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
clusterinstance_namespace | 要查询的 ClusterInstance 的命名空间。 | 字符串 |
路径 |
clusterinstance_name | 要查询的 ClusterInstance 的名称。 | 字符串 |
1.2.2.3.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.2.2.3.4. Tags
- siteconfig.open-cluster-management.io
1.2.3. 定义
1.2.3.1. ClusterInstance
重要: 包含字段仅与特定的安装流相关。通过检查相关文档,验证适用于您选择的安装方法的字段。有关辅助安装程序和基于镜像的安装,请参阅以下文档:
Name | 描述 | 模式 |
---|---|---|
apiVersion |
| 字符串 |
kind | 代表 REST 资源的字符串值。 | 字符串 |
metadata |
| 对象 |
spec |
| |
status |
| Status 对象 |
spec
Name | 描述 | 模式 |
---|---|---|
additionalNTPSources | 指定需要添加到所有集群主机的 NTP 源。它们被添加到任何通过其他方法配置的 NTP 源中。 | 数组 |
baseDomain | 指定用于部署集群的基域。 | 字符串 |
caBundleRef |
引用包含主机可信证书捆绑包的 | 字符串 |
clusterName | 指定集群的名称。 | 字符串 |
clusterNetwork | 指定 pod 的 IP 地址池列表。 | 数组 |
clusterType | 指定集群类型。支持以下值:
| 字符串 |
cpuPartitioningMode |
决定在安装时为 CPU 工作负载分区设置的集群。通过将 | 字符串 |
diskEncryption | 为集群启用或禁用磁盘加密。 | 对象 |
extraAnnotations |
使用以下格式指定要应用到呈现的模板的额外集群级别注解: extraAnnotations: ClusterDeployment: myClusterAnnotation: success | 对象 |
extraLabels |
使用以下格式指定要应用到呈现的模板的额外集群级别标签: extraLabels: ManagedCluster: common: "true" label-a : "value-a" | 对象 |
extraManifestsRefs |
指定包含要应用到集群的额外清单的 | 数组 |
holdInstallation |
设置为 | bool |
ignitionConfigOverride |
指定用户覆盖初始 Ignition 配置。 | 字符串 |
installConfigOverrides | 定义安装配置参数。 | 字符串 |
machineNetwork | 指定机器的 IP 地址池列表。 | 数组 |
networkType |
指定要安装的 Container Network Interface (CNI)插件。IPv4 或单节点 OpenShift 集群的默认值为 | 字符串 |
platformType | 定义您要安装的特定平台的名称。支持以下值:
| 字符串 |
代理 | 定义用于集群安装配置的代理设置。 | 对象 |
pruneManifests |
通过指定 | 数组 |
pullSecretRef |
配置 | 对象 |
serviceNetwork | 指定服务的 IP 地址池列表。 | 数组 |
sshPublicKey | 指定提供实例访问权限的公共 Secure Shell (SSH)密钥。此密钥添加到主机以允许 SSH 访问。 | 字符串 |
需要 节点 | 指定每个节点的配置参数。 | nodes 数组 |
templateRefs |
指定对集群级别模板的引用列表。集群级模板由一个 | 数组 |
节点
Name | 描述 | 模式 |
---|---|---|
automatedCleaningMode |
将值设为 | 字符串 |
bmcAddress | 用于访问主机的 BMC 地址。适用于所有集群类型。有关 BMC 寻址的更多信息,请参阅附加资源中的 BMC 地址。注: 在边缘 Telco 用例中,只有虚拟介质才支持与 GitOps ZTP 搭配使用。 | 字符串 |
bmcCredentialsName |
配置使用主机 BMC 凭证单独创建的 | 字符串 |
bootMACAddress |
指定 PXE 引导的 MAC 地址。 | 字符串 |
bootMode |
将主机的引导模式设置为
| 字符串 |
extraAnnotations |
使用以下格式指定要应用到呈现的模板的额外节点级别注解: extraAnnotations: BareMetalHost: myNodeAnnotation: success | 对象 |
extraLabels |
指定要应用到渲染的模板的额外节点级别标签。 extraLabels: ManagedCluster: common: "true" label-a : "value-a" | 对象 |
hostName | 定义主机名。 | 字符串 |
installerArgs | 指定主机的 :op-system-first: 安装程序参数的用户覆盖。 | 字符串 |
ignitionConfigOverride | 指定用户覆盖初始 Ignition 配置。使用此字段为持久性存储分配分区。将磁盘 ID 和大小调整为特定的硬件。 | 字符串 |
ironicInspect | 指定在注册裸机主机时是否运行自动内省。 | 字符串 |
nodeLabels | 在受管集群中为节点指定自定义节点标签。这些是用户不由任何 Red Hat Advanced Cluster Management 组件使用的额外标签。添加自定义节点标签时,可以关联到自定义机器配置池,该池引用该标签的特定配置。在安装过程中添加自定义节点标签使部署过程更高效,并防止在安装完成后进行额外的重启。
注: 在 | 对象 |
nodeNetwork | 为具有静态网络的节点配置网络设置。 | 对象 |
pruneManifests |
通过指定 | 数组 |
角色 |
配置节点的角色,如 | 字符串 |
rootDeviceHints |
指定用于部署的设备。建议在重启后保持标识符稳定。例如, | 对象 |
templateRefs |
指定对节点级别模板的引用列表。节点级别模板由一个 | 数组 |
status
Name | 描述 | 模式 |
---|---|---|
conditions |
列出与 | conditions 数组 |
deploymentConditions |
列出与 | |
manifestsRendered | 列出已呈现的清单及其状态。 | 数组 |
observedGeneration |
跟踪观察到的 | 整数 |
conditions
类型 | 描述 |
---|---|
ClusterInstanceValidated |
表示 SiteConfig operator 验证 |
RenderedTemplates | 表示 SiteConfig operator 成功验证引用的 Golang 集群模板。 |
RenderedTemplatesValidated | 表示 SiteConfig 操作器呈现安装清单,并且空运行成功。 |
RenderedTemplatesApplied | 表示 SiteConfig operator 创建安装清单,并且底层 Operator 使用它们。 |
已置备 | 表示底层 Operator 正在置备集群。 |
deploymentConditions
类型 | 描述 |
---|---|
ClusterInstallRequirementsMet | 表示安装可以启动。 |
ClusterInstallCompleted | 表示集群安装成功。 |
ClusterInstallFailed | 表示集群安装失败。 |
ClusterInstallStopped | 表示集群安装已停止。 |
其他资源