MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Menu Docs
Página inicial do Docs
/ /
/ / /

Configurações do MongoDB Search e Vector Search

Você pode implantar o MongoDB Search e o Vector Search junto com o MongoDB v8.0 ou superior usando os Controladores MongoDB para o Kubernetes Operator.

O exemplo a seguir mostra as configurações dentro do objeto spec para o sistema do MongoDB Search e do Vector Search . Para saber mais sobre essas configurações, consulte as Configurações obrigatórias e Configurações opcionais.

Exemplo

1spec:
2 source:
3 mongodbResourceRef:
4 name: mdb
5 external:
6 hostAndPorts:
7 - mdb-rs-external-0.example.com:27017
8 - mdb-rs-external-1.example.com:27017
9 - mdb-rs-external-2.example.com:27017
10 tls:
11 ca:
12 name: mdbc-rs-ca
13 username: search-sync-source
14 passwordSecretRef:
15 name: mdbc-rs-search-sync-source-password
16 key: password
17 security:
18 tls:
19 certificateKeySecretRef:
20 name: mdbs-tls-secret
21 resourceRequirements:
22 limits:
23 cpu: "3"
24 memory: 5Gi
25 requests:
26 cpu: "2"
27 memory: 3Gi
28 logLevel: INFO
29 prometheus: {}

Esta seção descreve as configurações necessárias para implantar o recurso MongoDB pesquisa e pesquisa vetorial. Se você definir apenas as configurações necessárias na Definição de Recurso Personalizado (CRD), o Operador do MongoDB para Kubernetes usará os padrões para todas as configurações opcionais para configurar o MongoDBSearch.

apiVersion

Tipo: string

Versão do esquema de recursos do MongoDB Kubernetes. Defina o valor como mongodb.com/v1.

kind

Tipo: string

Tipo de recurso MongoDB Kubernetes para criar. Defina isso como MongoDBSearch.

metadata.namespace

Tipo: string

Namespace onde o recurso MongoDBSearch deve ser criado. Para aproveitar a configuração automática do MongoDBSearch e dos recursos MongoDB ou MongoDBCommunity, o recurso MongoDBSearch deve ser criado no mesmo namespace que o recurso MongoDB ou MongoDBCommunity.

metadata.name

Tipo: string

Identificador único do recurso MongoDBSearch. O nome do recurso pode ter no máximo 44 caracteres.

Esta seção descreve as configurações opcionais do recurso MongoDB pesquisa e pesquisa vetorial. Se você omitir as configurações opcionais e definir apenas as configurações necessárias no CRD, o operador do MongoDB para Kubernetes usará os padrões para todas as configurações opcionais para configurar o MongoDBSearch.

spec.source

Tipo: objeto

Configuração que descreve o conjunto de réplicas de origem MongoDB para mongot. Isso é necessário se:

  • MongoDB é externo

  • MongoDB tem um nome diferente de MongoDBSearch

O recurso MongoDBSearch deve estar sempre conectado ao conjunto de réplicas. Se você implantou o conjunto de réplicas usando o operador Kubernetes com MongoDB ou MongoDBCommunity CRD, e se spec.source estiver vazio, o operador Kubernetes usará o seguinte com base em metadata.name para procurar o banco de dados no Kubernetes:

  • Encontre recursos MongoDB ou MongoDBCommunity com o mesmo nome definido para metadata.name no MongoDBSearch, no mesmo namespace.

  • Encontre o segredo da senha do usuário mongot no segredo <MongoDBSearch.metadata.name>-search-sync-source-password.

spec.source.mongodbResourceRef.name

Tipo: string

Nome do recurso MongoDB ou MongoDBCommunity a ser associado a este recurso da pesquisa MongoDB e pesquisa vetorial. Você não pode ter mais de um recurso MongoDBSearch referenciando o mesmo recurso MongoDB ou MongoDBCommunity. Se você especificar um nome diferente, deverá apontar explicitamente para o MongoDB ou MongoDBCommunity onde deseja ativar a pesquisa MongoDB e a pesquisa vetorial.

Use esse campo somente se o recurso MongoDB ou MongoDBCommunity estiver implantado no mesmo cluster do Kubernetes e estiver no mesmo namespace que o recurso MongoDBSearch. A configuração deste campo permite que o operador Kubernetes automaticamente:

  • Defina connection strings adequadas para o banco de dados.

  • Reconfigure os sistemas do banco de dados MongoDB definindo os parâmetros necessários para habilitar a funcionalidade de pesquisa e configurar os endereços dos pods de pesquisa.

Se o seu banco de dados for implantado fora do Kubernetes ou estiver em um namespace diferente, utilize o spec.external para configurar a conexão com o banco de dados. Este campo é mutuamente exclusivo com spec.external.

Se omitido, o Operador do Kubernetes procurará o recurso MongoDB ou MongoDBCommunity com o mesmo nome que este recurso MongoDBSearch.

spec.source.username

Tipo: string

Nome de usuário para autenticar mongot com mongod. O usuário especificado deve ter a função searchCoordinator. Se omitido, o Operador Kubernetes assume que o nome de usuário é search-sync-source.

spec.source.passwordSecretRef.name

Tipo: string

Nome do segredo que contém a senha que mongot deve usar para autenticar com mongod. Se omitido, o padrão é <MongoDBSearch.metadata.name>-search-sync-source-password.

spec.source.passwordSecretRef.key

Tipo: string

Chave sob a qual o valor da senha é armazenado no segredo. Se omitido, o padrão é password.

As configurações a seguir são necessárias apenas para configurar uma conexão com um conjunto de réplicas MongoDB externo.

spec.source.external

Tipo: objeto

Configurações que descrevem a fonte de dados externa . Este objeto descreve as configurações do recurso MongoDB Search e Vector Search para se conectar a um MongoDB externo. Essas configurações devem ser especificadas somente se você quiser se conectar a um MongoDB externo que não tenha sido implantado usando o Kubernetes Operator. Se especificadas, estas configurações substituem as configurações para spec.source.mongodbResourceRef.name. Se você usou o Operador Kubernetes para instalar o MongoDB no mesmo cluster, essas configurações são opcionais.

spec.source.external.hostAndPorts

Tipo: array de strings

Lista de nomes de hosts e portas do conjunto de réplicas externas. Esta é uma lista de sementes de host para o conjunto de réplicas MongoDB . O mongot se conecta ao banco de dados em um modo de conjunto de réplicas e obtém a lista de todos os outros nós usando db.hello().

Exemplo

hostAndPorts:
- mdbc-rs-0.my-external-domain.example.com:27017
- mdbc-rs-1.my-external-domain.example.com:27017
- mdbc-rs-2.my-external-domain.example.com:27017
spec.source.external.tls

Tipo: objeto

Configurações de TLS que o mongot deve usar ao conectar ao banco de dados MongoDB externo.

spec.source.external.tls.ca.name

Tipo: string

Nome do segredo que contém a cadeia confiável das autoridades de certificação que emitiram o certificado TLS usado pelos nós mongod .

Exemplo

spec:
source:
external:
tls:
ca:
name: trusted-ca

O certificado (ou certificados, se for uma cadeia de certificados CA confiáveis) deve ser especificado na chave ca.crt neste segredo.

Exemplo

name: Secret
apiVersion: v1
metadata:
name: trusted-ca
data:
ca.crt: |
-----BEGIN CERTIFICATE-----
MIIDBTCCAe2gAwIBAgIIH3EOUAGAsx0wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
[...]
U/4rN8Ias/FONYFRtGfs9uXHmo2MP04BF+9ED2dlbNDUbat+6XCozLJj98nI4VEi
qaV3JrVFHTgN
-----END CERTIFICATE-----
spec.security

Tipo: objeto

Configurações de segurança para mongot servidor de escuta.

spec.security.tls

Tipo: objeto

Configurações de TLS para mongot. Se omitido, o mongot não utilizará TLS para conexões recebidas.

spec.security.tls.certificateKeySecretRef.name

Tipo: string

Nome de um segredo TLS no mesmo namespace que contém a chave privada (tls.key) e o certificado (tls.crt). O segredo pode ser do tipo kubernetes.io/tls (que é emitido pelo cert-manager) ou pode ser criado manualmente. Isso é necessário para ativar o TLS no mongot.

spec.resourceRequirements

Tipo: core/v1/ResourceRequirements

CPU e memória para as quais o container mongodb-search pode solicitar e ser limitado. Recomendamos usar esse campo para personalizar as alocações de recursos em vez de substituí-lo por spec.statefulSet.

Se omitido, o Kubernetes Operator usa os seguintes valores padrão:

requests:
cpu: 2
memory: 2G
spec.resourceRequirements.limits

Tipo: objeto

Limite superior no recurso, CPU e memória, que o contêiner do mongodb-search pode consumir. Por padrão, não há limites definidos. Se omitido, o pod não será restrito e, portanto, pode usar todos os recursos no nó. Recomendamos definir limites com base em seu volume de trabalho.

spec.resourceRequirements.requests

Tipo: objeto

Quantidade de CPU e memória solicitada para o contêiner mongodb-search. Se omitido, o Kubernetes Operator usa os seguintes valores padrão:

requests:
cpu: 2
memory: 2G
spec.persistence.single

Tipo: objeto

Configuração de armazenamento para o volume de persistência do MongoDB Search e Vector Search onde os índices do MongoDB Search e Vector Search são armazenados. Cada instância de pesquisa (pod) tem seu próprio armazenamento independente para manter índices, que não é compartilhado com o banco de dados MongoDB . Somente metadados de índice (definições) são armazenados no próprio banco de dados .

Escalar
Tipo de Dados
Descrição

labelSelector

string

Marcação usada para vincular volumes montados a diretórios.

storage

string

Tamanho mínimo do volume persistente que deve ser montado. Esse valor é expresso como um número inteiro seguido por uma unidade de armazenamento na notação JEDEC.

O valor padrão é 16Gi.

Por exemplo, se o conjunto de réplicas exigir 60 gigabytes de espaço de armazenamento, defina esse valor como 60Gi.

storageClass

string

Tipo de armazenamento especificado em uma declaração de volume persistente. Você pode criar esse tipo de armazenamento como um objeto StorageClass antes de usá-lo nesta especificação de objeto.

Certifique-se de definir a StorageClass reclaimPolicy como Retain. Isso garante que os dados sejam mantidos quando uma declaração de volume persistente for removida.

O MongoDBSearch oferece suporte apenas ao campo de persistência single. Se omitido, o Operador Kubernetes define spec.persistence.single.storage como 10GB.

spec.logLevel

Tipo: string

Verbosidade dos registros do mongot. O valor pode ser um dos seguintes:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

Se omitido, o padrão é INFO.

spec.prometheus

Tipo: objeto

Disponível apenas na v1.6 e posterior.

Configuração para ativar o ponto de extremidade de métricas Prometheus. Se omitido, o ponto de extremidade de métricas em mongot será desabilitado. Para habilitar o ponto de extremidade de métricas Prometheus na porta padrão (9946), especifique um objeto {} vazio no campo spec.prometheus. Para alterar a porta, defina-a no campo spec.prometheus.port.

spec.prometheus.port

Tipo: string

Porta na qual ativar o ponto de extremidade de métricas Prometheus. Por padrão, o ponto de extremidade de métricas Prometheus está habilitado na porta 9946.

spec.version

Tipo: string

Versão da imagem do docker do mongodb-search. Se omitido, o Operador Kubernetes escolhe automaticamente a versão mais recente do MongoDBSearch. Você pode defini-lo explicitamente para evitar upgrades automáticos quando a versão do operador Kubernetes for atualizada.

spec.statefulSet

Digite: apps/v1/StatefulSet

Especificação para o StatefulSet, criado para implantar os pods mongot, que substitui as configurações que o Operador Kubernetes aplica. As substituições são sempre aplicadas por último. Suporta os campos spec.statefulSet.spec e spec.statefulSet.metadata.

Observação

Não defina requisitos de recursos ou configurações de persistência usando spec.statefulSet. Em vez disso, utilize os campos spec.resourceRequirements e spec.persistence respectivamente.

Voltar

Configurações de rotação do registro CRD

Nesta página