For the complete documentation index, see llms.txt. This page is also available as Markdown.

Instalação no Kubernetes

Para instalar o produto Oz via Kubernetes, considere usar Helm charts.

  • Oz API e componentes relacionados: Helm chart.

    • API 5.2: versão 0.11.x,

    • API 5.3 (atualização regulatória para o Cazaquistão): 0.12.x.

  • Web SDK: Helm chart. Observação: a versão do chart não está vinculada à versão do Web SDK.

Pré-requisitos

Helm chart da API
  • Kubernetes 1.23+

  • Helm 3+

  • ingress-nginx e cert-manager com um ClusterIssuer

  • kube-metrics-server (para HPA)

  • Prometheus (para monitoramento/ServiceMonitors)

  • Um banco de dados PostgreSQL (externo, para produção) com pgcrypto extensão habilitada

  • Um ReadWriteMany (RWX) StorageClass para arquivos estáticos da API (ou S3)

Helm chart do Web SDK
  • Kubernetes 1.23+

  • Helm 3+

  • controller ingress-nginx (ou Istio 1.16+)

  • cert-manager com um ClusterIssuer

  • kube-metrics-server (para HPA)

  • Prometheus (para monitoramento/ServiceMonitors)

  • Um ReadWriteMany (RWX) StorageClass para dados de sessão

Helm chart do Instant API
  • Kubernetes 1.23+

  • Helm 3+

  • controller ingress-nginx (ou Istio 1.16+)

  • cert-manager com um ClusterIssuer

  • kube-metrics-server (para HPA)

  • Prometheus (para monitoramento/ServiceMonitors)

Criação do banco de dados

Para fins de teste, o banco de dados instalado e criado automaticamente pelo chart é suficiente. No entanto, para produção, recomendamos fortemente o uso de um banco de dados separado, gerenciado por você.

Versão recomendada do PostgreSQL: 15.5.

Parâmetros do banco de dados PostgreSQL
  • max_connections: 2000 (pode variar dependendo do número de chamadas da API),

  • shared_buffers: 2 GB (quantidade de RAM dividida por 2),

  • effective_cache_size: 6 GB (RAM – 2 GB),

  • maintenance_work_mem: 512 MB,

  • checkpoint_completion_target: 0.9,

  • wal_buffers: 16 MB,

  • default_statistics_target: 100,

  • random_page_cost: 1.1,

  • effective_io_concurrency: 200,

  • work_mem: 16 MB,

  • min_wal_size: 1 GB,

  • max_wal_size: 4 GB,

  • max_worker_processes: 4 (igual ao número de CPUs),

  • max_parallel_workers_per_gather: 2 (número de CPUs dividido por 2),

  • max_parallel_workers: 4 (igual ao número de CPUs),

  • max_parallel_maintenance_workers: 2 (número de CPUs dividido por 2),

  • Se o banco de dados estiver em Docker, defina shm_size: '1gb'.

Crie um banco de dados usando os scripts abaixo.

Para aumentar o desempenho, considere usar esta lista de índices:

Índices do Gateway

Implantação do chart

Exemplo de criação de SC usando AWS EFS

Para implantar em Kubernetes, baixe a versão do chart de que você precisa e ajuste o values.yaml arquivo. Este arquivo especifica parâmetros para implantação dos produtos Oz.

API

Este exemplo é baseado na versão 0.11.28 do chart.

Ajuste o values.yaml arquivo, definindo os seguintes parâmetros obrigatórios antes da implantação:

  • ozDockerHubCreds: você os receberá do Oz Engineer.

  • UserParams:

    • URLs:

      • apiURL: URL da API. Pode ser uma URL interna, se você usar apenas o Web SDK. Para Mobile SDKs, deve ser pública. Consulte este artigo para obter mais informações.

    • DB: deve ser definido se você usar um servidor PostgreSQL externo. Para detalhes, consulte Criação do banco de dados.

      • use_chart_postgres: false por padrão. Habilita o servidor PostgreSQL interno (não recomendado para produção).

      • postgresUser: igual a <<USERNAME>>.

      • postgresHost: o hostname do seu servidor PostgreSQL.

      • postgresDB: igual a <<DB_NAME>>.

      • postgresUserPassword: igual a <<PASSWORD>>.

      • postgresPort: 5432 por padrão.

      • o2nDB:

        • use_chart_o2nDB: false por padrão. Habilita o servidor PostgreSQL interno (não recomendado para produção).

        • startinit: true por padrão. Habilita scripts de inicialização do banco de dados. Defina como false após o chart ser implantado.

        • creds:

          • postgresHost: o hostname do seu servidor PostgreSQL com o banco de dados 1:N.

          • postgresPort: 5432 por padrão.

          • postgresDB: igual a <<OnetoMany_DB_NAME>>.

          • postgresUser: igual a <<OnetoMany_USERNAME>>.

          • postgresUserPassword: igual a <<OnetoMany_PASSWORD>>.

    • Creds:

      • apiAdminLogin: login para o novo usuário padrão da API. Será criado na primeira execução.

      • apiAdminPass: senha do usuário padrão.

      • webUILocalAdminLogin: Admin local para a Web UI. Deve ser diferente de apiAdminLogin.

      • webUILocalAdminPass: senha de webUILocalAdminLogin.

    • BIO:

      • licenseKey: você a receberá do Oz Engineer / Sales.

      • clientToken: você o receberá do Oz Engineer.

    • pvc:

      • api:

        • static:

          • storageClassName: RWX StorageClass.

          • size: tamanho esperado para o PV.

  • Params:

    • Global:

      • startinits: false por padrão. Defina como true na primeira execução e, depois, após a implantação bem-sucedida, altere de volta para false.

Para ajustar o comportamento da API, talvez seja necessário alterar outros parâmetros. Consulte os comentários em values.yaml arquivo.

TFSS (BIO)

O BIO faz parte do chart da API. Os pods BIO exigem nós separados para cada pod. Para garantir que o BIO permaneça em nós dedicados, você pode usar afinidade e tolerations.

O comportamento do BIO pode ser personalizado por meio de Params -> global -> affinity em values.yaml.

Os parâmetros padrão estão listados abaixo:

O exemplo de implantação do chart via Helm:

Web SDK

Para uma implantação adequada, o Web SDK requer uma conta de serviço da API. Pré-crie um usuário para o Web SDK com o tipo CLIENT e is_service flag definida. Consulte Funções de usuário para mais detalhes.

Este exemplo é baseado na versão 1.5.1+onPremise do chart.

Ajuste o values.yaml arquivo, definindo os seguintes parâmetros obrigatórios antes da implantação:

  • ozDockerHubCreds: você os receberá do Oz Engineer.

  • UserParams:

    • URLs:

      • apiURL: URL da API. Pode ser uma URL interna da API.

      • webSDKURL: URL do WebSDK que será usada para acesso público.

    • Creds:

      • AdminLogin: login do usuário que deve ser pré-criado na API. Não use o login de administrador padrão.

      • AdminPass: senha do usuário pré-criado.

  • PVC:

    • persistentStorage: false por padrão. Defina como true se você usar mais de 1 pod do Web SDK.

    • storageClassName: StorageClass RWX.

  • Params:

    • websdk:

      • licença: deve conter a sua licença do Web SDK. Você a receberá do Oz Engineer / Sales.

Para ajustar o comportamento da API, talvez seja necessário alterar outros parâmetros. Consulte os comentários em values.yaml arquivo.

O exemplo de implantação do chart via Helm:

Atualizado

Isto foi útil?