Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Implementar en redes restringidas

Este tutorial demuestra cómo implementar el Operador de Kubernetes, una instancia de Ops Manager y un set de réplicas de MongoDB utilizando el Operador de Kubernetes en un entorno OpenShift de red restringida.

1

Los catálogos de operadores de Red Hat contienen metadatos que OLM queries para instalar Operadores y sus dependencias en un clúster. Debes crear una copia del catálogo de Operadores y luego deshabilitar el catálogo por defecto como un administrador de clúster.

La relatedImages En el paquete del operador se enumeran las siguientes imágenes:

  • Imágenes utilizadas directamente por el operador, que son la versión actual de mongodb-kubernetes-init-database, mongodb-kubernetes-init-ops-manager, mongodb-kubernetes-init-appdb, mongodb-kubernetes-init-database.

  • Todas las imágenes actualmente compatibles de Ops Manager, AppDB y mongodb-agent que se pueden configurar en una implementación de Ops Manager.

Para las imágenes de init, usa solo la versión que se encuentre en la versión más reciente del operador de Kubernetes.

El tamaño de todas las imágenes relacionadas referenciadas por el paquete de operador supera los 26 GB.

El comando de duplicación no seleccionará versiones no compatibles de las imágenes de AppDB. Si desea utilizar cualquier otra versión no compatible, debe proporcionar manualmente estas imágenes al registro de duplicación. Para conocer otras versiones de un operador determinado, consulte imagen para implementación.

Para obtener la lista completa de imágenes definidas en las RELATED_IMAGE_* variables de entorno, consulte el archivo CSV.

  1. Para clonar, consulte Imágenes de clonado para una instalación desconectada.

    Al ejecutar el oc adm catalog mirror comando para reflejar el catálogo, se genera el imageContentSourcePolicy.yaml archivo, que debe aplicar para reasignar la fuente original a las imágenes reflejadas. Por ejemplo:

    oc apply -f ./<output dir>/imageContentSourcePolicy.yaml

    Para obtener una lista de las versiones de MongoDB compatibles con cada versión de Ops Manager, consulte Versión de MongoDB compatible.

  2. Para deshabilitar el catálogo por defecto, agregue disableAllDefaultSources: true al objeto OperatorHub.

Para obtener más información,consulte Uso de Operator Lifecycle Manager en redes restringidas.

2

Para obtener más información, consulta:

  • Planifique la instalación de los controladores de MongoDB para el operador de Kubernetes.

  • Instala el operador de los controladores de MongoDB para Kubernetes

3

Para implementar Ops Manager en modo local, debe hacer lo siguiente:

  1. Copie el siguiente objeto de ejemplo de Ops Manager Kubernetes y guárdelo como un .yaml archivo.

    • Utiliza la configuración de Ops Manager automation.versions.source: local en spec.configuration para habilitar el modo local.

    • Defina un volumen persistente para el StatefulSet de Ops Manager para almacenar el archivo de instalación de MongoDB. Los agentes de MongoDB que se ejecutan en contenedores de recursos de base de datos de MongoDB creados con el operador de Kubernetes descargan los archivos de instalación de Ops Manager en lugar de hacerlo desde Internet.

    1apiVersion: mongodb.com/v1
    2kind: MongoDBOpsManager
    3metadata:
    4 name: ops-manager-localmode
    5spec:
    6 replicas: 2
    7 version: "8.0.0"
    8 adminCredentials: ops-manager-admin-secret
    9 configuration:
    10 # this enables local mode in Ops Manager
    11 automation.versions.source: local
    12 statefulSet:
    13 spec:
    14 # the Persistent Volume Claim will be created for each Ops Manager Pod
    15 volumeClaimTemplates:
    16 - metadata:
    17 name: mongodb-versions
    18 spec:
    19 accessModes: [ "ReadWriteOnce" ]
    20 resources:
    21 requests:
    22 storage: "20Gi"
    23 template:
    24 spec:
    25 containers:
    26 - name: mongodb-ops-manager
    27 volumeMounts:
    28 - name: mongodb-versions
    29 # this is the directory in each Pod where all MongoDB
    30 # archives must be put
    31 mountPath: /mongodb-ops-manager/mongodb-releases
    32 backup:
    33 enabled: false
    34 applicationDatabase:
    35 members: 3
    36 persistent: true

    Para obtener más información sobre la configuración, consulta Implementar un recurso de Ops Manager.

  2. Configure oc para que el valor predeterminado sea su espacio de nombres.

    oc config set-context $(oc config current-context) --namespace=<metadata.namespace>
  3. Copia los siguientes ajustes del recurso de Ops Manager, pégalos en tu recurso existente de Ops Manager y guarda tu archivo de configuración de Ops Manager.

    1configuration:
    2 # this enables local mode in Ops Manager
    3 automation.versions.source: local
    4statefulSet:
    5 spec:
    6 # the Persistent Volume Claim will be created for each Ops Manager Pod
    7 volumeClaimTemplates:
    8 - metadata:
    9 name: mongodb-versions
    10 spec:
    11 accessModes: [ "ReadWriteOnce" ]
    12 resources:
    13 requests:
    14 storage: "20Gi"
    15 template:
    16 spec:
    17 containers:
    18 - name: mongodb-ops-manager
    19 volumeMounts:
    20 - name: mongodb-versions
    21 # this is the directory in each Pod where all MongoDB
    22 # archives must be put
    23 mountPath: /mongodb-ops-manager/mongodb-releases
  4. Copie el fichero de instalación de MongoDB en el volumen persistente de Ops Manager.

    Para aprender a copiar el fichero de instalación de MongoDB, consulta el paso 10 en el procedimiento Configurar un recurso de Ops Manager para usar el modo local.

  5. Crea credenciales y almacénalas como un secreto.

    Ejecuta el siguiente comando:

    Nota

    Aporta los valores de tus claves públicas y llaves privadas para los siguientes parámetros. Para aprender más, consulte Crear credenciales para el Operador de Kubernetes.

    oc \
    create secret generic ops-manager-admin-key \
    --from-literal="publicKey=<publicKey>" \
    --from-literal="privateKey=<privateKey>"
  6. Crea un ConfigMap similar al siguiente:

    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: ConfigMap
    metadata:
    name: my-project
    namespace: mongodb
    data:
    projectName: myProjectName # this is an optional parameter
    orgId: 5b890e0feacf0b76ff3e7183 # this is a required parameter
    baseUrl: https://ops.example.com:8443
    EOF

    Para obtener más información sobre las configuraciones en ConfigMap, consulte 7 el paso en el Inicio rápido de OpenShift.

Para obtener más información sobre cómo implementar Ops Manager en modo local, consulte Configurar un recurso de Ops Manager para usar el modo local.

4

Puede implementar un conjunto de réplicas o un clúster fragmentado. Para obtener más información, consulte Implementar un recurso de base de datos MongoDB.

Volver

Inicio rápido