# README

cluster-api-provider-kind (capk)
Declarative management of Kind clusters using Kubernetes resources, leveraging cluster-api.
Compatibility / Requirements
- cluster-api >= v0.4 (Cluster API v1alpha4)
- Kind >= v0.9.0
- A Kind cluster running at least Kubernetes 1.16
Features
- Native Kubernetes manifests and API
- Manages the creation of clusters using Kind
- Specify the number of control plane nodes (replicas)
- Choice of Kubernetes version to create
- Specify Kubernetes feature gates and runtime config
Installation
-
Ensure you already have installed Kind and clusterctl.
-
Create a new Kind cluster to use as the management cluster
kind create cluster --name management-cluster
-
Install cluster-api
clusterctl init
-
Install cluster-api-provider-kind into the management cluster
make install deploy
-
Run the Kind API server on the host machine
make run-server
-
Apply cluster manifest
echo 'apiVersion: cluster.x-k8s.io/v1alpha4 kind: Cluster metadata: name: workload-cluster spec: clusterNetwork: pods: cidrBlocks: ["192.168.0.0/16"] infrastructureRef: apiVersion: infrastructure.cluster.x-k8s.io/v1alpha4 kind: KindCluster name: workload-cluster --- apiVersion: infrastructure.cluster.x-k8s.io/v1alpha4 kind: KindCluster metadata: name: workload-cluster spec: replicas: 1' | k apply -f -
Limitations
There are a few limitations that you need to be aware of:
- Kind doesn't provide any way of modifying the config of a running cluster so updates to a
KindCluster
have no effect on the underlying cluster. - Kind requires the Docker binary to function. Kind itself uses CRI / Containerd rather than Docker so the provider requires a REST API server running on the host to interact with Kind.
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author