Este guia aborda a configuração de um cluster Kubernetes em ambiente de rede interna, utilizando pacotes offline. É necessário ter os pacotes de implantação offline disponíveis previamente e um nó dedicado para a implantação, que pode ser o mesmo servidor do Harbor ou um host separado. Para esta demonstração, utilizamos três nós: um para o mestre, um para o nó de trabalho e um para o Harbor, que também atua como ponto de implantação. O script offline fará upload das imagens para o repositório Harbor, permitindo que os nós do cluster as baixem durante a implantação. Observe que em ambientes de produção, recomenda-se pelo menos três nós mestres e múltiplos nós de trabalho, mas o processo fundamental permanece o mesmo. O sistema operacional base é Ubuntu 22.04, com o Kubernetes versão 1.32.2 e Harbor versão 2.14.1.
Pacotes necessários:
1. Pacote de implantação offline do Kubernetes
2. Pacote de implantação do Harbor
Planejamento dos nós:
192.168.1.10 – harbor
192.168.1.11 – mestre
192.168.1.12 – nó
- Configuração Inicial dos Nós
Primeiramente, configure os hostnames dos três nós conforme especificado e adicione as entradas ao arquivo /etc/hosts em cada máquina.
sudo hostnamectl set-hostname harbor # No servidor 192.168.1.10
sudo hostnamectl set-hostname mestre # No servidor 192.168.1.11
sudo hostnamectl set-hostname no # No servidor 192.168.1.12
cat <<eof eof="" harbor="" mestre="" no="" sudo="" tee=""></eof>
- Implantação do Harbor
Para implantar o Harbor, consulte a documentação oficial ou guias específicos para instruções detalhadas.
- Implantação do Kubernetes
Transfira o pacote offline para o nó de implantação (neste caso, o servidor Harbor) e extraia os arquivos.
cd /opt
tar -xzf k8s-offline-bundle.tgz
cd k8s-offline
- Sincronização de Imagens para o Repositório Privado
No Harbor, crie os projetos necessários com acesso público. Em seguida, no diretório extraído do pacote offline, crie um arquivo de configuração de inventário.
vim inventory_sync.yaml
Insira o seguinte conteúdo, ajustando os valores conforme seu ambiente:
kind: Inventory
metadata:
name: sync-config
spec:
vars:
image_registry:
auth:
registry: harbor.example.com
username: admin
password: SenhaSegura123
localDNS:
- /etc/hosts
Execute o comando para sincronizar as imagens com o repositório Harbor:
./kk artifact images -i inventory_sync.yaml --workdir $(pwd)/prepare --set binary_dir=$(pwd)/tools,download.download_image=false
Uma mensagem de sucesso, como Processo concluído: 15 imagens sincronizadas, indicará que as imagens foram transferidas corretamente.
- Implantação via Interface Web
Inicie o serviço de implantação web para configurar o cluster através do navegador.
./kk web --port 8080 --schema-path config --ui-path interface
Mantenha o terminal aberto e acesse http://192.168.1.10:8080 no navegador para iniciar a implantação do Kubernetes.
- Adição de Nós ao Cluster
No assistente web, adicione manualmente os nós mestre e de trabalho usando seus endereços IP e credenciais SSH.
- Conclusão da Implantação
Após a conclusão, o cluster Kubernetes estará operacional. Caso deseje remover componentes adicionais como o Kubesphere, conslute a documentação oficial para procedimentos de desinstalação.