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 conjunto de réplicas de MongoDB utilizando el operador de Kubernetes en un entorno OpenShift de red restringida.

1

Los catálogos de Red Hat Operator contienen metadatos que ConsultasOLM para instalar operadores y sus dependencias en un clúster. Debe crear una copia del catálogo de operadores y, a continuación, deshabilitar el catálogo predeterminado como administrador del clúster.

El 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 init, use solo la versión que esté presente en la última versión de Kubernetes Operator.

El tamaño de todas las imágenes relacionadas a las que hace referencia el paquete del operador es superior a 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 reflejar, consulte Duplicar imágenes 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 predeterminado, 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 sus controladores MongoDB para la instalación del operador 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.

    • Utilice la configuración de Ops Manager automation.versions.source: local en para habilitar spec.configuration 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. Copie la siguiente configuración de recursos de Ops Manager, péguela en su recurso de Ops Manager existente y guarde su 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 archivo de instalación de MongoDB al 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

    Proporcione los valores de sus claves pública y privada para los siguientes parámetros. Para obtener más información, 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. Cree 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