Kind в linux


Делаю:
2025.12.30


https://kind.sigs.k8s.io/docs/user/quick-start/#installing-from-release-binaries


// Если ошибка
// curl: (35) error:0A00010B:SSL routines::wrong version number
// Качай по http, а не по https
$ [ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.30.0/kind-linux-amd64
$ chmod +x ./kind
$ sudo mv ./kind /usr/local/bin/kind


$ kind --version
kind version 0.30.0


Download Cluster Configurations and Create a 3 Node Kubernetes Cluster


Конфиг взят из курса индуса по DevOps. Или по ArgoCD или Ultimate DevSecOps Bootcamp by School of Devops.


$ cat <<EOF | kind create cluster --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 32000
    hostPort: 32000
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 32100
    hostPort: 32100
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30000
    hostPort: 30000
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30055
    hostPort: 30055
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30056
    hostPort: 30056
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30100
    hostPort: 30100
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30200
    hostPort: 30200
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30300
    hostPort: 30300
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30400
    hostPort: 30400
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30500
    hostPort: 30500
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30600
    hostPort: 30600
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30700
    hostPort: 30700
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 30800
    hostPort: 30800
    listenAddress: "0.0.0.0"
    protocol: tcp
- role: worker
  extraPortMappings:
  - containerPort: 80
    hostPort: 80
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 8000
    hostPort: 8000
    listenAddress: "0.0.0.0"
    protocol: tcp
  - containerPort: 8080
    hostPort: 8001
    listenAddress: "0.0.0.0"
    protocol: tcp

- role: worker

EOF


Validate

$ kind get clusters
$ kubectl cluster-info --context kind-kind


$ kubectl get nodes
NAME                 STATUS   ROLES           AGE   VERSION
kind-control-plane   Ready    control-plane   36s   v1.34.0
kind-worker          Ready    <none>          26s   v1.34.0
kind-worker2         Ready    <none>          25s   v1.34.0


[Дополнительно] Визуализировать в UI контейнеры

$ cd ~/projects/courses/kubernetes/
$ git clone https://github.com/schoolofdevops/kube-ops-view
$ kubectl apply -f kube-ops-view/deploy/


$ kubectl get pods
NAME                             READY   STATUS    RESTARTS   AGE
kube-ops-view-6ffb44dd6c-7qljz   1/1     Running   0          31s


// OK!
http://localhost:32000/


Restarting and Resetting the Cluster

// $ docker stop kind-control-plane kind-worker kind-worker2
// $ docker start kind-control-plane kind-worker kind-worker2


$ kind get clusters
kind


// Delete cluster
// $ kind delete cluster --name kind