AKS调试伴侣

将Azure Cloud Shell转变为智能调试伴侣,用于Azure Kubernetes Service (AKS),结合Flox环境、aks-mcp-server和Claude Code提供强大的调试功能。

  • by priyaananthasankar
  • 本地部署
  • 更新于
在 GitHub 查看 priyaananthasankar/cloud-shell-aks-debugging-companion

使用说明

Cloud Shell AKS调试助手

使用Flox环境、AKS-mcp服务器和Claude Code将您的Azure Cloud Shell转换为Azure Kubernetes Service(AKS)的智能调试伴侣。

概述

本指南将引导您设置一个强大的调试环境,该环境结合了以下内容:

  • 弗洛克斯:声明性、可重复的开发环境
  • aks-mcp服务器:用于AKS操作的模型上下文协议服务器
  • 克劳德代码:集成MCP的AI驱动编码助手

先决条件

  • 了解Kubernetes和AKS。确保在Azure订阅中设置了AKS群集。
  • 克劳德账户
  • Azure订阅:
    • 有权访问Azure Cloud Shell
    • 可以访问AKS集群

安装说明

步骤0:在Cloud Shell中安装Flox

首先,使用安装脚本启动Azure Cloud Shell并安装Flox:

  1. 创建安装脚本:
curl -o install-flox.sh https://gist.githubusercontent.com/stealthybox/4511dcb77351e2636321aa860b5e3618/raw
  1. 使其可执行并在Cloud Shell终端中运行。
chmod +x install-flox.sh
./install-flox.sh
  1. 重要:重新启动Cloud Shell

第一步:拉动地板环境

拉动预配置 aksmcpenvironment 来自FloxHub:

flox pull priyaananthasankar/aksmcpenvironment --force

第二步:激活环境

激活Flox环境:

flox activate

您的shell提示符应该更改以指示活动环境。

步骤3:验证安装

列出环境中包含的软件包和工具:

flox list

这将向您展示调试环境中可用的所有工具,包括aks-mcp服务器和Claude代码。

设置Claude MCP配置

mkdir .claude/mcp_config.json

将这些行添加到mcp_config.json

{
  "mcpServers": {
    "aks-mcp": {
      "command": "aks-mcp",
      "args": [
        "--transport", "stdio",
        "--access-level", "readonly"
      ],
      "env": {
        "AZURE_SUBSCRIPTION_ID": "<ENTER YOUR AZURE SUBSCRIPTION ID>"
      }
    }
  }
}

步骤4:启动Claude代码

启动Claude Code并进行身份验证:

claude

按照身份验证提示使用您的Anthropic帐户登录。

步骤5:连接到AKS MCP服务器

Claude Code运行后,通过以下指令启动aks-mcp服务器:

start aks mcp server using ~/.claude/mcp_config.json

注意:对代理进行显式操作会阻止它到处弄清楚如何启动MCP服务器

使用 claude mcp list 验证(或) /mcp 要查看aks-mcp是否已连接,请参阅下文:

现在重新启动克劳德

注意:这是Claude的要求,它只在重新启动时加载mcp工具

一旦重新启动

现在你可以使用自然语言了。您将看到MCP工具正在运行,如下所示。左侧的绿点表示工具已成功运行。

用自然语言说话

List all pods in default namespace

你能做什么

通过此设置,您可以:

  • 查询AKS集群:请Claude列出Pod、服务、部署等。
  • 调试问题:获取针对AKS问题的智能故障排除帮助
  • 分析日志:让Claude帮助您解析和理解pod日志
  • 执行kubectl命令:Claude可以建议和执行kubectl命令
  • 最佳实践:获取AKS配置和部署的建议

查询示例

试着问克劳德:

  • “显示默认命名空间中的所有Pod”
  • “我的部署失败有什么问题?”
  • “检查日志中的 吊舱”
  • “列出所有命名空间中的所有服务”
  • “帮助我解决为什么我的pod处于CrashLoopBackOff状态”

故障排除

安装后找不到地板

确保你已经重新启动了你的shell exec bash 或启动新的Cloud Shell会话。

Claude的身份验证问题

请确保您拥有有效的Anthropic帐户和API访问权限。在Cloud Shell中检查您的网络连接。

MCP服务器连接问题

通过运行以下命令验证aks-mcp服务器是否包含在环境中 flox list。如果丢失,请尝试再次拉动环境。

额外资源