OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  k8-multicluster:管理多个 Kubernetes 集群并快速切换上下文

k8-multicluster:管理多个 Kubernetes 集群并快速切换上下文

 
  database ·  2026-02-08 11:25:21 · 3 次点击  · 0 条评论  

名称: k8s-multicluster
描述: 管理多个 Kubernetes 集群,切换上下文,并执行跨集群操作。适用于多集群工作、环境对比或集群生命周期管理场景。


多集群 Kubernetes 管理

利用 kubectl-mcp-server 的多集群支持,进行跨集群操作和上下文管理。

上下文管理

列出可用上下文

list_contexts_tool()

查看当前上下文

kubeconfig_view()  # 显示脱敏后的 kubeconfig

切换上下文

CLI 命令:kubectl-mcp-server context <上下文名称>

跨集群操作

所有 kubectl-mcp-server 工具均支持 context 参数:

# 从生产集群获取 Pod
get_pods(namespace="default", context="production-cluster")

# 从预发布集群获取 Pod
get_pods(namespace="default", context="staging-cluster")

常见多集群模式

环境对比

# 跨集群对比部署
compare_namespaces(
    namespace1="production",
    namespace2="staging",
    resource_type="deployment",
    context="production-cluster"
)

并行查询

同时查询多个集群:

# 生产集群
get_pods(namespace="app", context="prod-us-east")
get_pods(namespace="app", context="prod-eu-west")

# 开发集群
get_pods(namespace="app", context="development")

跨集群健康检查

# 检查所有集群
for context in ["prod-1", "prod-2", "staging"]:
    get_nodes(context=context)
    get_pods(namespace="kube-system", context=context)

集群 API (CAPI) 管理

用于管理集群生命周期:

列出受管集群

capi_clusters_list_tool(namespace="capi-system")

获取集群详情

capi_cluster_get_tool(name="prod-cluster", namespace="capi-system")

获取工作负载集群的 Kubeconfig

capi_cluster_kubeconfig_tool(name="prod-cluster", namespace="capi-system")

机器管理

capi_machines_list_tool(namespace="capi-system")
capi_machinedeployments_list_tool(namespace="capi-system")

扩缩容集群

capi_machinedeployment_scale_tool(
    name="prod-cluster-md-0",
    namespace="capi-system",
    replicas=5
)

详细模式请参阅 CONTEXT-SWITCHING.md

多集群 Helm

将 Chart 部署到指定集群:

install_helm_chart(
    name="nginx",
    chart="bitnami/nginx",
    namespace="web",
    context="production-cluster"
)

list_helm_releases(
    namespace="web",
    context="staging-cluster"
)

多集群 GitOps

跨集群 Flux

flux_kustomizations_list_tool(
    namespace="flux-system",
    context="cluster-1"
)

flux_reconcile_tool(
    kind="kustomization",
    name="apps",
    namespace="flux-system",
    context="cluster-2"
)

跨集群 ArgoCD

argocd_apps_list_tool(namespace="argocd", context="management-cluster")

联邦模式

密钥同步

# 从源集群读取
get_secrets(namespace="app", context="source-cluster")

# 应用到目标集群(通过清单)
apply_manifest(secret_manifest, namespace="app", context="target-cluster")

跨集群服务发现

配合 Cilium ClusterMesh 或 Istio 多集群:

cilium_nodes_list_tool(context="cluster-1")
istio_proxy_status_tool(context="cluster-2")

最佳实践

  1. 命名规范:使用描述性上下文名称
    - 例如:prod-us-east-1staging-eu-west-1

  2. 访问控制:不同环境使用独立的 kubeconfig
    - 生产环境:大多数用户仅限只读
    - 开发环境:开发者拥有完全访问权限

  3. 始终指定上下文:避免意外的跨集群操作
    # 显式指定更安全 get_pods(namespace="app", context="production")

  4. 集群分组:按用途组织
    - 生产环境:prod-*
    - 预发布环境:staging-*
    - 开发环境:dev-*

相关技能

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor