k8s-capi

Cluster API Lifecycle Management

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "k8s-capi" with this command: npx skills add rohitg00/kubectl-mcp-server/rohitg00-kubectl-mcp-server-k8s-capi

Cluster API Lifecycle Management

Manage Kubernetes clusters using kubectl-mcp-server's Cluster API tools (11 tools).

When to Apply

Use this skill when:

  • User mentions: "Cluster API", "CAPI", "cluster lifecycle", "machine", "workload cluster"

  • Operations: provisioning clusters, scaling nodes, upgrading Kubernetes versions

  • Keywords: "provision cluster", "scale workers", "machine deployment", "cluster class"

Priority Rules

Priority Rule Impact Tools

1 Detect CAPI installation first CRITICAL capi_detect_tool

2 Check cluster phase before operations HIGH capi_cluster_get_tool

3 Monitor machines during scaling HIGH capi_machines_list_tool

4 Get kubeconfig after provisioning MEDIUM capi_cluster_kubeconfig_tool

Quick Reference

Task Tool Example

Detect CAPI capi_detect_tool

capi_detect_tool()

List clusters capi_clusters_list_tool

capi_clusters_list_tool(namespace)

Get cluster kubeconfig capi_cluster_kubeconfig_tool

capi_cluster_kubeconfig_tool(name, namespace)

Scale workers capi_machinedeployment_scale_tool

capi_machinedeployment_scale_tool(name, namespace, replicas)

Check Installation

capi_detect_tool()

List Clusters

List all CAPI clusters

capi_clusters_list_tool(namespace="default")

Shows:

- Cluster name

- Phase (Provisioning, Provisioned, Deleting)

- Infrastructure ready

- Control plane ready

Get Cluster Details

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

Shows:

- Spec (control plane, infrastructure)

- Status (phase, conditions)

- Network configuration

Get Cluster Kubeconfig

Get kubeconfig for workload cluster

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

Returns kubeconfig to access the cluster

Machines

List Machines

capi_machines_list_tool(namespace="default")

Shows:

- Machine name

- Cluster

- Phase (Running, Provisioning, Failed)

- Provider ID

- Version

Get Machine Details

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

Machine Deployments

List Machine Deployments

capi_machinedeployments_list_tool(namespace="default")

Shows:

- Deployment name

- Cluster

- Replicas (ready/total)

- Version

Scale Machine Deployment

Scale worker nodes

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")

Health checks automatically remediate unhealthy machines

Cluster Classes

List cluster templates

capi_clusterclasses_list_tool(namespace="default")

ClusterClasses define reusable cluster configurations

Create Cluster

kubectl_apply(manifest=""" apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: 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 """)

Create Machine Deployment

kubectl_apply(manifest=""" apiVersion: cluster.x-k8s.io/v1beta1 kind: MachineDeployment metadata: 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 """)

Cluster Lifecycle Workflows

Provision New Cluster

  1. kubectl_apply(cluster_manifest)
  2. capi_clusters_list_tool(namespace) # Wait for Provisioned
  3. capi_cluster_kubeconfig_tool(name, namespace) # Get access

Scale Workers

  1. capi_machinedeployments_list_tool(namespace)
  2. capi_machinedeployment_scale_tool(name, namespace, replicas)
  3. capi_machines_list_tool(namespace) # Monitor

Upgrade Cluster

  1. Update control plane version

  2. Update machine deployment version

  3. capi_machines_list_tool(namespace) # Monitor rollout

Troubleshooting

Cluster Stuck Provisioning

  1. capi_cluster_get_tool(name, namespace) # Check conditions
  2. capi_machines_list_tool(namespace) # Check machine status
  3. get_events(namespace) # Check events
  4. Check infrastructure provider logs

Machine Failed

  1. capi_machine_get_tool(name, namespace)
  2. get_events(namespace)
  3. Common issues:

    - Cloud provider quota

    - Invalid machine template

    - Network issues

Related Skills

  • k8s-multicluster - Multi-cluster operations

  • k8s-operations - kubectl operations

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

k8s-troubleshoot

No summary provided by upstream source.

Repository SourceNeeds Review
General

k8s-storage

No summary provided by upstream source.

Repository SourceNeeds Review
General

k8s-helm

No summary provided by upstream source.

Repository SourceNeeds Review