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-nginxecert-managercom umClusterIssuerkube-metrics-server(para HPA)Prometheus (para monitoramento/ServiceMonitors)
Um banco de dados PostgreSQL (externo, para produção) com
pgcryptoextensão habilitadaUm 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-managercom umClusterIssuerkube-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-managercom umClusterIssuerkube-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:
Implantação do chart
Os charts da API e do Web SDK requerem SC RWX (CephFS, EFS, NFS, Longhorn etc.).
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:truepor padrão. Habilita scripts de inicialização do banco de dados. Defina comofalseapó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 deapiAdminLogin.webUILocalAdminPass: senha dewebUILocalAdminLogin.
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:falsepor padrão. Defina comotruena primeira execução e, depois, após a implantação bem-sucedida, altere de volta parafalse.
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
A instalação do Web SDK requer a API pré-instalada. Exceto em casos específicos, o Web SDK não pode funcionar sem a API.
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:falsepor padrão. Defina comotruese 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?
