Acervo original preservado
Este conteúdo histórico pode conter propostas ou instruções anteriores ao checkout atual. Consulte Arquitetura para o comportamento documentado e Tutoriais para as ressalvas operacionais.
Ambiente local e propostas experimentais — sem adoção corporativa
Istio e Kubernetes Gateway API citados neste acervo são experimentos exclusivos do ambiente local. Recomendações históricas não representam decisões aprovadas nem a exposição oficial de DEV, STAGING ou PROD. Helm e Helmfile são ferramentas locais. Consulte Estudos e experimentos.
Setup TOTVS Gateway local clsuter¶
Requisitos¶
Overview¶
Linux¶
No linux vamos replicar o uso comum em clouds de load balancer, MetalLB vai fazer esse papel distribuindo os IPs para os pods do cluster. E haverá um gateway para expor acesso via esse LB.

Windows¶
No windows, como o WSL não provê os IPs de pods para o windows, precisamos conectar no cluster via NodePort. Replicando a porta de entrada do nó via NAT e acessando via portfowarding.

Instalação¶
Primeiro clone o repositório totvs-gateway-infra-local. Depois siga os passos de acordo com seu SO.
Windows¶
- Crie o cluster Kind baseado no .yaml que tem no repositorio
kind create cluster --config "{PATH_REPOSITORY_DIR}\kind\kind-config.yaml" - Aplique o helmfile com a label phase=crds
cd {PATH_REPOSITORY_DIR}\install helmfile apply -e local-win -l phase=crds - Agora aplique o helmfile sem labels
cd {PATH_REPOSITORY_DIR}\install helmfile apply -e local-win - Agora busque o service public-gateway-istio e altere a porta do nó para(nodePort) 30080
- name: http protocol: TCP appProtocol: http port: 80 nodeport: 30080 #Garanta 30080 aqui! - Abra o arquivo C:\windows\system32\drivers\etc\hosts e adicione as linhas
127.0.0.1 api.gateway.local.test 127.0.0.1 gateway.local.test
Linux¶
- Crie o cluster Kind bas
eado no .yaml que tem no repositorio
kind create cluster --config "{PATH_REPOSITORY_DIR}/kind/kind-config.yaml" - verifique qual o CIDR da networking disponibilizada pelo docker
docker network inspect -f '{{(index .IPAM.Config 0).Subnet}}' kind -
- Se o retorno for diferente de 172.18.0.0/16 altere o ipRange no arquivo ./install/envs/local-ubuntu/totovs-gateway-server.yaml para uma faixa que se aloque dentro do CIDR disponibilizado pelo seu docker.
-
Aplique o helmfile com a label phase=crds
cd {PATH_REPOSITORY_DIR}/install helmfile apply -e local-ubuntu -l phase=crds -
Agora aplique o helmfile sem labels
cd {PATH_REPOSITORY_DIR}/install helmfile apply -e local-ubuntu -
Busque nos services do cluster o service public-gateway-istio e veja qual IP está na propriedade EXTERNAL_IP. Abra o arquivo /etc/hosts e adicione as linhas
{SEU_EXTERNAL_IP} api.gateway.local.test {SEU_EXTERNAL_IP} gateway.local.test
Upload Docker Images locais para o cluster¶
Para subir uma imagem local, buildada na sua máquina e utilizar no cluster use o seguinte comando:
kind load docker-image minha-imagem:tag --name totvs-gateway
Setup Redis insight para ver dados no valkey¶
Para ver dados no valkey podemos utilizar uma imagem do redis insight direto no cluster.
- utilizando helm instale o redis insight no seu cluster
$ helm repo add redisinsight https://raw.githubusercontent.com/hansehe/redisinsight-helm/master/helm/charts $ helm install redisinsight redisinsight/redisinsight -n valkey - depois, com o pod redisinsight já executando faça um portfowarding para o serviço dele
kubectl port-forward svc/redisinsight 5540:5540 -n valkey - Na página inicial busque por "Add connection details manually"
- Para adicionar a conexão, informe:
- host: valkey-primary
- port: 6379
- database alias: valkey:6379
- username: (deixe em branco)
- password: (verifique no arquivo de configurações do valkey)
- clique para adicionar a conexão e está pronto!