Deploy com Helm
Implantando a Infraestrutura Urbis Workflows com Helm.
Este documento fornece um guia básico para implantar a Infraestrutura Urbis Workflows usando Helm, referenciando o repositório OpenUrbis/urbis-workflows-infra.
Pré-requisitos
Antes de prosseguir, certifique-se de ter:
- Um cluster Kubernetes (versão 1.20 ou superior)
- Helm 3 instalado
kubectlconfigurado para interagir com seu cluster
Passos para Implantar
-
Clonar o Repositório
Clone o repositório Urbis Workflows Infrastructure para sua máquina local:git clone https://github.com/OpenUrbis/urbis-workflows-infra.git cd urbis-workflows-infra -
Criar um Namespace
Crie um namespace Kubernetes para a implantação:kubectl create namespace urbis-map -
Instalar os CRDs do Cert-Manager
O cert-manager requer que as Definições de Recursos Personalizados (CRDs) sejam instaladas antes do chart Helm, caso contrário, a instalação falhará ao tentar criar recursos do tipoCertificateouIssuer.kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.crds.yaml -
Configurar a Implantação
Personalize a implantação editando o arquivovalues.yamlpara configurações gerais esecrets.yamlpara dados sensíveis (ex: senhas de banco de dados). Certifique-se de quesecrets.yamlnão seja comitado no controle de versão.
Exemplo de modificação emvalues.yaml:postgresql: replicaCount: 2 -
Instalar o Chart Helm
Primeiro, baixe as dependências do chart:helm dependency build ./infraEm seguida, implante a infraestrutura usando o chart Helm:
helm install urbis-map ./infra -f ./infra/values.yaml -n urbis-map -
Verificar a Implantação
Verifique o status dos recursos implantados:kubectl get pods -n urbis-map
Atualizando a Implantação
Para aplicar alterações na configuração ou chart:
helm upgrade urbis-map ./infra -f ./infra/values.yaml -n urbis-mapProblemas comuns com Certificados (ACME Solver)
Ao utilizar o cert-manager com desafios HTTP-01, o ingress-nginx pode retornar erro 503 Service Temporarily Unavailable durante a validação se o roteamento manual no Ingress estiver apontando para um serviço inexistente.
Para resolver, você deve atualizar o nome do solver no seu values.yaml:
- Identifique o nome do serviço temporário criado pelo
cert-manager:kubectl get svc -n urbis-map | grep cm-acme-http-solver - Copie o nome do serviço (ex:
cm-acme-http-solver-n7vxv). - Atualize o arquivo
infra/values.yaml:components-api-gateway: cm-acme-http-solver-name: cm-acme-http-solver-XXXXX # Substitua pelo nome encontrado - Aplique o
helm upgrade.
Desinstalando a Implantação
Para remover a implantação:
helm uninstall urbis-map -n urbis-mapNota: Dados persistentes (ex: volumes de banco de dados) devem ser excluídos manualmente se não forem mais necessários.
Informações Adicionais
Para mais detalhes, consulte o README no repositório. Para suporte, abra uma issue no GitHub ou entre em contato com contas@urbis.prefeitura.sp.gov.br.