Criando Cluster com configurações
Se você chegou a este post sem saber muito bem do que se trata, deixe-me explicar. Abaixo, vamos criar um cluster por meio de um arquivo YAML. Este post é uma continuação do seguinte artigo feito aqui no tabews mesmo: Iniciando com kubernetes e kind
Então, vamos dar continuidade à série sobre Kubernetes com Kind.
Criando Cluster com configurações
Olá agora vamos criar um cluster com mais nós.
primeiramente, crie uma pasta chamada k8s
e um arquivo dentro chamando kind-config.yaml
agora, você pode colocar a seguinte configuração
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker
calma, agora vou explicar oque está acontecendo.
Indica que estamos definindo um cluster Kind. Esta é a seção principal que especifica que estamos criando um novo cluster.
kind: Cluster
Isso define a versão da API do Kind que estamos usando. Essa especificação ajuda a garantir a compatibilidade com a versão específica do Kind que estamos utilizando.
apiVersion: kind.x-k8s.io/v1alpha4
Esta é uma lista de nós no cluster. Cada nó representa uma instância de um contêiner Docker que será um nó Kubernetes no cluster Kind.
nodes:
Este é o primeiro nó no cluster e desempenha o papel de nó de controle. Ele hospeda componentes como o kube-apiserver, kube-controller-manager e kube-scheduler, que são essenciais para a operação do cluster Kubernetes.
- role: control-plane
Os nós com o papel de "worker" são responsáveis por executar as cargas de trabalho do usuário. Eles executam pods e serviços conforme necessário.
- role: worker
- role: worker
- role: worker
Bom, agora vamos executar esse arquivo.
Esse comando abaixo significa que estamos criando um cluster através do arquivo de configuração que criamos há pouco, e o --name= significa que estamos dando um nome para o nosso cluster.
Antes de executar o comando, volte uma pasta.
cd ..
Agora execute o comando abaixo.
kind create cluster --config=k8s/kind-config.yaml --name=kind-config
Se tudo ocorreu conforme desejado, você deve ser capaz de visualizar isso.
Creating cluster "kind-config" ...
✓ Ensuring node image (kindest/node:v1.29.2) 🖼
✓ Preparing nodes 📦 📦 📦 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
✓ Joining worker nodes 🚜
Set kubectl context to "kind-kind-config"
You can now use your cluster with:
kubectl cluster-info --context kind-kind-config
Thanks for using kind! 😊
E agora podemos observar que, ao contrário do estado anterior, temos 4 nós:
✓ Preparing nodes 📦 📦 📦 📦
Podemos verificar com o seguinte comando:
kubectl get nodes
Você deve ser capaz de ver a seguinte saída:
NAME STATUS ROLES AGE VERSION
kind-config-control-plane Ready control-plane 117s v1.29.2
kind-config-worker Ready <none> 88s v1.29.2
kind-config-worker2 Ready <none> 87s v1.29.2
kind-config-worker3 Ready <none> 92s v1.29.2
Agora vamos executar o comando para usar o cluster:
kubectl cluster-info --context kind-kind-config
Observação: Se você usou um nome diferente no comando usado para criar o cluster, na parte do --name=, é necessário especificar o mesmo nome no comando acima. Por exemplo:
kubectl cluster-info --context nomedoseucluster
Você também pode descobrir o nome do seu cluster com o seguinte comando:
kind get clusters
Espero que tenham gostado! Como mencionei, estou iniciando no mundo do Kubernetes e o que compartilhei foi o que aprendi em um curso. porém expliquei do meu jeito, então espero que o conhecimento tenha sido útil para vocês.
Em breve, continuaremos com outros posts na sequência.