Menu Docs
Página inicial do Docs
/
Controladores MongoDB para operador Kubernetes
/

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 spec objeto para o sistema do MongoDB Search e do Vector Search . Para saber mais sobre essas configurações, consulte as Configurações obrigatórias e as 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 keyfileSecretRef:
11 name: mdbc-rs-keyfile
12 key: keyfile
13 tls:
14 ca:
15 name: mdbc-rs-ca
16 username: search-sync-source
17 passwordSecretRef:
18 name: mdbc-rs-search-sync-source-password
19 key: password
20 security:
21 tls:
22 certificateKeySecretRef:
23 name: mdbs-tls-secret
24 resourceRequirements:
25 limits:
26 cpu: "3"
27 memory: 5Gi
28 requests:
29 cpu: "2"
30 memory: 3Gi

Esta seção descreve as configurações necessárias para implementar o recurso MongoDB Search e Vector Search . Se você definir somente as configurações exigidas na Definição de Recurso Personalizado (CRD), o Operador do MongoDB Controladores para Kubernetes utilizará 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 dos recursos MongoDBSearch e 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 Search e Vector Search . Se você omitir as configurações opcionais e definir somente as configurações exigidas no CRD, o MongoDB Drivers for Kubernetes Operator usará os padrões para todas as configurações opcionais para configurar MongoDBSearch o.

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 MongoDBSearch recurso deve estar sempre conectado ao conjunto de réplicas. Se você implementou 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 para metadata.name procurar o banco de dados no Kubernetes:

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

  • Encontre o segredo da senha do usuário mongot no segredo search-sync-source-user-password.

spec.source.mongodbResourceRef.name

Tipo: string

Nome do recurso MongoDB ou MongoDBCommunity a ser associado a este recurso do MongoDB Search e Vector Search . Você não pode ter mais de um recurso MongoDBSearch referenciando o mesmo recurso MongoDB ou MongoDBCommunity . Se você especificar um nome diferente, deverá ponto explicitamente para o MongoDB ou MongoDBCommunity em que deseja ativar o MongoDB Search e o Vector Search.

Use esse campo somente se o recurso MongoDB ou MongoDBCommunity estiver distribuído 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 Kubernetes procurará MongoDB ou MongoDBCommunity recurso com o mesmo nome deste recurso MongoDBSearch.

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.keyfileSecretRef

Tipo: objeto

Referência ao segredo do Kubernetes que contém o arquivo de chave para autenticação interna do cluster.

spec.source.external.keyfileSecretRef.name

Tipo: string

Nome do arquivo de chave utilizado para autenticar mongod para mongot. O nome secreto especificado deve conter o mesmo arquivo de chave que é usado pelos membros do conjunto de réplicas do MongoDB para comunicação interna.

spec.source.external.keyfileSecretRef.key

Tipo: string

Conteúdo do arquivo-chave como string.

Dica

Você pode encontrar o arquivo de chave no campo auth.key da configuração de automação para sua instância do Cloud Manager ou Ops Manager.

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.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 do Kubernetes assume que o nome de usuário é search-sync-source.

spec.source.passwordSecretRef

Tipo: objeto

Referência a um segredo contendo a senha de usuário do MongoDB Search.

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.

spec.security

Tipo: objeto

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

spec.security.tls

Tipo: objeto

Configurações deTLS mongot para. Se omitido, omongot 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 privadatls.key () e o certificadotls.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 mongotno.

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 60 o conjunto de réplicas exigir gigabytes de espaço de armazenamento, defina esse valor 60Gi como.

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.

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

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 atualizações automáticas quando a versão do Kubernetes Operator for atualizada.

spec.statefulSet

Digite: apps/v1/StatefulSet

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

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