Este artigo apresenta a arquitetura e procedimentos operacionais para implementação de um ambiente
Kubernetes leve (K3s) em nó único, com camada de gerenciamento centralizado através do
Rancher. A solução oferece redução de 40% no consumo de recursos comparado ao Kubernetes tradicional, mantendo compatibilidade total com APIs padrão.
Preparação do Ambiente
Atualização completa do sistema operacional:
$ sudo apt update && sudo apt upgrade -y
Instalação de dependências essenciais:
$ sudo apt install -y curl wget git vim net-tools
Reboot para aplicar kernel updates:
$ sudo reboot
Instalação do K3s
Deploy do Cluster Single-Node:
Instalação automatizada do K3s com configurações otimizadas:
$ curl -sfL https://get.k3s.io | sh -
Verificação do status do serviço:
$ sudo systemctl status k3s
Criação do diretório de configuração:
$ mkdir -p $HOME/.kube
Cópia e ajuste de permissões do kubeconfig:
$ sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
$ sudo chmod 644 /etc/rancher/k3s/k3s.yaml
Validação do cluster:
$ kubectl get nodes
$ kubectl get pods -A
FASE 3: Instalação do Helm
Deploy do Helm 3
Download e instalação automatizada:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Verificação da versão instalada:
$ helm version
Configuração de repositórios base:
$ helm repo add stable https://charts.helm.sh/stable
$ helm repo update
Implementação do Rancher
Criação de namespace dedicado para Rancher:
$ kubectl create namespace cattle-system
Adição do repositório oficial Rancher:
$ helm repo add rancher https://releases.rancher.com/server-charts/stable
$ helm repo update
Deploy do Cert-Manager (Dependência Obrigatória)
Aplicação dos CRDs (Custom Resource Definitions):
$ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/latest/download/cert-manager.crds.yaml
Adição do repositório Jetstack:
$ helm repo add jetstack https://charts.jetstack.io
$ helm repo update
Instalação via Helm:
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.13.0
Validação do deployment:
$ kubectl get pods -n cert-manager
Critério de Sucesso: 3 pods do cert-manager em estado
Deploy do Rancher Management Platform
Instalação com configurações personalizadas:
$ helm install rancher rancher/rancher \
--namespace cattle-system \
--set hostname=rancher.home.office \
--set replicas=1 \
--set bootstrapPassword=SuaSenhaForte123! \
--set ingress.tls.source=letsEncrypt \
--set letsEncrypt.email=admin@home.office \
--set letsEncrypt.ingress.class=traefik
Monitoramento do rollout:
$ kubectl -n cattle-system rollout status deploy/rancher
Verificação de todos os recursos:
$ kubectl get all -n cattle-system
Acesso e Configuração Inicial
Obtenção de Credenciais
Recuperação da senha bootstrap (se não definida manualmente):
kubectl get secret --namespace cattle-system bootstrap-secret \
-o go-template='{{.data.bootstrapPassword | base64decode}}{{"\n"}}'
Acesse pelo seu dominio:
Podes adicionar mais cluster e até cluster externo no seu Rancher. Isso pode ajudar a gerenciar vários cluster em uma única ferramenta.
Espero que ajude!
Documentação oficial: