GitHub EN PT

K8s em Exemplos: Cluster Local

Você precisa de um cluster para rodar Kubernetes. Para desenvolvimento local, kind (Kubernetes in Docker) é a forma mais rápida de começar. Ele roda um cluster dentro de containers Docker.

terminal

Instale o kind usando seu gerenciador de pacotes. No macOS use Homebrew, no Linux baixe o binário diretamente.

# macOS
$ brew install kind

# Linux
$ curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
$ chmod +x ./kind
$ sudo mv ./kind /usr/local/bin/kind
terminal

Crie um cluster. Isso baixa a imagem do node e inicia um container. Leva cerca de 30 segundos.

$ kind create cluster
Creating cluster "kind" ...
 Ensuring node image (kindest/node:v1.31.0)
 Preparing nodes
 Writing configuration
 Starting control-plane
 Installing CNI
 Installing StorageClass
Set kubectl context to "kind-kind"
terminal

Verifique se o cluster está rodando. O kind configura automaticamente o kubectl para conectar ao seu novo cluster.

$ kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:6443
CoreDNS is running at https://127.0.0.1:6443/api/v1/...
terminal

Liste os nodes do cluster. Um cluster kind básico tem um node que atua como control plane e worker.

$ kubectl get nodes
NAME                 STATUS   ROLES           AGE   VERSION
kind-control-plane   Ready    control-plane   45s   v1.31.0
multi-node.yaml

Para uma configuração mais realista, crie um cluster multi-node. Esta config cria um control plane e dois workers.

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
  - role: worker
  - role: worker

Passe o arquivo de config ao criar o cluster.

$ kind create cluster --config multi-node.yaml
$ kubectl get nodes
NAME                 STATUS   ROLES           AGE   VERSION
kind-control-plane   Ready    control-plane   60s   v1.31.0
kind-worker          Ready    <none>          30s   v1.31.0
kind-worker2         Ready    <none>          30s   v1.31.0
terminal

Delete o cluster quando terminar. Isso remove todos os containers e libera recursos.

$ kind delete cluster
Deleting cluster "kind" ...
Deleted nodes: ["kind-control-plane"]
terminal

Outras opções: minikube (mais recursos, mais lento), k3s (leve, bom para edge), ou Docker Desktop (ative nas configurações).

# minikube
$ minikube start

# k3s (apenas Linux)
$ curl -sfL https://get.k3s.io | sh -

# Docker Desktop: Configurações → Kubernetes → Ativar

Índice | Use as setas do teclado para navegar