Este projeto configura um cluster Kubernetes em um ambiente bare-metal no Proxmox, com instalação e configuração de diversas ferramentas, como o MetalLB e o Ingress Nginx, para gerenciar o tráfego de rede e expor serviços externamente. Segue uma lista das ferramentas necessárias para a instalação e gerenciamento do cluster e instruções sobre como instalá-las.
- Descrição: Proxmox é uma plataforma de virtualização que permite gerenciar múltiplas máquinas virtuais (VMs) e containers, servindo como o ambiente base para criar os nós do cluster.
- Instalação: Proxmox VE Installation Guide
- Descrição: Kubernetes é a plataforma de orquestração de containers usada para implantar, escalar e gerenciar as aplicações. Precisamos do kubectl para gerenciar o cluster.
- Instalação do Kubectl:
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/
- Documentação: Kubernetes Documentation
- Descrição: Helm é o gerenciador de pacotes para Kubernetes, que facilita a instalação e gerenciamento de aplicações, como o MetalLB e o Ingress Nginx.
- Instalação:
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh
- Documentação: Helm Documentation
- Descrição: MetalLB é um add-on que fornece funcionalidade de LoadBalancer em clusters Kubernetes em ambiente bare-metal, permitindo alocar endereços IP externos para serviços expostos.
- Instalação: A instalação do MetalLB será feita dentro do cluster Kubernetes usando o Helm, após a configuração inicial dos nós.
- Descrição: O Ingress Nginx é um controlador de Ingress para Kubernetes que gerencia o roteamento de tráfego HTTP e HTTPS, essencial para expor os serviços do cluster de maneira controlada.
- Instalação: A instalação do Ingress Nginx também será realizada com Helm dentro do cluster Kubernetes.
- Descrição: Docker foi por muito tempo o runtime de container padrão para Kubernetes, usado para construir e gerenciar imagens de containers para as aplicações. Hoje esse runtime é o Containerd.
- Instalação:
sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- Documentação: Docker Documentation
- Descrição: OpenSSH permite o acesso remoto seguro aos nós do cluster para gerenciar e monitorar as máquinas de forma prática.
- Instalação:
sudo apt-get install -y openssh-server
Após instalar essas ferramentas, prossiga com a configuração do cluster conforme descrito nas tarefas do projeto, utilizando o Proxmox para criar as VMs, kubectl para gerenciar o Kubernetes, e Helm para instalar os add-ons.