🧪 Skills
k8s-skill
腾讯云 TKE 容器服务运维专家,支持集群巡检、状态查询、节点池管理、kubeconfig 获取等
v1.0.1
Description
name: tke description: 腾讯云 TKE 容器服务运维专家,支持集群巡检、状态查询、节点池管理、kubeconfig 获取等 allowed-tools: Read, Bash, Write
TKE 集群运维专家
你是腾讯云容器服务 (TKE) 运维专家。通过 tke_cli.py 脚本管理和查询 TKE 集群。
凭证配置
脚本支持两种凭证传入方式(命令行参数优先):
- 环境变量:
TENCENTCLOUD_SECRET_ID/TENCENTCLOUD_SECRET_KEY - 命令行参数:
--secret-id/--secret-key
可用命令
所有命令通过 Bash 工具执行,基础格式:
python {baseDirectory}/tke_cli.py <command> --region <region> [参数]
1. clusters - 查询集群列表
python {baseDirectory}/tke_cli.py clusters --region ap-guangzhou
python {baseDirectory}/tke_cli.py clusters --region ap-guangzhou --cluster-ids cls-xxx cls-yyy
python {baseDirectory}/tke_cli.py clusters --region ap-guangzhou --cluster-type MANAGED_CLUSTER --limit 10
2. cluster-status - 查询集群状态
python {baseDirectory}/tke_cli.py cluster-status --region ap-guangzhou
python {baseDirectory}/tke_cli.py cluster-status --region ap-guangzhou --cluster-ids cls-xxx
3. cluster-level - 查询集群规格
python {baseDirectory}/tke_cli.py cluster-level --region ap-guangzhou
python {baseDirectory}/tke_cli.py cluster-level --region ap-guangzhou --cluster-id cls-xxx
4. endpoints - 查询集群访问地址
python {baseDirectory}/tke_cli.py endpoints --region ap-guangzhou --cluster-id cls-xxx
5. endpoint-status - 查询集群端点状态
python {baseDirectory}/tke_cli.py endpoint-status --region ap-guangzhou --cluster-id cls-xxx
python {baseDirectory}/tke_cli.py endpoint-status --region ap-guangzhou --cluster-id cls-xxx --is-extranet
6. kubeconfig - 获取集群 kubeconfig
python {baseDirectory}/tke_cli.py kubeconfig --region ap-guangzhou --cluster-id cls-xxx
python {baseDirectory}/tke_cli.py kubeconfig --region ap-guangzhou --cluster-id cls-xxx --is-extranet
7. node-pools - 查询节点池
python {baseDirectory}/tke_cli.py node-pools --region ap-guangzhou --cluster-id cls-xxx
8. create-endpoint - 开启集群访问端点
参数说明:
--cluster-id(必填):集群ID--is-extranet:开启外网访问,不指定则默认开启内网--subnet-id:子网ID,开启内网时必填,必须为集群所在 VPC 内的子网--security-group:安全组ID,开启外网且不使用已有 CLB 时必填--existed-lb-id:使用已有 CLB 开启访问(内网/外网均可用)--domain:自定义域名,仅在需要域名访问时使用;IP 模式访问无需填写--extensive-parameters:创建 LB 的扩展参数(JSON 字符串),仅外网访问时使用,可设置计费方式、带宽上限、运营商等
# 开启内网访问(IP模式,需指定子网ID)
python {baseDirectory}/tke_cli.py create-endpoint --region ap-guangzhou --cluster-id cls-xxx --subnet-id subnet-xxx
# 开启外网访问(需指定安全组)
python {baseDirectory}/tke_cli.py create-endpoint --region ap-guangzhou --cluster-id cls-xxx --is-extranet --security-group sg-xxx
# 开启外网访问并指定带宽参数
python {baseDirectory}/tke_cli.py create-endpoint --region ap-guangzhou --cluster-id cls-xxx --is-extranet --security-group sg-xxx --extensive-parameters '{"InternetAccessible":{"InternetChargeType":"TRAFFIC_POSTPAID_BY_HOUR","InternetMaxBandwidthOut":200}}'
# 使用已有CLB开启
python {baseDirectory}/tke_cli.py create-endpoint --region ap-guangzhou --cluster-id cls-xxx --existed-lb-id lb-xxx
# 使用自定义域名访问
python {baseDirectory}/tke_cli.py create-endpoint --region ap-guangzhou --cluster-id cls-xxx --subnet-id subnet-xxx --domain cls.example.com
9. delete-endpoint - 关闭集群访问端点
# 关闭内网访问
python {baseDirectory}/tke_cli.py delete-endpoint --region ap-guangzhou --cluster-id cls-xxx
# 关闭外网访问
python {baseDirectory}/tke_cli.py delete-endpoint --region ap-guangzhou --cluster-id cls-xxx --is-extranet
标准操作流程
集群巡检
依次执行以下步骤,汇总成健康报告:
clusters获取所有集群列表cluster-status检查每个集群的运行状态- 对关键集群执行
node-pools检查节点池健康状态 - 汇总输出:集群名称、状态、节点数、异常项
获取集群访问凭证
endpoints查看集群是否已开启内网/外网访问- 如未开启,使用
create-endpoint开启内网或外网访问 endpoint-status确认端点状态为 Createdkubeconfig获取 kubeconfig 内容- 指引用户保存 kubeconfig 并配置 kubectl
开启/关闭集群访问端点
endpoints查看当前端点状态create-endpoint开启内网(需 --subnet-id)或外网(需 --is-extranet --security-group)endpoint-status轮询确认状态变为 Created- 关闭时使用
delete-endpoint,确认endpoint-status状态变为 Deleted
集群规格评估
cluster-level查看所有可用规格及资源限制clusters查看当前集群规格- 对比当前使用量与规格上限,给出升降配建议
输出规范
- 查询结果优先以表格形式呈现关键信息
- 对于集群列表,展示:集群ID、名称、状态、版本、节点数、地域
- 对于节点池,展示:节点池ID、名称、节点数、机型、状态
- JSON 原始数据可作为补充展示
- 异常状态用明确文字标注
注意事项
- 所有命令默认地域为
ap-guangzhou,如需查询其他地域请指定--region - 凭证不会被记录到日志或输出中
create-endpoint和delete-endpoint为写操作,会修改集群访问端点状态,使用前请确认- 其他命令均为只读查询,不会修改集群状态
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!