kind
kind
runs Kubernetes in Docker containers, and maybe more in the future.
Multi-node setup
I am using the following configuration to be able to run a kind
cluster on one of my local
server and target it from my laptop.
Note
wakasu.home IP is 192.168.1.77
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 networking: apiServerAddress: "192.168.1.77" apiServerPort: 8443 containerdConfigPatches: - |- [plugins."io.containerd.grpc.v1.cri".registry.mirrors."localhost:5000"] endpoint = ["http://sakhalin.home:5000"] nodes: - role: control-plane kubeadmConfigPatches: - | kind: InitConfiguration nodeRegistration: kubeletExtraArgs: node-labels: "ingress-ready=true" extraPortMappings: - containerPort: 80 hostPort: 80 protocol: TCP - containerPort: 443 hostPort: 443 protocol: TCP - role: worker - role: worker
Then, to provision this and get the configuration file, it’s a matter of 2 commands.
ssh wakasu.home kind create cluster --config ~/var/kind/wakasu.kind.yaml --name wakasu ssh wakasu.home kind get kubeconfig --name wakasu > ~/.kube/config.wakasu.kind cat <<EOF | kubectl --kubeconfig=$HOME/.kube/config.wakasu.kind apply -f - apiVersion: v1 kind: ConfigMap metadata: name: local-registry-hosting namespace: kube-public data: localRegistryHosting.v1: | host: "localhost:5000" help: "https://kind.sigs.k8s.io/docs/user/local-registry/" EOF