Sobes.tech
Junior

Já trabalhou com kubeadm?

sobes.tech IA

Resposta da IA

Sim.

Kubeadm é uma ferramenta que ajuda a instalar rápida e facilmente um cluster Kubernetes mínimo na sua máquina. Automatiza etapas-chave na configuração do cluster, como a inicialização do plano de controlo e a junção de nós worker.

Principais passos ao usar kubeadm:

  1. Preparação prévia: Instalação do Docker ou outro runtime de containers, kubelet, kubectl e kubeadm em todos os nós do cluster. Configuração da ponte de rede e desativação do swap.
  2. Inicialização do plano de controlo: Executa-se o comando kubeadm init no nó que será o master. Isto cria os certificados necessários, o cluster etcd, e coloca os componentes do plano de controlo (API server, Controller manager, Scheduler, Kube-proxy) como pods estáticos ou como serviços.
  3. Desdobramento do plugin de rede (CNI): Após a inicialização do nó master, é necessário instalar um plugin de rede (por exemplo, Calico, Flannel, Weave Net) para garantir a comunicação entre os pods.
    # Exemplo de comando para instalar Calico
    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    
  4. Junção de nós worker: Em cada nó worker, executa-se o comando kubeadm join, fornecido por kubeadm init. Este comando conecta o nó worker ao cluster, instalando kubelet e kube-proxy e registando o nó no plano de controlo.
    # Exemplo de comando join
    kubeadm join <ip_do_nó_master>:<porta_api> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    
  5. Configuração de acesso: Copiar a configuração kubeconfig do nó master para poder trabalhar com o cluster usando kubectl.
    # Exemplo de comandos para configurar kubectl
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

O kubeadm simplifica o processo de implantação, mas não é uma ferramenta completa para gerir o ciclo de vida do cluster (atualizações, escalonamento, monitorização). Para ambientes de produção, são frequentemente utilizados ferramentas ou distribuições Kubernetes mais avançadas. No entanto, o kubeadm é um excelente ponto de partida para aprender e criar clusters de teste.