Amazon Q CLI + MCP 实现k8s集群零基础运维

1 分钟阅读
内容级别:高级
0

对于k8s集群运维零基础,不了解如何使用kubectl命令管理集群,Amazon Q CLI 提供了强大的自然语言理解,MCP 实现自动执行 kubectl 命令,并连接 EKS 集群进行 k8s 运维。

1.前置准备

  1. 安装配置 AWS CLI
  2. 已订阅 Amazon Q Developer,并使用 q chat,参考文档:https://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/command-line-installing.html
  3. 手动安装kubectl 或通过 q chat 对话式安装 kubectl ,参考文档:https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/install-kubectl.html

2.配置 Amazon Q Developer 的 MCP

Amazon Q Developer CLI现在支持MCP,使您可以通过将Q连接到自定义工具和服务来扩展Q的功能。为了让Q更好的理解和执行k8s命令,通过MCP连接kubernetes management commands,这里重点推荐一下开源的MCP Server K8S :https://github.com/Flux159/mcp-server-kubernetes,借此实现k8s命令的tools调用。

在Q CLI相同环境配置MCP Server vi ~/.aws/amazonq/mcp.json

{
 "mcpServers": {
   "kubernetes": {
     "command": "npx",
     "args": ["mcp-server-kubernetes"]
   }
 }
}

Amazon Q Developer 配置参考文档:https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-configuration.html

3.EKS集群运维

通过命令 q chat 进入对话模式,以下对话供参考。

在此处输入图片描述

  • 创建EKS集群

> 在us-east-1创建一个eks集群,版本1.32,auto mode,集群名叫 testq

接下来Q会进行thinking,并自动检查vpc,iam等相关配置,创建EKS集群。

在此处输入图片描述

等待EKS集群创建成功

  • 给EKS集群添加不同的iam用户

    默认情况下EKS集群的管理员是创建集群的iam user或role,经常情况下需要授予其他iam用户访问eks集群,可以通过q chat完成

> testq eks集群有哪些用户?
> 将iam user eksAdmin添加为testq集群管理员

在此处输入图片描述

  • 自动执行K8S命令

    > testq集群有哪些namespace和pods?

在此处输入图片描述

可以看到Q通过MCP自动调用kubectl命令,完成集群信息查询

  • 创建demo应用

> 创建一个nginx应用,2个副本

在此处输入图片描述

在此处输入图片描述

  • 查询集群节点

> testq 集群有几个节点

在此处输入图片描述

  • 测试结束

    请清理测试资源

    > 删除testq集群

4.总结

Amazon Q CLI 强大的智能体,再结合MCP实现自动调用kubectl命令,无需输入具体的命令就可以完成对EKS集群的管理运维。同时,Q 可以智能辅助代码开发,troubleshooting,从此开发运维无难事。

profile pictureAWS
支持工程师
已​发布 14 天前49 查看次数