IBM Cloud Kubernetes Service GraphQL API 参考

IBM Cloud Kubernetes Service GraphQL API 可通过 https://containers.cloud.ibm.com/graphql 访问。 使用此 API 通过编程方式管理 Satellite 连接器、Kubernetes 集群以及裸机工作节点。

本页面是根据实时模式自动生成的。

查询

查询会在不修改任何资源的情况下检索数据。 向 https://containers.cloud.ibm.com/graphql 发送一个 POST 请求,并在请求正文中包含您的查询内容。

node

根据给定的ID查找 Node。 使用片段来选择其他字段。

node 的返回值和参数
类型 名称 描述
返回项 Node
自变量 id (ID!) (必填) 全局唯一的节点标识符。

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "query node($id: ID!) {\n  node(id: $id) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "id": "abc123"
  }
}'

示例响应

{
  "data": {
    "node": "<Node>"
  }
}

satelliteConnectors

列出您有权访问的 Satellite 连接器。

返回值和参数为 satelliteConnectors
类型 名称 描述
返回项 SatelliteConnectorConnection
自变量 after (String) 返回此游标之后的 Satellite 连接器。
自变量 first (Int) 返回前 N 个 Satellite 连接器。
自变量 last (Int) 返回最后 N 个 Satellite 连接器。
自变量 before (String) 返回该游标之前的 Satellite 连接器。

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "query satelliteConnectors($after: String, $first: Int, $last: Int, $before: String) {\n  satelliteConnectors(after: $after, first: $first, last: $last, before: $before) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "after": "example-value",
    "first": 0,
    "last": 0,
    "before": "example-value"
  }
}'

示例响应

{
  "data": {
    "satelliteConnectors": {
      "edges": [
        {
          "cursor": "example-value",
          "node": {
            "createdDate": "2025-01-01T00:00:00Z",
            "crn": "<CloudResourceName>",
            "id": "abc123",
            "name": "example-value",
            "region": {
              "displayName": "...",
              "id": "...",
              "name": "..."
            },
            "resourceGroup": {
              "externalID": "...",
              "id": "...",
              "name": "..."
            },
            "state": "CREATED"
          }
        }
      ],
      "pageInfo": {
        "endCursor": "example-value",
        "hasNextPage": true,
        "hasPreviousPage": true,
        "startCursor": "example-value"
      }
    }
  }
}

突变

变体用于创建、更新或删除资源。 每次突变都需要在 Authorization 标头中包含一个IAM承载令牌。

addVirtualNetworkInterfaceToBareMetalNode

向裸机 Kubernetes 工作节点添加一个虚拟网络接口(VNI)。

返回值和参数 addVirtualNetworkInterfaceToBareMetalNode
类型 名称 描述
返回项 AddVirtualNetworkInterfaceToBareMetalNodePayload
自变量 input (AddVirtualNetworkInterfaceToBareMetalNodeInput!) (必填) 将 VNI 添加到裸机节点的输入参数。

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "mutation addVirtualNetworkInterfaceToBareMetalNode($input: AddVirtualNetworkInterfaceToBareMetalNodeInput!) {\n  addVirtualNetworkInterfaceToBareMetalNode(input: $input) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "input": "<AddVirtualNetworkInterfaceToBareMetalNodeInput>"
  }
}'

示例响应

{
  "data": {
    "addVirtualNetworkInterfaceToBareMetalNode": {
      "networkAttachment": "<NetworkAttachment>"
    }
  }
}

createSatelliteConnector

创建 Satellite 连接器。

返回值和参数 createSatelliteConnector
类型 名称 描述
返回项 CreateSatelliteConnectorPayload
自变量 input (CreateSatelliteConnectorInput)

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "mutation createSatelliteConnector($input: CreateSatelliteConnectorInput) {\n  createSatelliteConnector(input: $input) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "input": "<CreateSatelliteConnectorInput>"
  }
}'

示例响应

{
  "data": {
    "createSatelliteConnector": {
      "satelliteConnector": {
        "createdDate": "2025-01-01T00:00:00Z",
        "crn": "<CloudResourceName>",
        "id": "abc123",
        "name": "example-value",
        "region": {
          "displayName": "example-value",
          "id": "abc123",
          "name": "example-value"
        },
        "resourceGroup": {
          "externalID": "example-value",
          "id": "abc123",
          "name": "example-value"
        },
        "state": "CREATED"
      }
    }
  }
}

reinitializeKubernetesNode

重新初始化一个 Kubernetes 节点。 目前不支持在 VPC 虚拟服务器实例上使用。

返回值和参数为 reinitializeKubernetesNode
类型 名称 描述
返回项 ReinitializeKubernetesNodePayload
自变量 input (ReinitializeKubernetesNodeInput)

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "mutation reinitializeKubernetesNode($input: ReinitializeKubernetesNodeInput) {\n  reinitializeKubernetesNode(input: $input) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "input": "<ReinitializeKubernetesNodeInput>"
  }
}'

示例响应

{
  "data": {
    "reinitializeKubernetesNode": {
      "node": "<KubernetesNode>"
    }
  }
}

removeSatelliteConnector

删除一个 Satellite 连接器。

返回值和参数:removeSatelliteConnector
类型 名称 描述
返回项 RemoveSatelliteConnectorPayload
自变量 input (RemoveSatelliteConnectorInput)

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "mutation removeSatelliteConnector($input: RemoveSatelliteConnectorInput) {\n  removeSatelliteConnector(input: $input) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "input": "<RemoveSatelliteConnectorInput>"
  }
}'

示例响应

{
  "data": {
    "removeSatelliteConnector": {
      "satelliteConnector": {
        "createdDate": "2025-01-01T00:00:00Z",
        "crn": "<CloudResourceName>",
        "id": "abc123",
        "name": "example-value",
        "region": {
          "displayName": "example-value",
          "id": "abc123",
          "name": "example-value"
        },
        "resourceGroup": {
          "externalID": "example-value",
          "id": "abc123",
          "name": "example-value"
        },
        "state": "CREATED"
      }
    }
  }
}

removeVirtualNetworkInterfaceFromNode

从 Kubernetes 工作节点中移除一个虚拟网络接口。

返回值和参数:removeVirtualNetworkInterfaceFromNode
类型 名称 描述
返回项 RemoveVirtualNetworkInterfaceFromNodePayload
自变量 input (RemoveVirtualNetworkInterfaceFromNodeInput!) (必填) 从节点中移除 VNI 的输入参数。

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "mutation removeVirtualNetworkInterfaceFromNode($input: RemoveVirtualNetworkInterfaceFromNodeInput!) {\n  removeVirtualNetworkInterfaceFromNode(input: $input) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "input": "<RemoveVirtualNetworkInterfaceFromNodeInput>"
  }
}'

示例响应

{
  "data": {
    "removeVirtualNetworkInterfaceFromNode": {
      "cluster": {
        "id": "abc123",
        "name": "example-value",
        "networkAttachments": {
          "edges": [
            {
              "cursor": "...",
              "node": "..."
            }
          ],
          "pageInfo": {
            "endCursor": "...",
            "hasNextPage": "...",
            "hasPreviousPage": "...",
            "startCursor": "..."
          }
        },
        "region": {
          "displayName": "example-value",
          "id": "abc123",
          "name": "example-value"
        }
      },
      "node": "<NetworkAttachable>",
      "virtualNetworkInterface": "<VirtualNetworkInterface>"
    }
  }
}

updateSatelliteLocation

更新 Satellite 的位置。

返回值和参数为 updateSatelliteLocation
类型 名称 描述
返回项 UpdateSatelliteLocationPayload
自变量 input (UpdateSatelliteLocationInput)

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "mutation updateSatelliteLocation($input: UpdateSatelliteLocationInput) {\n  updateSatelliteLocation(input: $input) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "input": "<UpdateSatelliteLocationInput>"
  }
}'

示例响应

{
  "data": {
    "updateSatelliteLocation": {
      "satelliteLocation": {
        "description": "example-value",
        "id": "abc123",
        "name": "example-value"
      }
    }
  }
}

对象类型

对象类型代表 API 返回的具体资源和响应负载。

帐户

IBM Cloud 帐户。

账户字段
类型 名称 描述
字段 externalID (String!) 该账户的 IBM Cloud ID。

AddVirtualNetworkInterfaceToBareMetalNodePayload

向裸机节点添加 VNI 的响应有效载荷。

“用于”字段 AddVirtualNetworkInterfaceToBareMetalNodePayload
类型 名称 描述
字段 networkAttachment (NetworkAttachment!) 已创建的网络连接及其属性。

BareMetalNetworkAttachmentByVLAN

使用 VLAN 标记为裸机节点配置网络连接。

“字段”用于 BareMetalNetworkAttachmentByVLAN
类型 名称 描述
实现 NetworkAttachment
字段 attachedTo (NetworkAttachable!) 此接口所连接的裸机节点。
字段 canFloat (Boolean!) 该附件能否在集群中的节点之间浮动。
字段 virtualNetworkInterface (VirtualNetworkInterface!) 已连接的虚拟网络接口。
字段 vlanID (Int) 此附件使用的VLAN ID(2-500)。 如果尚未赋值,则为Null。

BareMetalVirtualNetworkInterface

连接到裸机服务器的虚拟网络接口。

“用于”字段 BareMetalVirtualNetworkInterface
类型 名称 描述
实现 VirtualNetworkInterface
字段 autoDelete (Boolean) 在断开连接时,VNI是否应自动删除。
字段 externalID (String!) 此 VNI 的 VPC 资源 ID。
字段 macAddress (MACAddress) 分配给此网络接口的MAC地址。
字段 name (String) VNI的人类可读名称。
字段 primaryIPAddress (IPv4Address) 分配给此网络接口的主 IPv4 地址。
字段 securityGroups (SecurityGroupConnection)

应用于此网络接口的安全组。
支持的理由 securityGroups

  • after (String) — 开始读取数据的游标。
  • first (Int) — 要返回的项目最大数量。
字段 subnet (Subnet!) 该网络接口所连接的 VPC 子网。

CreateSatelliteConnectorPayload

createSatelliteConnector 的输出类型。

“字段”用于 CreateSatelliteConnectorPayload
类型 名称 描述
字段 satelliteConnector (SatelliteConnector) 新款 SatelliteConnector。

KubernetesCluster

一个 IBM Cloud Kubernetes Service 或 IBM Cloud OpenShift 服务集群。

“用于”字段 KubernetesCluster
类型 名称 描述
实现 Node
字段 id (ID!) 该集群的唯一标识符。
字段 name (String) 该集群的名称。
字段 networkAttachments (NetworkAttachmentConnection)

该集群的网络连接(如适用)。
支持的理由 networkAttachments

  • after (String) — 开始读取数据的游标。
  • first (Int) — 要返回的项目最大数量。
字段 region (Region) 该星团的 IBM Cloud 星表区域。

区域

IBM Cloud 目录区域。

区域字段
类型 名称 描述
实现 Location
实现 Node
字段 displayName (String) 该地区的译名。
字段 id (ID!) 该区域的ID。
字段 name (String) 该地区的名称。

ReinitializeKubernetesNodePayload

reinitializeKubernetesNode 的输出类型。

“用于”字段 ReinitializeKubernetesNodePayload
类型 名称 描述
字段 node (KubernetesNode) 正在重新初始化 Kubernetes 节点。

RemoveSatelliteConnectorPayload

removeSatelliteConnector 的输出类型。

“用于”字段 RemoveSatelliteConnectorPayload
类型 名称 描述
字段 satelliteConnector (SatelliteConnector) 已移除的 SatelliteConnector。

RemoveVirtualNetworkInterfaceFromNodePayload

从节点中删除 VNI 的响应有效载荷。

“用于”字段 RemoveVirtualNetworkInterfaceFromNodePayload
类型 名称 描述
字段 cluster (KubernetesCluster!) VNI被移除的集群。该集群
字段 node (NetworkAttachable!) 已从其中移除 VNI 的节点。
字段 virtualNetworkInterface (VirtualNetworkInterface!) 已被移除的虚拟网络接口。

ResourceGroup

“ResourceGroup”是一种将账户资源按可自定义的分类进行组织的方法,这样您就可以一次性快速为用户分配对多个资源的访问权限。

“用于”字段 ResourceGroup
类型 名称 描述
实现 Node
字段 externalID (String!) 该资源组的 IBM Cloud 标识符。
字段 id (ID!) 该资源组的 Node 标识符。
字段 name (String) 资源组的名称。

SatelliteConnector

Satellite 连接器可在特定远程位置与 IBM Cloud 之间建立安全连接。

“用于”字段 SatelliteConnector
类型 名称 描述
实现 Node
字段 createdDate (DateTime) 该资源的创建日期。
字段 crn (CloudResourceName) 该资源的CRN为 IBM Cloud。
字段 id (ID!) 该资源的唯一标识符。
字段 name (String!) 该资源的名称。
字段 region (Region) 该资源的管理区域。
字段 resourceGroup (ResourceGroup) 包含此资源的资源组。
字段 state (SatelliteConnectorState) 该资源的当前状态。

SatelliteLocation

Satellite 旗下门店。

“字段”用于 SatelliteLocation
类型 名称 描述
实现 Node
字段 description (String) 地点描述。
字段 id (ID!) 该资源的唯一标识符。
字段 name (String) 位置名称。

SecurityGroup

表示一个 VPC 安全组。

“用于”字段 SecurityGroup
类型 名称 描述
字段 externalID (String!) 此安全组的 VPC 资源 ID。

Subnet

表示一个 VPC 子网。

子网字段
类型 名称 描述
字段 externalID (String!) 此子网的 VPC 资源 ID。

UpdateSatelliteLocationPayload

updateSatelliteLocation 的输出类型。

“用于”字段 UpdateSatelliteLocationPayload
类型 名称 描述
字段 satelliteLocation (SatelliteLocation) 更新后的 SatelliteLocation。

VPCBareMetalKubernetesNode

表示 IBM Cloud VPC 中的 Kubernetes 裸机工作节点。

“用于”字段 VPCBareMetalKubernetesNode
类型 名称 描述
实现 KubernetesNode
实现 NetworkAttachable
实现 Node
字段 id (ID!) 该工作节点的全局唯一标识符。
字段 networkAttachments (NetworkAttachmentConnection)

该裸机节点的网络连接。
支持的理由 networkAttachments

  • after (String) — 开始读取数据的游标。
  • first (Int) — 要返回的项目最大数量。
字段 region (Region)

接口类型

接口类型定义了多个具体对象类型共有的字段。

KubernetesNode

Kubernetes ( Node )负责运行您的工作负载。

“用于”字段 KubernetesNode
类型 名称 描述
实现 KubernetesNode
实现 VPCBareMetalKubernetesNode
字段 id (ID!) 该资源的唯一标识符。
字段 region (Region)

地区

IBM Cloud 目录中的一个位置。简体中文(大陆)

位置字段
类型 名称 描述
实现 Location
实现 Region
字段 displayName (String) 该地点的译名。
字段 id (ID!) 该位置的ID。
字段 name (String) 该地点的名称。

NetworkAttachable

表示一个可以连接网络接口的实体。

“用于”字段 NetworkAttachable
类型 名称 描述
实现 NetworkAttachable
字段 id (ID!) 该节点的全局唯一标识符。
字段 networkAttachments (NetworkAttachmentConnection)

与该节点关联的网络连接。
支持的理由 networkAttachments

  • after (String) — 开始读取数据的游标。
  • first (Int) — 要返回的项目最大数量。

NetworkAttachment

表示节点的一个网络接口连接。

“用于”字段 NetworkAttachment
类型 名称 描述
实现 BareMetalNetworkAttachmentByVLAN
实现 NetworkAttachment
字段 attachedTo (NetworkAttachable!) 该网络接口所连接的节点。
字段 virtualNetworkInterface (VirtualNetworkInterface!) 已连接的虚拟网络接口。

Node

根据 ID 获取一个对象。

“字段”用于 Node
类型 名称 描述
实现 KubernetesCluster
实现 KubernetesNode
实现 NetworkAttachable
实现 Node
实现 Region
实现 ResourceGroup
实现 SatelliteConnector
实现 SatelliteLocation
实现 VPCBareMetalKubernetesNode
字段 id (ID!) 全球唯一的对象 ID。

VirtualNetworkInterface

表示 IBM Cloud VPC 中的虚拟网络接口。 可挂载到裸金属或虚拟服务器实例上。

“用于”字段 VirtualNetworkInterface
类型 名称 描述
实现 BareMetalVirtualNetworkInterface
实现 VirtualNetworkInterface
字段 autoDelete (Boolean) 在断开连接时,VNI是否应自动删除。
字段 externalID (String!) 此虚拟网络接口的 VPC 资源 ID。
字段 macAddress (MACAddress) 分配给此网络接口的MAC地址。
字段 name (String) VNI的人类可读名称。
字段 primaryIPAddress (IPv4Address) 分配给此网络接口的主 IPv4 地址。
字段 securityGroups (SecurityGroupConnection)

应用于此网络接口的安全组。
支持的理由 securityGroups

  • after (String) — 开始读取数据的游标。
  • first (Int) — 要返回的项目最大数量。
字段 subnet (Subnet!) 该网络接口所连接的 VPC 子网。

输入类型

输入类型用作突变的参数。 标有 (必填) 的字段必须填写。

AddVirtualNetworkInterfaceToBareMetalNodeInput

向裸机节点添加 VNI 的输入。

用于……的输入字段 AddVirtualNetworkInterfaceToBareMetalNodeInput
类型 名称 描述
字段 autoDelete (Boolean) 当 VNI 与 VPC 断开连接时,是否自动从 VPC 中删除该 VNI。 如果未指定,则默认为 false。
字段 cluster (ID) 集群标识。 必须指定集群或节点,但不能同时指定两者。 如果仅提供了集群,系统将自动选择一个节点,且该附件将处于浮动状态。
字段 node (ID) Node ID. 必须指定集群或节点,但不能同时指定两者。 如果指定了该选项,则会在此特定节点上创建一个非浮动附件。
字段 virtualNetworkInterfaceID (String!) (必填) 要连接的虚拟网络接口的 VPC 资源 ID。
字段 vlanID (Int!) (必填) 该连接的VLAN ID(2-500)。 VLAN 1 专用于主网络接口。

CreateSatelliteConnectorInput

配置“Satellite”连接器所需的详细信息。

用于的输入字段 CreateSatelliteConnectorInput
类型 名称 描述
字段 name (String!) (必填) 该资源的名称。
字段 regionName (String!) (必填) 指示应从何处管理新连接器的区域名称。
字段 resourceGroupID (String!) (必填) 要在其中进行配置的资源组 ID。

ReinitializeKubernetesNodeInput

reinitializeKubernetesNode 的输入类型。

用于的输入字段 ReinitializeKubernetesNodeInput
类型 名称 描述
字段 bypassUnhealthyControlPlane (Boolean) 将该参数设置为 true,即可继续进行重新初始化,即使集群的控制平面处于非健康状态也是如此。
字段 id (ID!) (必填) Kubernetes 需要重新初始化的节点。

RemoveSatelliteConnectorInput

removeSatelliteConnector 的输入类型。

用于的输入字段 RemoveSatelliteConnectorInput
类型 名称 描述
字段 id (ID!) (必填) Satellite 要删除的连接器 ID。

RemoveVirtualNetworkInterfaceFromNodeInput

用于从节点中删除 VNI 的输入。

用于的输入字段 RemoveVirtualNetworkInterfaceFromNodeInput
类型 名称 描述
字段 cluster (ID) 集群标识。 必须指定集群或节点,但不能同时指定两者。
字段 node (ID) Node ID. 必须指定集群或节点,但不能同时指定两者。
字段 virtualNetworkInterfaceID (String!) (必填) 要删除的虚拟网络接口的 VPC 资源 ID。

UpdateSatelliteLocationInput

updateSatelliteLocation 的输入类型。

用于的输入字段 UpdateSatelliteLocationInput
类型 名称 描述
字段 description (String)
字段 id (ID!) (必填) Satellite 待更新的位置 ID。
字段 name (String)

枚举类型

枚举类型定义了字段允许的字符串值集合。

SatelliteConnectorState

Satellite 连接器的管理状态。

预计这些数值未来将进一步扩大。 在处理过程中,请检查并记录未知值。 可选择停止处理并报告错误,或者绕过遇到该意外值的 Satellite 连接器。

以下各项的数值:SatelliteConnectorState
类型 名称 描述
值 CREATED 该连接器已完成配置,现已可以使用。
值 CREATING 该连接器正在配置中,可能尚未准备好投入使用。
值 DELETING 该连接器正在解除配置,可能无法使用。
值 FAILED 该连接器的最近一次操作失败,必须将其删除才能继续。

标量类型

标量类型是 GraphQL 模式中的基本叶节点值。

CloudResourceName

云资源名称 (CRN) 唯一地标识 IBM Cloud 资源。 CRN 用来以明确方式指定资源,保证全局唯一。

DateTime

DateTime 是一种符合 RFC3339 标准的日期和时间组合。

IPv4Address

IPv4 采用点分十进制表示法的地址(例如,192.168.1.1 )。

MAC 地址

以冒号分隔的十六进制表示法的 MAC 地址(例如:00:1A:2B:3C:4D:5E )。

内部查询

以下查询仅供内部使用,不支持外部调用者。 为使内容完整,特此记录如下。

globalSearchSatelliteConnectorAccounts

IBM 全球搜索服务的全球可搜索结果。 仅供内部使用。

返回值和参数 globalSearchSatelliteConnectorAccounts
类型 名称 描述
返回项 GlobalSearchSatelliteConnectorAccountsConnection
自变量 after (String)
自变量 first (Int)
自变量 last (Int)
自变量 before (String)
自变量 regionName (String!) (必填)

示例请求

curl -X POST https://containers.cloud.ibm.com/graphql \
  -H "Authorization: Bearer $IAM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "query globalSearchSatelliteConnectorAccounts($after: String, $first: Int, $last: Int, $before: String, $regionName: String!) {\n  globalSearchSatelliteConnectorAccounts(after: $after, first: $first, last: $last, before: $before, regionName: $regionName) {\n    # ... select your fields here\n  }\n}",
  "variables": {
    "after": "example-value",
    "first": 0,
    "last": 0,
    "before": "example-value",
    "regionName": "example-value"
  }
}'

示例响应

{
  "data": {
    "globalSearchSatelliteConnectorAccounts": {
      "edges": [
        {
          "cursor": "example-value",
          "node": {
            "externalID": "example-value"
          }
        }
      ],
      "pageInfo": {
        "endCursor": "example-value",
        "hasNextPage": true,
        "hasPreviousPage": true,
        "startCursor": "example-value"
      }
    }
  }
}