本页面介绍如何在 Distributed Cloud 连接区域中创建和管理 Google Distributed Cloud 节点池资源。
创建集群时,系统会自动创建节点池并填充节点。您还可以在创建集群后选择配置其他节点池。
如需详细了解 Distributed Cloud 节点池,请参阅 Distributed Cloud Connected 的运作方式。
创建节点池
如需创建 Distributed Cloud 节点池,请完成本部分中的步骤。
如需完成本任务,您必须在Google Cloud 项目中拥有以下角色:
- Edge Container Admin 角色 (
roles/edgecontainer.admin) Edge Container Machine User 角色 (
roles/edgecontainer.machineUser)如果包含将分配给此节点池的 Distributed Cloud Connected Machine 的 Google Cloud 项目与您要在其中创建节点池的Google Cloud 项目不同,您还必须对 Google Cloud 项目拥有此角色。
控制台
如果您使用的是 Google Cloud 控制台,则只能在创建集群时创建节点池。如需创建独立节点池,您必须使用 Google Cloud CLI 或 Distributed Cloud Edge Container API。
gcloud
使用 gcloud edge-cloud container clusters node-pools create 命令:
gcloud edge-cloud container clusters node-pools create POOL_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME \
--node-location=ZONE_NAME \
--node-count=NODE_COUNT \
--node-labels=NODE_LABELS \
--machine-filter=MACHINE_FILTER \
--local-disk-kms-key=POOL_KMS_KEY \
--node-storage-schema=WORKER_NODE_STORAGE_SCHEMA
替换以下内容:
POOL_NAME:用于唯一标识相应节点池的描述性名称。此名称必须符合 RFC 1213 标准,并且只能包含小写字母数字字符和连字符 (-)。它必须以字母数字字符开头和结尾。PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:此节点池的目标 Distributed Cloud Connected 集群所在的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。ZONE_NAME:目标 Distributed Cloud 可用区的名称。此可用区必须位于REGION中指定的区域内。NODE_COUNT:相应节点池中的节点数。NODE_LABELS:一个以英文逗号分隔的键值对列表,其中包含节点池中各个节点的标签。MACHINE_FILTER(可选):指定用于选择机器的过滤条件。如需查看可用于过滤的字段,请参阅获取有关机器的信息。 只有与此过滤条件匹配的机器才能加入此节点池。 对于多机架集群,请使用此标志指定 Distributed Cloud 连接的机架,这些机架的节点构成了此节点池。如果省略,则会将相应可用区中的所有可用节点添加到此节点池。POOL_KMS_KEY(可选):您要用于此节点池的 Cloud KMS 密钥的完整路径。 例如:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
只有在您已将 Distributed Cloud Connected 与 Cloud Key Management Service 集成(如为本地存储启用对客户管理的加密密钥 (CMEK) 的支持中所述)时,此标志才适用。
WORKER_NODE_STORAGE_SCHEMA(可选):指定此节点池中包含的工作器节点的本地存储架构。如需了解详情,请参阅配置本地存储架构。
API
向 projects.locations.clusters.nodePools.create 方法发出 POST 请求:
POST /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME?nodePoolId=NODEPOOL_ID&requestId=REQUEST_ID
{
"name": POOL_NAME,
"labels": { LABELS,
},
"nodeLocation": ZONE_NAME,
"nodeCount": NODE_COUNT,
"nodeLabels": NODE_LABELS,
"machineFilter": MACHINE_FILTER,
"localDiskEncryption": {
"kmsKey": POOL_KMS_KEY,
}
}
替换以下内容:
PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:此节点池的目标 Distributed Cloud Connected 集群所在的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。NODEPOOL_ID:用于标识相应节点池资源的唯一程序化 ID。REQUEST_ID:用于标识相应请求的唯一程序化 ID。POOL_NAME:可唯一标识相应节点池的描述性名称。LABELS:要应用于此节点池资源的标签列表。ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。此可用区必须位于REGION中指定的区域内。NODE_COUNT:相应节点池中的节点数。NODE_LABELS:一个以英文逗号分隔的键值对列表,其中包含节点池中各个节点的标签。MACHINE_FILTER(可选):指定用于选择机器的过滤条件。只有与此过滤条件匹配的机器才能加入此节点池。对于多机架集群,请使用此标志指定 Distributed Cloud Connected 机架,这些机架的节点构成了此节点池。如果省略,则会将相应可用区中的所有可用节点添加到此节点池。POOL_KMS_KEY(可选):您要用于此节点池的 Cloud KMS 密钥的完整路径。 例如:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
只有在您已将 Distributed Cloud Connected 与 Cloud Key Management Service 集成(如为本地存储启用对客户管理的加密密钥 (CMEK) 的支持中所述)的情况下,此参数才适用。
列出节点池
如需列出 Distributed Cloud 已连接的可用区中的 Distributed Cloud 节点池,请完成本部分中的步骤。
如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Container Viewer 角色 (roles/edgecontainer.viewer)。
gcloud
使用 gcloud edge-cloud container clusters node-pools list 命令:
gcloud edge-cloud container clusters node-pools list \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME
替换以下内容:
PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:已创建目标 Distributed Cloud connected 集群的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。
API
向 projects.locations.clusters.nodePools.list 方法发出 GET 请求:
GET /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN
替换以下内容:
PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:目标 Distributed Cloud Connected Cluster 的创建 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud 集群的名称。FILTER:将返回的结果限制为特定值的表达式。PAGE_SIZE:每页要返回的结果数。SORT_BY:用于对返回的结果进行排序的字段名称的英文逗号分隔列表。默认排序顺序为升序;如需降序排序,请在所需字段前加上~。PAGE_TOKEN:在响应的nextPageToken字段中,对上一个列表请求的响应中收到的令牌。发送此令牌可接收一页结果。
获取有关节点池的信息
如需获取有关分布式 Cloud 节点池的信息,请完成本部分中的步骤。
如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Container Viewer 角色 (roles/edgecontainer.viewer)。
gcloud
使用 gcloud edge-cloud container clusters node-pools describe 命令:
gcloud edge-cloud container clusters node-pools describe POOL_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME
替换以下内容:
POOL_NAME:目标节点池的名称。PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:与此节点池关联的 Distributed Cloud Connected 集群所在的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。
API
向 projects.locations.clusters.nodePools.get 方法发出 GET 请求:
GET /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools/POOL_NAME
替换以下内容:
PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:与此节点池关联的 Distributed Cloud Connected 集群所在的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。POOL_NAME:目标节点池的名称。
修改节点池
如需修改 Distributed Cloud 节点池,请完成本部分中的步骤。
如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Container Admin 角色 (roles/edgecontainer.admin)。
gcloud
使用 gcloud edge-cloud container clusters node-pools update 命令:
gcloud edge-cloud container clusters node-pools update POOL_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME \
--node-count=NODE_COUNT \
--machine-filter=MACHINE_FILTER \
--local-disk-kms-key=POOL_KMS_KEY
替换以下内容:
POOL_NAME:目标节点池的名称。PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:与此节点池关联的 Distributed Cloud Connected 集群所在的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。NODE_COUNT:相应节点池中的节点数。MACHINE_FILTER(可选):指定用于选择机器的过滤条件。如需查看可用于过滤的字段,请参阅获取有关机器的信息。 对于多机架集群,请使用此标志指定 Distributed Cloud 连接的机架,这些机架的节点构成了此节点池。POOL_KMS_KEY(可选):您要用于此节点池的 Cloud KMS 密钥的完整路径。 例如:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
只有在您已将 Distributed Cloud Connected 与 Cloud Key Management Service 集成(如为本地存储启用对客户管理的加密密钥 (CMEK) 的支持中所述)时,此标志才适用。
如需将节点池恢复为使用 Google-owned and Google-managed encryption key,请使用
--use-google-managed-key标志。
API
向 projects.locations.clusters.nodePools.patch 方法发出 PATCH 请求:
PATCH /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME?nodePoolId=NODEPOOL_ID&requestId=REQUEST_ID
{
"name": POOL_NAME,
"labels": { LABELS,
},
"nodeLocation": ZONE_NAME,
"nodeCount": NODE_COUNT,
"machineFilter": MACHINE_FILTER,
"localDiskEncryption": {
"kmsKey": KMS_KEY,
}
}
替换以下内容:
PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:与此节点池关联的 Distributed Cloud Connected 集群所在的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。NODEPOOL_ID:用于标识相应节点池的唯一程序化 ID。REQUEST_ID:用于标识相应请求的唯一程序化 ID。POOL_NAME:可唯一标识相应节点池的描述性名称。LABELS:要应用于此节点池资源的标签列表。ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。此可用区必须位于REGION中指定的区域内。NODE_COUNT:相应节点池中的节点数。MACHINE_FILTER(可选):指定用于选择机器的过滤条件。只有与此过滤条件匹配的机器才能加入此节点池。对于多机架集群,请使用此标志指定 Distributed Cloud 连接的机架,这些机架的节点构成了此节点池。KMS_KEY(可选):您要用于此节点池的 Cloud KMS 密钥的完整路径。 例如:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
只有在您已将 Distributed Cloud Connected 与 Cloud Key Management Service 集成(如为本地存储启用对客户管理的加密密钥 (CMEK) 的支持中所述)的情况下,此参数才适用。
删除节点池
如需删除 Distributed Cloud 节点池,请完成本部分中的步骤。
如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Container Admin 角色 (roles/edgecontainer.admin)。
gcloud
使用 gcloud edge-cloud container clusters node-pools delete 命令:
gcloud edge-cloud container clusters node-pools delete POOL_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME
替换以下内容:
POOL_NAME:目标节点池的名称。PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:与此节点池关联的 Distributed Cloud Connected 集群所在的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。
API
向 projects.locations.clusters.nodePools.delete 方法发出 DELETE 请求:
DELETE /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools/POOL_NAME?requestId=REQUEST_ID
替换以下内容:
PROJECT_ID:目标 Google Cloud 项目的 ID。REGION:与此节点池关联的 Distributed Cloud Connected 集群所在的 Google Cloud 区域。CLUSTER_NAME:目标 Distributed Cloud Connected 集群的名称。POOL_NAME:目标节点池的名称。REQUEST_ID:用于标识相应请求的唯一程序化 ID。