Skip to content
Linux8a edited this page Feb 28, 2023 · 1 revision

Kind

kind es una herramienta para ejecutar clústeres locales de Kubernetes utilizando "nodos" de contenedores Docker. kind se diseñó principalmente para probar Kubernetes, pero se puede usar para desarrollo local o CI.

  • Podrá ver como instalar y usar kind directamente
  • O podrá ejecutarlo directamente desde terraform

Instalar kind

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

https://kind.sigs.k8s.io/docs/user/quick-start/#installation

kind desde bash

Se deseas correr directamente un nodo control-plan y un worker

cat <<EOF | kind create cluster --name kindcluster --config -
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
EOF

Si deseas especificar un registry mirror declaralo asi

cat <<EOF | kind create cluster --name kindcluster --config -
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
containerdConfigPatches:
- |-
 [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry_o_ip:5000"]
 endpoint = ["http://registry_o_ip:5000"]
 [plugins."io.containerd.grpc.v1.cri".registry.configs."registry_o_ip:5000".tls]
    insecure_skip_verify = true
nodes:
- role: control-plane
- role: worker
EOF

Terraform kind

Si deseamos desplegar kind desde terraform podemos usar el siguiente git https://github.com/linux8a/terraform-kind

Es requerido tener instalado Terraform y kubectl previamente.

git clone https://github.com/linux8a/terraform-kind.git && cd terraform-kind
terraform init

Si va usar un registry mirrors docker declare la ip y el puerto o el fqdns. Ej: 192.168.1.10:5000 o docker.midominio.cu Si no va a usar un registry mirror comente en cluster_kind.tf la session

    containerd_config_patches = [
            <<-TOML
             [plugins."io.containerd.grpc.v1.cri".registry.mirrors."${var.registry_mirrors}"]
                endpoint = ["http://${var.registry_mirrors}"]
             [plugins."io.containerd.grpc.v1.cri".registry.configs."${var.registry_mirrors}".tls]
                insecure_skip_verify = ${var.insecure_skip_verify}
            TOML
        ]
terraform apply --auto-approve

Una vez ejecutado tendrá el siguiente mensaje:

terraform completado

Comprobar cluster

kubectl cluster-info

Referencia: https://kind.sigs.k8s.io/

Clone this wiki locally