如何获取GitLab托管Kubernetes Agent的ClusterAgentID以删除该Agent?
无需删除项目删除GitLab项目中Kubernetes Agent的操作方法
1 获取所需的ClusterAgentID和令牌ID
官方未明确说明的ID可以通过GraphQL查询直接获取,你可以在GitLab自带的GraphQL编辑器中执行如下查询语句:
query getClusterAgentInfo { project(fullPath: "替换为你的项目完整路径,格式为<命名空间>/<项目名>") { clusterAgents { nodes { id name tokens { nodes { id name } } } } } }
执行后返回结果中会列出当前项目下所有Kubernetes Agent的ID、名称,以及每个Agent绑定的所有令牌ID和名称,你可以根据名称匹配到需要删除的目标资源对应ID。
2 执行删除操作
建议先删除对应Agent的令牌,再删除Agent本身,执行如下GraphQL变更操作即可:
# 删除令牌,替换为你查询到的对应令牌ID mutation deleteAgentToken { clusterAgentTokenDelete(input: { id: "<cluster-agent-token-id>" }) { errors } } # 删除Agent,替换为你查询到的对应ClusterAgentID mutation deleteAgent { clusterAgentDelete(input: { id: "<cluster-agent-id>" } ) { errors } }
如果返回的errors字段为空,说明操作执行成功,对应Kubernetes Agent已经从项目中移除。
补充说明
- 你可以直接访问你的GitLab实例域名下的
/-/graphql-explorer路径,登录账号后即可直接执行上述查询和变更操作,无需额外配置API调用工具。 - 执行上述操作需要你的账号拥有该项目的维护者及以上权限。
内容的提问来源于stack exchange,提问作者Charles Chen
相关产品推荐
相关产品推荐

