Pesquisa na minha base

Instalando o kind no linux (kubernetes em localhost)

Kind significa kubernetes in docker, ou seja é uma forma de estudar kubernetes em localhost com o mínimo de recursos possíveis. Ideal para desenvolvedores e profissionais de infraestrutura iniciarem os seus estudos sobre Kubernetes.

Ele é multiplataforma, ou seja está disponível para windows, linux e macos.

Uma breve introdução, um cluster kubernets é composto nodes (maquinas físicas ou virtuais). Temos dois tipos de nodes control-plane (manager) e os workers (responsáveis pelo trabalho pesado). No caso do kind ele cria um container do docker para cada node em execução.

No kind o node control-plane nos permite por padrão executar os pods. Os pods são a menor unidade do kubernetes e podem conter um ou mais containers.

Instalando o Docker via script de conveniência

O script vai identificar qual é a sua distro e instalar o pacote correto.

sudo curl -fsSL https://get.docker.com/ | sh

docker --version

Doc ofical do docker

Antes do kind vamos instalar o binário do kubectl

Ele tem 50mb em média, e vai nos permite interagir com o cluster kubernetes e seus respectivos arquivos de configuração ~/.kube/config chamado de kubeconfig criados automaticamente quando você cria um cluster no kind e solicitado que seja criado no output ao iniciar um cluster kubernetes real.

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

chmod +x ./kubectl

sudo mv ./kubectl /usr/local/bin/kubectl

kubectl version --client

Doc ofical do kubectl

Agora sim vamos instalar o kind

Obs. Estamos instalando a versão v0.12.0 atual estável em 01/05/22, consulte o aqui a ultima release e faça a substituição da versão na url.

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.12.0/kind-linux-amd64

chmod +x ./kind

sudo mv ./kind /usr/local/bin/

kind version

Configurando o auto complete para o kubectl e um alias k=kubectl e fazendo o auto completar funcionar com o alias.

echo 'source <(kubectl completion bash)' >>~/.bashrc

echo 'alias k=kubectl' >>~/.bashrc

echo 'complete -F __start_kubectl k' >>~/.bashrc

source ~/.bashrc

Doc ofical do kind

Criando um cluster de nó único (control-plane) manager

kind create cluster --name cluster-dev

Comandos básicos

# Listando os clusters
kind get clusters

# Listando os nodes
kubectl get nodes

# Informações do seu cluster
kubectl cluster-info --context kind-cluster-dev

# Gerando um dump do seu cluster
kubectl cluster-info dump

# Listando os containers
docker container ls

# Deletando o cluster
kind delete cluster --name cluster-dev