إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يتيح خادم بروتوكول السياق النموذجي (MCP) لمساعدي الذكاء الاصطناعي التفاعل مع مجموعات Azure Kubernetes Service (AKS) بوضوح وأمان وتحكم. يعمل كجسر بين أدوات الذكاء الاصطناعي (مثل GitHub Copilot وClaude وغيرها من مساعدي الذكاء الاصطناعي المتوافقين مع MCP) وAKS، حيث يترجم طلبات اللغة الطبيعية إلى عمليات AKS ويعيد النتائج بصيغة يمكن لأدوات الذكاء الاصطناعي فهمها.
يتصل خادم AKS MCP ب Azure باستخدام Azure SDK ويوفر مجموعة من الأدوات التي يمكن لمساعدي الذكاء الاصطناعي استخدامها للتفاعل مع موارد AKS. تسمح هذه الأدوات لوكلاء الذكاء الاصطناعي بأداء مهام مثل:
- استكشاف الأخطاء وإصلاحها والتشخيصات
- حلل صحة مجموعتك
- موارد التشغيل (CRUD) AKS
- استرجاع التفاصيل المتعلقة بعناقيد AKS (شبكات VNets، الشبكات الفرعية، مجموعات أمن الشبكة (NSGs)، جداول الطريق، وغيرها)
- تمكين أفضل الممارسات والميزات الموصى بها
- إدارة عمليات Azure Fleet لسيناريوهات المجموعات المتعددة
خادم AKS MCP هو مشروع مفتوح المصدر بالكامل، مع نماذج قوالب وتكوينات Helm متاحة في مستودع GitHub.
متى تستخدم خادم AKS MCP
يمكن استخدام خادم AKS MCP مع أي مساعد ذكاء اصطناعي متوافق، بما في ذلك CLI الوكيل ل AKS وMicrosoft Copilot. تشمل حالات الاستخدام الشائعة ما يلي:
- طرح أسئلة على مساعدي الذكاء الاصطناعي مثل:
- "لماذا الكبسولات معلقة في هذه المجموعة؟"
- "ما هو تكوين شبكة عنقود AKS الخاص بي؟"
- "إنشاء مكان لنشر أعباء عمل nginx على مجموعات مع تسمية app=frontend."
- السماح لأدوات الذكاء الاصطناعي ب:
- حالة وتكوين مجموعة القراءة
- افحص المقاييس والأحداث والسجلات
- Crerelate الإشارات عبر Kubernetes وموارد Azure
- تطبيق التغييرات وتمكين الميزات الجديدة مباشرة على عنقودك
جميع الإجراءات التي يتم تنفيذها عبر خادم AKS MCP مقيدة بواسطة Kubernetes Role-Based Access Control (RBAC) وAzure RBAC. افتراضيا، يرث خادم AKS MCP أمنونات المستخدم عند الوصول إلى موارد العنقود وAzure. لتخصيص الأدوار والصلاحيات لخادم AKS MCP، قم بنشر وضع خادم AKS MCP البعيد مع تحكم RBAC مدمج.
الأدوات المتوفرة
يوفر خادم AKS MCP مجموعة شاملة من الأدوات للتفاعل مع عناقيد AKS والموارد المرتبطة بها. افتراضيا، يستخدم الخادم أدوات موحدة (call_az لعمليات Azure وعمليات call_kubectl Kubernetes) التي توفر واجهة أكثر مرونة للتفاعل مع Kubernetes وموارد Azure.
هناك ثلاث مجموعات من الأذونات التي يمكنك تفعيلها لخادم AKS MCP: القراءة فقط (الافتراضي)، القراءة والكتابة، والمسؤول. بعض الأدوات تتطلب أذونات قراءة وكتابة أو إدارة لتنفيذ إجراءات مثل نشر وحدات التصحيح أو إجراءات CRUD على العنقود. لتمكين أذونات القراءة والكتابة أو المسؤول لخادم AKS-MCP، أضف معلمة مستوى الوصول إلى ملف تكوين MCP الخاص بك:
- انتقل إلى ملف mcp.json الخاص بك، أو اذهب إلى MCP: List Servers -> AKS-MCP -> عرض تفاصيل التكوين في لوحة الأوامر (لكود VS؛
Ctrl+Shift+Pعلى ويندوز/لينكس أوCmd+Shift+Pعلى macOS). - في قسم "args" في AKS-MCP، أضف المعلمات التالية: "--access-level"، "readwrite" أو "admin"
على سبيل المثال:
"args": [
"--transport",
"stdio",
"--access-level",
"readwrite"
]
تم تصميم هذه الأدوات لتوفير وظائف شاملة من خلال واجهات موحدة:
Azure CLI Operations (أداة موحدة)
الأداة:call_az
أداة موحدة لتنفيذ أوامر Azure CLI مباشرة. توفر هذه الأداة واجهة مرنة لتشغيل أي أمر CLI في Azure.
المعلمات:
-
cli_command: أمر Azure CLI الكامل لتنفيذه. على سبيل المثال:az aks list --resource-group myRGأوaz vm list --subscription <sub-id>. -
timeout: مهلة اختيارية في ثوان (الإعداد الافتراضي: 120)
مثال على الاستخدام:
{
"cli_command": "az aks list --resource-group myResourceGroup --output json"
}
التحكم في الدخول:
- للقراءة فقط: يسمح فقط بعمليات القراءة
- readwrite/admin: كل من عمليات القراءة والكتابة مسموح بها
مهم
يجب أن تكون الأوامر استدعاءات Azure CLI بسيطة بدون ميزات shell مثل أنابيب (|)، إعادة توجيه (>، <)، استبدال الأوامر، أو فواصل منقوطة (;).
Kubernetes Operations (أداة موحدة)
أداة الكوبيكتل الموحدة
الأداة:call_kubectl
أداة موحدة لتنفيذ أوامر kubectl مباشرة. توفر هذه الأداة واجهة مرنة لتشغيل أي kubectl أمر مع دعم كامل للوسيط.
المعلمات:
-
args: حجج أوامر kubectl. على سبيل المثال،get pods،describe node mynodeأو أوapply -f deployment.yaml.
مثال على الاستخدام:
{
"args": "get pods -n kube-system -o wide"
}
التحكم في الدخول: يتم تقييد العمليات بناء على مستوى الوصول المكون:
- فقط للقراءة فقط: يسمح فقط بعمليات القراءة (الحصول عليها، وصفها، السجلات، إلخ)
- readwrite/admin: جميع العمليات بما في ذلك الأوامر المتغيرة (إنشاء أو حذف أو تطبيق، إلخ)
دومان
الأداة:call_helm
مدير الحزم لصالح Kubernetes.
Cilium
الأداة:call_cilium
Cilium CLI للشبكات والأمن المعتمد على eBPF.
هابل
الأداة:call_hubble
قابلية رصد شبكة هابل للسيليوم.
إدارة موارد الشبكة
الأداة:aks_network_resources
أداة موحدة للحصول على معلومات موارد شبكة Azure المستخدمة من قبل عناقيد AKS.
أنواع الموارد المتاحة:
-
all: احصل على معلومات عن جميع موارد الشبكة -
vnet: معلومات الشبكة الافتراضية -
subnet: معلومات الشبكة الفرعية -
nsg: معلومات مجموعة أمن الشبكات -
route_table: معلومات جدول المسارات: -
load_balancer: معلومات موزن التحميل -
private_endpoint: معلومات عن نقطة النهاية الخاصة
المراقبة والتشخيص
الأداة:aks_monitoring
أداة موحدة لعمليات المراقبة والتشخيص في Azure لمجموعات AKS.
العمليات المتاحة:
-
metrics: قائمة بقيم المقاييس للموارد -
resource_health: استرجاع أحداث صحة الموارد لمجموعات AKS -
app_insights: تنفيذ استعلامات KQL مقابل بيانات التليمترية Application Insights -
diagnostics: تحقق مما إذا كان cluster AKS قد تم ضبط إعدادات التشخيص: -
control_plane_logs: استعلام سجلات مستوى التحكم في AKS مع قيود السلامة والتحقق من مدى الزمن
موارد الحوسبة
الأداة:get_aks_vmss_info
- احصل على تكوين مفصل لمجموعات مقياس الآلة الافتراضية (مجموعات العقد) في عنقود AKS
إدارة الأسطول
الأداة:az_fleet
إدارة شاملة لأسطول Azure لسيناريوهات المجموعات المتعددة.
العمليات المتاحة:
- عمليات الأسطول: القائمة، العرض، الإنشاء، التحديث، الحذف، الحصول على بيانات الاعتماد
- عمليات الأعضاء: سرد، عرض، إنشائ، تحديث، حذف
- تحديث تشغيل العمليات: قائمة، عرض، إنشاء، بدء، إيقاف، حذف
- تحديث عمليات الاستراتيجية: إدراج، عرض، إنشائ، حذف
- ClusterResourcePlacement Operations: إدراج، عرض، حصل، إنشاء، حذف
يدعم كل من إدارة Azure Fleet وعمليات Kubernetes ClusterResourcePlacement CRD.
كواشف التشخيص
الأداة:aks_detector
أداة موحدة لتنفيذ عمليات كاشف التشخيص في AKS.
العمليات المتاحة:
-
list: قم بجميع كواشف التجمعات المتاحة من AKS -
runتشغيل كاشف تشخيصي محدد ل AKS : -
run_by_categoryتشغيل جميع الكواشف في فئة محددة:
المعلمات:
-
operation(مطلوب): عملية لأداء (list,run, أوrun_by_category) -
aks_resource_id(مطلوب): معرف موارد عنقود AKS -
detector_name(مطلوب للتشغيلrun): اسم الكاشف الذي سيتم تشغيله -
category(مطلوب للتشغيلrun_by_category): فئة الكاشف -
start_time(مطلوب للعملياتrunوالعملياتrun_by_category): وقت البدء بصيغة UTC ISO (خلال آخر 30 يوما) -
end_time(مطلوب للعملياتrunوالعملياتrun_by_category): وقت الانتهاء بصيغة UTC ISO (خلال آخر 30 يوما، بحد أقصى 24 ساعة من البدء)
الفئات المتاحة:
- أفضل الممارسات
- توفر وأداء العنقود ومستوى التحكم
- مشاكل الاتصال
- إنشاء، ترقية، حذف، وتكبير
- عمليات الإهمال
- الهوية والأمان
- صحة العقدة
- خزن
مثال على الاستخدام:
الأداة:run_detectors_by_category
{
"operation": "list",
"aks_resource_id": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ContainerService/managedClusters/xxx"
}
{
"operation": "run",
"aks_resource_id": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ContainerService/managedClusters/xxx",
"detector_name": "node-health-detector",
"start_time": "2025-01-15T10:00:00Z",
"end_time": "2025-01-15T12:00:00Z"
}
Azure Advisor
الأداة:aks_advisor_recommendation
استرجاع وإدارة توصيات Azure Advisor لعناقيد AKS.
العمليات المتاحة:
-
list: قائمة التوصيات مع خيارات التصفية -
report: إنشاء تقارير التوصية - خيارات التصفية: resource_group، cluster_names، الفئة (التكلفة، التوفر العالي، الأداء، الأمان)، الشدة (عالية، متوسطة، منخفضة)
قابلية الرصد في الوقت الحقيقي
الأداة:inspektor_gadget_observability
أداة الملاحظة في الوقت الحقيقي لتجمعات Azure Kubernetes Service (AKS) باستخدام eBPF.
الإجراءات المتاحة:
-
deployنشر أداة إنسبيكتور إلى التجمع: -
undeploy: إزالة أداة إنسبيكتور من الكلاستر -
is_deployed: تحقق من حالة النشر -
run: شغل أدوات ذات ضربة واحدة -
start: ابدأ الأجهزة المتواصلة -
stop: توقف عن تشغيل الأدوات -
get_resultsاسترجاع نتائج الأدوات : -
list_gadgets: قائمة الأجهزة المتاحة
الأدوات المتاحة:
-
observe_dnsمراقبة طلبات واستجابات DNS: -
observe_tcpمراقبة اتصالات TCP : -
observe_file_open: مراقبة عمليات نظام الملفات -
observe_process_executionمراقبة تنفيذ العمليات: -
observe_signalمراقبة توصيل الإشارة: -
observe_system_calls: مراقبة استدعاءات النظام -
top_file: الملفات العليا حسب عمليات الإدخال/الإخراج -
top_tcp: أعلى اتصالات TCP حسب حركة المرور -
tcpdump: التقاط حزم الشبكة
البدء مع خادم AKS MCP
خادم AKS MCP له وضعان: محلي وبعيد. في هذا القسم، نغطي حالات الاستخدام وعمليات التثبيت لكلا الوضعين.
خادم MCP المحلي
في الوضع المحلي، يعمل خادم MCP على جهاز المطور المحلي ويتصل ب AKS باستخدام صلاحيات المطور الحالية. هذا الوضع هو الأفضل لإعداد وكيل الذكاء الاصطناعي المحلي لديك بسرعة مع خبرة وأدوات AKS دون الحاجة إلى مكونات على جانب العنقود. يمكن للوضع المحلي استخدام سياق العنقود الحالي ويطبق صلاحيات المطور Kubernetes وAzure RBAC. افتراضيا، يدعم خادم AKS MCP المحلي وضعي النقل STDIO وSSE.
المتطلبات
قبل تثبيت خادم AKS MCP، قم بإعداد Azure CLI وقم بالتحقق من:
az login
أسهل طريقة للبدء مع AKS-MCP هي من خلال إضافة خدمة Azure Kubernetes لكود VS. تتعامل إضافة AKS مع التنزيلات الثنائية والتحديثات والتكوين تلقائيا، مما يضمن دائما حصولك على أحدث إصدار مع أفضل الإعدادات.
الخطوة 1: تثبيت امتداد AKS
- افتح كود VS واذهب إلى الإضافات (
Ctrl+Shift+Xعلى ويندوز/لينكس أوCmd+Shift+Xعلى macOS). - Search for Azure Kubernetes Service.
- قم بتثبيت الإضافة الرسمية لمايكروسوفت AKS.
الخطوة 2: تشغيل خادم AKS-MCP
- افتح لوحة الأوامر (
Ctrl+Shift+Pعلى ويندوز/لينكس أوCmd+Shift+Pعلى macOS). - ابحث وتشغيل: AKS: إعداد خادم AKS MCP.
عند التثبيت الناجح، يظهر الخادم في MCP: List Servers (عبر لوحة الأوامر). من هناك، يمكنك تشغيل خادم MCP أو عرض حالته.
الخطوة 3: ابدأ باستخدام AKS-MCP
بمجرد التشغيل، يظهر خادم MCP في قائمة الدردشة Copilot: Configure Tools المنسدلة تحت MCP Server: AKS MCP، جاهزة لتحسين التوجيهات السياقية بناء على بيئة AKS الخاصة بك. افتراضيا، جميع أدوات الخادم AKS-MCP مفعلة. يمكنك مراجعة قائمة الأدوات المتاحة وتعطيل أي أدوات غير مطلوبة في حالتك.
جرب تنبيه مثل "سرد جميع مجموعات AKS الخاصة بي" لتبدأ باستخدام أدوات من خادم AKS-MCP.
تلميح
تكوين WSL: إذا كنت تستخدم VS Code على ويندوز مع WSL، استخدمه "command": "wsl" لاستدعاء ملف WSL الثنائي. إذا كان VS Code يعمل داخل WSL (Remote-WSL)، فاتصل بالملف الثنائي مباشرة أو استخدم غلاف bash بدلا من ذلك.
خادم MCP البعيد
في الوضع البعيد، يعمل خادم MCP كعبء عمل داخل عنقود AKS أو أي حساب تختاره. هذا الوضع هو الأفضل لبيئات الإنتاج التي تحتوي على أدوات مشتركة، وأصار متسقة بين المستخدمين، وتحكم كامل في الوصول باستخدام Kubernetes ServiceAccount وWorkload Identity. يستخدم خادم AKS MCP البعيد بروتوكول HTTP لتسهيل التفاعل بين مساعد الذكاء الاصطناعي وعنقود AKS.
المتطلبات
- عنقود AKS مع Kubernetes 1.19+
- هيلم 3.8+
- تم تثبيت والتحقق من Azure CLI (
az login)
التثبيت باستخدام مخطط الخوذة
قم باستنساخ المستودع وثبت مخطط خوذة AKS-MCP:
git clone https://github.com/Azure/aks-mcp.git
cd aks-mcp/chart
helm install aks-mcp . --namespace aks-mcp --create-namespace
للحصول على القائمة الكاملة لمعلمات التكوين، راجع توثيق مخطط هيلم.
تكوين المصادقة
اختر طريقة مصادقة بناء على بيئتك ومتطلبات الأمان:
يوفر Workload Identity مصادقة بدون كلمة مرور عن طريق ربط حساب خدمة Kubernetes بهوية مدارة من Azure.
1. تمكين OIDC على عنقود AKS الخاص بك
az aks update \
--resource-group <your-resource-group> \
--name <your-aks-cluster> \
--enable-oidc-issuer \
--enable-workload-identity
2. إنشاء هوية مدارة وتعيين صلاحيات RBAC
# Create identity
az identity create --resource-group <your-resource-group> --name aks-mcp-identity --location <your-location>
# Get IDs
IDENTITY_CLIENT_ID=$(az identity show --resource-group <your-resource-group> --name aks-mcp-identity --query "clientId" -o tsv)
IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group <your-resource-group> --name aks-mcp-identity --query "principalId" -o tsv)
# Assign Reader role (use Contributor for readwrite access)
az role assignment create --role "Reader" --assignee-object-id $IDENTITY_PRINCIPAL_ID --assignee-principal-type ServicePrincipal --scope "/subscriptions/<subscription-id>"
3. إنشاء بطاقة هوية اتحادية
AKS_OIDC_ISSUER=$(az aks show --resource-group <your-resource-group> --name <your-aks-cluster> --query "oidcIssuerProfile.issuerUrl" -o tsv)
az identity federated-credential create \
--name "aks-mcp-federated-credential" \
--identity-name aks-mcp-identity \
--resource-group <your-resource-group> \
--issuer $AKS_OIDC_ISSUER \
--subject "system:serviceaccount:aks-mcp:aks-mcp" \
--audience api://AzureADTokenExchange
مهم
أنشئ الاعتماد الفيدرالي قبل تثبيت مخطط الخوذة.
4. تثبيت مع تفعيل Workload Identity
helm install aks-mcp . \
--namespace aks-mcp \
--create-namespace \
--set workloadIdentity.enabled=true \
--set azure.clientId=$IDENTITY_CLIENT_ID \
--set azure.subscriptionId=<your-subscription-id>
Enable Ingress with Azure App Routing
عرض خادم MCP خارجيا باستخدام Azure App Routing:
# Enable App Routing on your cluster
az aks approuting enable --resource-group <your-resource-group> --name <your-cluster-name>
# Install with Ingress enabled
helm install aks-mcp . \
--namespace aks-mcp \
--create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=aks-mcp.example.com \
--set ingress.hosts[0].paths[0].path=/ \
--set ingress.hosts[0].paths[0].pathType=Prefix \
--set azure.existingSecret=azure-credentials
اربط عميل MCP الخاص بك
بعد النشر، قم بتوصيل مساعد الذكاء الاصطناعي الخاص بك بخادم MCP البعيد:
# Port forward for local testing
kubectl port-forward svc/aks-mcp 8000:8000 -n aks-mcp
قم بتكوين عميل MCP الخاص بك للاتصال:
{
"mcpServers": {
"aks-mcp": {
"url": "http://localhost:8000",
"transport": "streamable-http"
}
}
}
للوصول داخل العنقود، استخدم: http://aks-mcp.aks-mcp.svc.cluster.local:8000
مرجع تكوين الدفة
| المعلمه | وصف | Default |
|---|---|---|
workloadIdentity.enabled |
Enable Azure Workload Identity | false |
azure.clientId |
Azure Client ID | "" |
azure.tenantId |
معرف مستأجر Azure | "" |
azure.clientSecret |
Azure Client Secret | "" |
azure.subscriptionId |
معرف اشتراك Azure | "" |
azure.existingSecret |
استخدم سر كوبيرنتيز موجود | "" |
app.accessLevel |
مستوى الوصول: readonly, readwrite, admin |
readonly |
app.transport |
النقل: stdio, , ssestreamable-http |
streamable-http |
oauth.enabled |
تمكين مصادقة OAuth | false |
ingress.enabled |
تمكين الدخول | false |
قم بإلغاء تثبيت خادم AKS MCP
تعتمد عملية إلغاء تثبيت خادم AKS MCP على وضع النشر ومكان تشغيله الحالي.
كود VS مع امتداد AKS
- افتح لوحة الأوامر (
Ctrl+Shift+Pعلى ويندوز/لينكس أوCmd+Shift+Pعلى macOS). - شغل MCP: خوادم القوائم.
- اختر AKS MCP من القائمة.
- اختر إيقاف الخادم لإيقاف الخادم التشغيلي.
- لإزالة التكوين، اختر حذف تكوين الخادم.
بدلا من ذلك، قم بإزالة إعدادات الخادم يدويا:
- افتح ملفك
.vscode/mcp.jsonأو إعدادات المستخدم في كود VS. - احذف الإدخال
aks-mcp-serverمنserversكائن أوgithub.copilot.chat.mcp.servers. - احذف الملف الثنائي AKS-MCP من نظامك (الموقع يختلف حسب طريقة التثبيت).
Docker
إذا كنت تستخدم مجموعة أدوات Docker MCP:
- افتح سطح مكتب Docker.
- اختر مجموعة أدوات MCP في الشريط الجانبي الأيسر.
- ابحث عن خادم AKS-MCP وعطله.
إذا كنت تستخدم تكوين محوى في الحاوية، أوقف الحاوية وأزلها:
docker stop <container-id>
docker rm <container-id>
عملاء MCP الآخرون
قم بإزالة الإدخال aks أو aks-mcp من ملف إعدادات عميل MCP الخاص بك (على سبيل المثال، ملف claude_desktop_config.jsonClaude Desktop ).
المشاكل الشائعة وتحري الخلل وإصلاحه
يوضح هذا القسم المشاكل الشائعة في الإعداد ووقت التشغيل، وأعراضها، وكيفية حلها.
خادم AKS MCP لا يمكنه الوصول إلى العنقود
الأعراض:
- الأدوات تعيد أخطاء التفويض
- لا توجد مصادر مرئية
الأسباب المحتملة:
- هوية المستخدم أو MCP لا تملك أذونات كافية
- ربط حساب الخدمة غير صحيح
- سياق kubeconfig تم تكوينه بشكل خاطئ (الوضع المحلي)
Resolution:
- الوضع المحلي: تحقق من أن لديك صلاحيات كافية للوصول إلى العنقود. تحقق من أنك في المجموعة الصحيحة وسياق الاشتراك.
- الوضع البعيد: تحقق من روابط ClusterRole لحساب الخدمة المستخدم من قبل خادم MCP
استدعاءات Azure API تفشل
الأعراض:
- call_az الأدوات تعيد أخطاء المصادقة أو التفويض
الأسباب المحتملة:
- هوية عبء العمل غير مفعلة لمجموعة العمل الخاصة بك
- ServiceAccount غير اتحادي
- تعيينات RBAC المفقودة في Azure
Resolution:
- تحقق من تفعيل Workload Identity على عنقودك
- تحقق من تكوين الهوية الفيدرالي
- تعيين أدوار Azure المناسبة للهوية المدارة
الخطوات التالية
تعرف أكثر على الميزات الذكية التي تم بناؤها بشكل أصلي ل AKS:
- حول مؤشر CLI الوكيل ل AKS
- تثبيت واستخدام CLI الوكيل ل AKS