Skip to content

Infraestrutura de Clusters OKE - Produção NOXTEC

Introdução

O cluster OKE-NOX-PRD é dedicado ao ambiente de produção da vertical NOXTEC, onde as aplicações são executadas para atender os usuários finais. Este ambiente é projetado para oferecer alta disponibilidade, escalabilidade e performance em nível de produção, garantindo a continuidade dos serviços críticos de negócio para as soluções NOXTEC.

Cluster OKE-NOX-PRD – Arquitetura e Configuração

A seguir, está representada a arquitetura do cluster OKE-NOX-PRD, implantado na região sa-saopaulo-1 da OCI. A infraestrutura foi desenhada para garantir alta disponibilidade e resiliência, aproveitando múltiplos domínios de falha (Fault Domains) dentro da região.

Arquitetura Cluster OKE-NOX-PRD

Figura 1: Arquitetura Cluster OKE-NOX-PRD

Infraestrutura e Rede

O cluster OKE-NOX-PRD está implantado na região sa-saopaulo-1 da OCI, utilizando a VCN VCN-OKE-NOXTEC-STH (10.151.21.0/24). A arquitetura foi projetada seguindo as melhores práticas da OCI para Kubernetes, com recursos distribuídos entre três domínios de falha (FD1, FD2, FD3) para garantir alta disponibilidade e tolerância a falhas.

Subnets do Cluster OKE-NOX-PRD

Subnet CIDR Propósito
workers-STH-NOX 10.151.21.0/26 Nós de trabalho Kubernetes (worker nodes)
ilb-STH-NOX 10.151.21.64/28 Load balancer interno
operator-STH-NOX 10.151.21.88/30 Operações de gestão do cluster
bastion-STH-NOX 10.151.21.96/29 Acesso seguro ao cluster via bastion host
cp-STH-NOX 10.151.21.104/29 Kubernetes Control Plane
fss-STH-NOX 10.151.21.112/28 File Storage Service

Especificações do Kubernetes

  • Versão do Kubernetes: v1.34.1
  • Endpoint API privado: 10.151.21.108:6443
  • Plugin de Rede (CNI): FLANNEL_OVERLAY

Capacidade Computacional

O cluster OKE-NOX-PRD possui dois node pools com as seguintes especificações:

Node Pool - workers

  • Tipo de instância: VM.Standard.E5.Flex
  • Capacidade computacional: 2 OCPUs (4 vCPUs)
  • Memória RAM: 8 GB por nó
  • Volume de boot: 100 GB
  • Sistema Operacional: Oracle Linux 8
  • Auto-scaling:
    • Habilitado
    • Tamanho inicial: 2 nós
    • Tamanho mínimo: 2 nós
    • Tamanho máximo: 5 nós

Node Pool - autoscaler

  • Tipo de instância: VM.Standard.E5.Flex
  • Capacidade computacional: 2 OCPUs (4 vCPUs)
  • Memória RAM: 16 GB por nó
  • Tamanho: 1 nó
  • Propósito: Dedicado para o Cluster Autoscaler

Acesso ao Cluster

O endpoint da API do Kubernetes é privado e só pode ser acessado através de: - Um host bastion configurado - Uma estação de trabalho autorizada com acesso à subnet do endpoint da API

Configuração do acesso ao Cluster

Pré-requisitos

Para acessar o cluster OKE-NOX-PRD, é necessário atender aos seguintes requisitos:

  • Ferramentas necessárias

    • Oracle Cloud Infrastructure CLI (versão 2.24.0 ou superior)
    • Kubectl - ferramenta de linha de comando para Kubernetes
  • Acessos e permissões

    • Conexão VPN estabelecida com a rede corporativa
    • Credenciais OCI com permissões IAM adequadas para o cluster
    • Acesso de rede liberado para a subnet do Kubernetes API endpoint
  • Verificações

    • Confirme a versão do OCI CLI com o comando: oci -v
    • Verifique se sua máquina consegue resolver o endpoint privado do cluster

Geração do kubeconfig

```bash # Criar diretório para o arquivo kubeconfig mkdir -p $HOME/.kube

# Gerar e baixar o arquivo kubeconfig oci ce cluster create-kubeconfig \ --cluster-id \ --file $HOME/.kube/config \ --region sa-saopaulo-1 \ --token-version 2.0.0 \ --kube-endpoint PRIVATE_ENDPOINT

# Configurar variável de ambiente export KUBECONFIG=$HOME/.kube/config ```

Observação: Para encontrar o OCI ID do cluster, acesse o Console OCI, navegue até "Developer Services" > "Kubernetes Clusters (OKE)", selecione o cluster desejado e o ID será exibido nos detalhes do cluster como "Cluster Id" ou copiável através do botão "Copy" ao lado do identificador.

Console OCI - Detalhes do Cluster NOX-PRD

Figura 2: Console OCI - Detalhes do Cluster NOX-PRD

Componentes de Infraestrutura Avançada

O ambiente de produção NOXTEC é equipado com componentes avançados de infraestrutura que garantem alta disponibilidade, segurança e monitoramento contínuo:

Service Mesh com Istio

O Istio no cluster NOXTEC fornece uma camada avançada de rede com:

  • Balanceamento de carga inteligente: Distribuição otimizada de tráfego entre instâncias de serviço
  • Políticas de segurança zero-trust: Comunicação autenticada e criptografada entre todos os serviços
  • Deployment progressivo: Estratégias de implantação gradual como blue-green e canary
  • Controle de tráfego baseado em regras: Capacidade de redirecionar requisições com base em múltiplos parâmetros

Os detalhes de instalação, Gateway API, wildcard TLS e papel do lb_publlic_ip estão centralizados em Networking & Service Mesh.

Visualização e Gerenciamento com Kiali

O Kiali oferece uma interface visual completa para o service mesh:

  • Dashboard de serviços: Visão consolidada do estado de todos os serviços
  • Gráficos de comunicação: Visualização de dependências e fluxos de dados
  • Análise de performance: Identificação de latências e gargalos na comunicação
  • Configuração simplificada: Interface para ajuste de políticas do Istio sem necessidade de editar YAML manualmente

O fluxo de publicação, URL, Ingress e autenticação OIDC do Kiali está documentado na página dedicada da nova seção de networking.

Kubernetes Gateway API

O cluster implementa o Gateway API, a próxima geração de APIs de roteamento do Kubernetes que substitui o Ingress tradicional, oferecendo maior flexibilidade e expressividade.

A implementação utiliza os seguintes recursos:

  • GatewayClass: Define o tipo de implementação do controlador de Gateway usado
  • Gateway: Expõe um ou mais listeners para tráfego de entrada
  • HTTPRoute: Define regras de roteamento para tráfego HTTP

O comportamento real do Gateway compartilhado e da integração com ExternalDNS foi movido para a documentação central de networking para evitar duplicação entre HML e NOX.

External Secrets Operator (ESO)

O ESO sincroniza segredos de provedores externos para Kubernetes:

  • Integração com Vault: Obtenção segura de credenciais e chaves do HashiCorp Vault
  • Rotação automática: Atualização de segredos sem necessidade de redeploy
  • Centralização: Gerenciamento de segredos em um local central, distribuído para todos os namespaces necessários

Cluster Autoscaler

O Cluster Autoscaler (versão 9.46.3) gerencia o escalonamento automático de nós do cluster:

  • Escalonamento automático: Adiciona ou remove nós baseado na demanda de recursos dos pods
  • Node pool dedicado: Executa em um node pool específico (autoscaler) com allow_autoscaler = true
  • Integração OKE: Utiliza a API do OCI para gerenciar os node pools do cluster

O ambiente de produção NOXTEC opera sob políticas rigorosas de segurança e disponibilidade:

  • Alta disponibilidade: Aplicações configuradas com redundância e replicação
  • Monitoramento contínuo: Integração com ferramentas de observabilidade do cluster TOOLS
  • Escalabilidade automática: Pods e nós escalados automaticamente conforme a demanda
  • Políticas de atualização: Atualizações planejadas com janelas de manutenção específicas
  • Backup e recuperação: Políticas de backup regulares para dados aplicacionais
  • Segurança reforçada: Implementação de políticas de segurança específicas para as aplicações NOXTEC

Conclusão

A arquitetura do cluster OKE-NOX-PRD fornece uma base sólida e confiável para as aplicações de produção da vertical NOXTEC. Com recursos de auto-scaling, distribuição entre domínios de falha e políticas de segurança rigorosas, o ambiente garante a continuidade dos serviços mesmo em situações de alta demanda ou falhas parciais na infraestrutura.