OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  k8s-capi:用于配置、扩展和升级的集群 API 生命周期管理

k8s-capi:用于配置、扩展和升级的集群 API 生命周期管理

 
  authentication ·  2026-02-08 11:43:36 · 3 次点击  · 0 条评论  

名称: k8s-capi
描述: 使用 Cluster API 进行 Kubernetes 集群生命周期管理,包括集群的创建、扩缩容和升级。适用于管理集群基础设施或多集群操作。


Cluster API 生命周期管理

使用 kubectl-mcp-server 的 Cluster API 工具(共 11 个)管理 Kubernetes 集群。

检查安装

capi_detect_tool()

列出集群

# 列出所有 CAPI 集群
capi_clusters_list_tool(namespace="default")

# 显示信息:
# - 集群名称
# - 阶段(Provisioning, Provisioned, Deleting)
# - 基础设施就绪状态
# - 控制平面就绪状态

获取集群详情

capi_cluster_get_tool(name="my-cluster", namespace="default")

# 显示信息:
# - 规格(控制平面、基础设施)
# - 状态(阶段、条件)
# - 网络配置

获取集群 Kubeconfig

# 获取工作负载集群的 kubeconfig
capi_cluster_kubeconfig_tool(name="my-cluster", namespace="default")

# 返回用于访问集群的 kubeconfig

机器(Machines)

列出机器

capi_machines_list_tool(namespace="default")

# 显示信息:
# - 机器名称
# - 所属集群
# - 阶段(Running, Provisioning, Failed)
# - 提供商 ID
# - 版本

获取机器详情

capi_machine_get_tool(name="my-cluster-md-0-xxx", namespace="default")

机器部署(Machine Deployments)

列出机器部署

capi_machinedeployments_list_tool(namespace="default")

# 显示信息:
# - 部署名称
# - 所属集群
# - 副本数(就绪数/总数)
# - 版本

扩缩容机器部署

# 扩缩容工作节点
capi_machinedeployment_scale_tool(
    name="my-cluster-md-0",
    namespace="default",
    replicas=5
)

机器集(Machine Sets)

capi_machinesets_list_tool(namespace="default")

机器健康检查(Machine Health Checks)

capi_machinehealthchecks_list_tool(namespace="default")

# 健康检查会自动修复不健康的机器

集群类(Cluster Classes)

# 列出集群模板
capi_clusterclasses_list_tool(namespace="default")

# ClusterClasses 定义了可复用的集群配置

创建集群

kubectl_apply(manifest="""
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
**元数据:**
  name: my-cluster
  namespace: default
spec:
  clusterNetwork:
    pods:
      cidrBlocks:
      - 192.168.0.0/16
    services:
      cidrBlocks:
      - 10.96.0.0/12
  controlPlaneRef:
    apiVersion: controlplane.cluster.x-k8s.io/v1beta1
    kind: KubeadmControlPlane
    name: my-cluster-control-plane
  infrastructureRef:
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: AWSCluster
    name: my-cluster
""")

创建机器部署

kubectl_apply(manifest="""
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineDeployment
**元数据:**
  name: my-cluster-md-0
  namespace: default
spec:
  clusterName: my-cluster
  replicas: 3
  selector:
    matchLabels:
      cluster.x-k8s.io/cluster-name: my-cluster
  template:
    spec:
      clusterName: my-cluster
      version: v1.28.0
      bootstrap:
        configRef:
          apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
          kind: KubeadmConfigTemplate
          name: my-cluster-md-0
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: AWSMachineTemplate
        name: my-cluster-md-0
""")

集群生命周期工作流

创建新集群

1. kubectl_apply(cluster_manifest)
2. capi_clusters_list_tool(namespace)  # 等待状态变为 Provisioned
3. capi_cluster_kubeconfig_tool(name, namespace)  # 获取访问权限

扩缩容工作节点

1. capi_machinedeployments_list_tool(namespace)
2. capi_machinedeployment_scale_tool(name, namespace, replicas)
3. capi_machines_list_tool(namespace)  # 监控状态

升级集群

1. # 更新控制平面版本
2. # 更新机器部署版本
3. capi_machines_list_tool(namespace)  # 监控滚动更新

故障排查

集群卡在 Provisioning 状态

1. capi_cluster_get_tool(name, namespace)  # 检查条件
2. capi_machines_list_tool(namespace)  # 检查机器状态
3. get_events(namespace)  # 检查事件
4. # 检查基础设施提供商日志

机器启动失败

1. capi_machine_get_tool(name, namespace)
2. get_events(namespace)
3. # 常见问题:
   # - 云提供商配额不足
   # - 机器模板无效
   # - 网络问题

相关技能

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