Creación de la instancia de Db2 utilizando el operador autónomo Db2U

Puede crear una instancia de IBM® Db2® que utilice el operador autónomo Db2U desde la consola de Red Hat® OpenShift® o desde la CLI.

Sugerencia:

Antes de empezar

Si su entorno necesita cumplir con FIPS (Federal Information Processing Standard), en IBM Maximo Application Suite 8.10.1 o posterior, debe instalar una nueva instancia de Db2 dentro de un clúster de Red Hat OpenShift que esté habilitado para FIPS. El cifrado IPsec debe estar habilitado al instalar el clúster y la configuración de JDBC debe utilizar la conexión non-SSL .

Para más información, ver Configuración de cifrado IPsec.

Si tiene previsto instalar Maximo Application Suite, asegúrese de que los siguientes cifrados predeterminados para Java™ estén soportados cuando habilite FIPS.
sh-4.4$ java -Dsemeru.fips=true Ciphers
Default Cipher
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
* TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
* TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
* TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
* TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
* TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
* TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384

Instalación utilizando la consola web de Red Hat OpenShift Container Platform

Procedimiento

  1. En el banner, pulse Importar YAML (Icono de signo más). Especifique el siguiente YAML:
    
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: "db2u-ca-issuer"
      namespace: "db2u"
    spec:
      selfSigned: {}
    
  2. Pulse Crear para suministrar el emisor del certificado de CA autofirmado.
  3. En el banner, pulse Importar YAML (Icono de signo más). Especifique el siguiente YAML:
    
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: "db2u-ca-certificate"
      namespace: "db2u"
    spec:
      secretName: "db2u-ca"
      duration: "175200h0m0s"
      renewBefore: "2160h0m0s"
      issuerRef:
        name: "db2u-ca-issuer"
        kind: Issuer
    
      isCA: true
      keyAlgorithm: rsa
      keySize: 4096
      keyEncoding: pkcs8
    
      usages:
        - cert sign
        - digital signature
        - key encipherment
        - server auth
    
      commonName: "ca.db2u"
      organization:
        - "IBM Maximo Application Suite"
      subject:
        countries:
          - GB
        streetAddresses:
          - London
        localities:
          - London
        organizationalUnits:
          - IBM Maximo Application Suite DB2U
    
  4. Pulse el botón Crear para suministrar el certificado de CA autofirmado para Db2.
  5. En el banner, pulse Importar YAML (Icono de signo más). Especifique el siguiente YAML. Este YAML crea el emisor del certificado de servidor de Db2 . Este emisor hace referencia al secreto que se crea a partir del emisor del certificado de CA en el paso anterior.
    
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: "db2u-issuer"
      namespace: "db2u"
    spec:
      ca:
        secretName: "db2u-ca"
    
  6. Verifique que el secreto db2u-ca existe y, a continuación, pulse Crear.
  7. En el banner, pulse Importar YAML (Icono de signo más). Especifique el siguiente YAML:
    
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: "db2u-certificate"
      namespace: "db2u"
    spec:
      secretName: "db2u-certificate"
      duration: "175200h0m0s"
      renewBefore: "2160h0m0s"
      issuerRef:
        name: "db2u-issuer"
        kind: Issuer
      usages:
        - cert sign
        - digital signature
        - key encipherment
        - server auth
      commonName: "db2u"
      dnsNames:
        - "db2u-manage-db2u.apps.cluster1.example-cluster.com"
        - "*.db2u-manage-db2u.apps.cluster1.example-cluster.com"
        - "c-db2u-manage-db2u-engn-svc.db2u.svc"
        - "*.c-db2u-manage-db2u-engn-svc.db2u.svc"
      organization:
        - "IBM Maximo Application Suite"
      subject:
        countries:
          - GB
        streetAddresses:
          - London
        localities:
          - London
        organizationalUnits:
          - IBM Maximo Application Suite DB2U
    
    Nota: Para los nombres DNS, incluya svc y routes que se utilizan. Sustitúyalas por información de entorno real:
    • {{db2_instance_name}}-{{db2_namespace}}.{{cluster_subdomain}}
    • *.{{db2_instance_name}}-{{db2_namespace}}.{{cluster_subdomain}}
    • c-{{db2_instance_name}}-db2u-engn-svc.{{ db2_namespace }}.svc
    • *.c-{{db2_instance_name}}-db2u-engn-svc.{{ db2_namespace }}.svc
  8. Pulse el botón Crear para crear el certificado de servidor de Db2 .
  9. En el banner, pulse Importar YAML (Icono de signo más). Especifique el siguiente YAML:
    
    ---
    apiVersion: db2u.databases.ibm.com/v1
    kind: Db2uCluster
    metadata:
      name: "db2u-manage"
      namespace: "db2u"
    spec:
      account:
        privileged: true
      addOns:
        graph:
          enabled: false
        rest:
          enabled: false
      version: "11.5.7.0-cn4"
      size: 1
      environment:
        dbType: db2wh
        database:
          name: "BLUDB"
          settings:
            dftTableOrg: "ROW"
          ssl:
            secretName: "db2u-certificate"
            certLabel: "CN=db2u"
        instance:
          registry:
            DB2_4K_DEVICE_SUPPORT: "ON"
            DB2AUTH: 'OSAUTHDB,ALLOW_LOCAL_FALLBACK,PLUGIN_AUTO_RELOAD'
            DB2_FMP_RUN_AS_CONNECTED_USER: 'NO'
            DB2_WORKLOAD: MAXIMO
        mln:
          total: 1 
      license:
        accept: true
      podConfig:
        db2u:
          resource:
            db2u:
              requests:
                cpu: "2"
                memory: "12Gi"
              limits:
                cpu: "6"
                memory: "18Gi"
      storage:
        - name: meta
          type: create
          spec:
            storageClassName: "ocs-storagecluster-cephfs"
            accessModes:
              - ReadWriteMany
            resources:
              requests:
                storage: "100Gi"
        - name: data
          type: template
          spec:
            storageClassName: "ocs-storagecluster-ceph-rbd"
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: "500Gi"
        - name: backup
          type: create
          spec:
            accessModes:
            - ReadWriteMany
            resources:
              requests:
                storage: "500Gi"
            storageClassName: "ocs-storagecluster-cephfs"
        - name: activelogs
          spec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: "100Gi"
            storageClassName: "ocs-storagecluster-ceph-rbd"
          type: template
        - name: tempts
          spec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: "100Gi"
            storageClassName: "ocs-storagecluster-ceph-rbd"
          type: template
    
  10. Pulse el botón Crear para crear la instancia de CR db2ucluster .
  11. Verifique que db2ucluster se haya creado correctamente.
    Pulse la página Inicio > Buscar , seleccione el proyecto db2u y busque el tipo de recurso Db2uCluster. Filtre la palabra clave de nombre de servicio con db2u-manage. A continuación, pulse sus detalles y espere hasta que esté enReadystate. El proceso puede tardar 10 minutos en completarse.
  12. Compruebe la información de inicio de sesión, URL, contraseña y ca crt de la instancia Db2.

    Compruebe el servicio interno.

    En la página Inicio > Buscar , seleccione el proyecto db2u y busque el tipo de recurso Service. Filtre la palabra clave de nombre de servicio con db2u-engn-svc. En los resultados de búsqueda, muestra el nombre de servicio similar a c-db2wh-xxxx-db2u-engn-svc.

    Dentro del cluster, la URL JDBC es:
    
    jdbc:db2://c-db2u-manage-db2u-engn-svc.db2u.svc:50001/BLUDB:sslConnection=true;
    
    Nota: El nombre de la instancia de Db2 es el que se proporciona en el archivo YAML db2ucluster . No es un nombre de instancia generado.
    Cuando instale Maximo Application Suite 8.10 o posterior en un clúster Red Hat OpenShift habilitado para FIPS, configure la URL JDBC para utilizar una conexión no SSL.
    1. Editar elJdbcConfig archivo de administración >CustomResourceDefinitions y buscarJdbcCfg .
    2. Cambie sslEnabled por false.
    3. Cambie url para utilizar el puerto non-ssl .

    Compruebe la contraseña de la instancia de Db2 para el usuario predeterminado de Db2 db2inst1.

    Pulse Inicio > Buscar, seleccione el proyecto db2u y busque el tipo de recurso Secret. Filtre la palabra clave de nombre de servicio con -instancepassword. En los resultados de búsqueda, muestra el nombre de servicio similar a c-db2u-manage-instancepassword. A continuación, revele su contraseña.

    El usuario y la contraseña de JDBC que se utilizan para acceder a la instancia de Db2 son:
    usuario: db2inst1
    contraseña: xxx 
    Nota: Tenga en cuenta las opciones de autenticación de para Db2U cuando trabaje con la autenticación de usuario de Db2 .

    Compruebe el TLS interno que se utiliza para el acceso SSL de JDBC :

    Pulse Inicio > Buscar, seleccione el proyecto db2u y busque el tipo de recurso Secret. Filtre la palabra clave de nombre de servicio con db2u-certificate. A continuación, revele su ca.crt.

Instalación utilizando la interfaz de línea de mandatos (CLI) de Red Hat OpenShift

Procedimiento

  1. Cree un archivo YAML del catálogo del operador Db2U denominado db2catalog.yaml.
    
    ---
    apiVersion: operators.coreos.com/v1alpha1
    kind: CatalogSource
    metadata:
      name: ibm-db2uoperator-catalog
      namespace: openshift-marketplace
    spec:
      sourceType: grpc
      image: icr.io/cpopen/ibm-db2uoperator-catalog:latest
      imagePullPolicy: Always
      displayName: IBM Db2U Catalog
      publisher: IBM
      updateStrategy:
        registryPoll:
          interval: 45m
    
  2. Aplicar el archivo db2catalog.yaml al clúster de Red Hat OpenShift.
    
    oc apply -f db2catalog.yaml
    
  3. Verifique el estado del origen de catálogo:
    
    oc get catalogsource -n openshift-marketplace ibm-db2uoperator-catalog -o jsonpath='{.status.connectionState.lastObservedState} {"\n"}'
    
  4. Cree un espacio de nombres denominado db2u:
    
    oc new-project db2u
    
  5. Cree el archivo OperandRequest YAML db2u-operator.yaml para instalar el operador Db2u :
    
    ---
    apiVersion: operator.ibm.com/v1alpha1
    kind: OperandRequest
    metadata:
      name: db2u-request
      namespace: "db2u"
    spec:
      requests:
      - operands:
          - name: ibm-db2u-operator
        registry: common-service
        registryNamespace: ibm-common-services
    
  6. Aplicar el archivo db2u-operator.yaml al clúster de Red Hat OpenShift.
    
    oc apply -f db2u-operator.yaml
    
  7. Verifique que el operador Db2U se haya creado y se esté ejecutando correctamente:
    
    oc get sub -n ibm-common-services ibm-db2u-operator -o jsonpath='{.status.installedCSV} {"\n"}'
    
    Salida de ejemplo
    
    oc get csv -n ibm-common-services db2u-operator.v1.1.13 -o jsonpath='{ .status.phase } : {.status.message} {"\n"}'
    
    Salida de ejemplo
    
    oc get deployments -n ibm-common-services db2u-operator-manager -o jsonpath="{.status.availableReplicas} {'\n'}"
    
    Salida de ejemplo
  8. Para suministrar el emisor de certificado de CA autofirmado, cree un archivo YAML de emisor de CA denominado caissuer.yaml.
    
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: "db2u-ca-issuer"
      namespace: "db2u"
    spec:
      selfSigned: {}
    
  9. Aplicar el archivo caissuer.yaml al clúster de Red Hat OpenShift.
    
    oc apply -f caissuer.yaml
    
  10. Para suministrar el certificado de CA autofirmado para Db2, cree un archivo YAML de certificado de CA denominado cacert.yaml.
    
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: "db2u-ca-certificate"
      namespace: "db2u"
    spec:
      secretName: "db2u-ca"
      duration: "175200h0m0s"
      renewBefore: "2160h0m0s"
      issuerRef:
        name: "db2u-ca-issuer"
        kind: Issuer
    
      isCA: true
      keyAlgorithm: rsa
      keySize: 4096
      keyEncoding: pkcs8
    
      usages:
        - cert sign
        - digital signature
        - key encipherment
        - server auth
    
      commonName: "ca.db2u"
      organization:
        - "IBM Maximo Application Suite"
      subject:
        countries:
          - GB
        streetAddresses:
          - London
        localities:
          - London
        organizationalUnits:
          - IBM Maximo Application Suite DB2U
    
  11. Verifique que el certificado de CA se haya creado correctamente.
    
    oc get certificates -n db2u
    NAME                  READY   SECRET    AGE   EXPIRATION
    db2u-ca-certificate   True    db2u-ca   26s   2042-05-04T08:26:02Z
    
  12. Cree el archivo YAML issuer.yaml para crear el emisor de certificados del servidor Db2 . Este emisor hace referencia al secreto que se crea a partir del emisor del certificado de CA en el paso anterior.
    
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: "db2u-issuer"
      namespace: "db2u"
    spec:
      ca:
    secretName: "db2u-ca"
    
  13. Aplicar issuer.yaml al clúster de Red Hat OpenShift.
    
    oc apply -f issuer.yaml
    
  14. Cree el archivo YAML certificate.yaml para suministrar el certificado de servidor de Db2 :
    
    ---
     apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: "db2u-certificate"
      namespace: "db2u"
    spec:
      secretName: "db2u-certificate"
      duration: "175200h0m0s"
      renewBefore: "2160h0m0s"
      issuerRef:
        name: "db2u-issuer"
        kind: Issuer
    
      usages:
        - cert sign
        - digital signature
        - key encipherment
        - server auth
    
      commonName: "db2u"
      dnsNames:
        - "db2u-manage-db2u.apps.cluster1.example-cluster.com"
        - "*.db2u-manage-db2u.apps.cluster1.example-cluster.com"
        - "c-db2u-manage-db2u-engn-svc.db2u.svc"
        - "*.c-db2u-manage-db2u-engn-svc.db2u.svc"
      organization:
        - "IBM Maximo Application Suite"
      subject:
        countries:
          - GB
        streetAddresses:
          - London
        localities:
          - London
        organizationalUnits:
          - IBM Maximo Application Suite DB2U
    
    Nota: Para los nombres DNS, incluya svc y routes que se utilizan. Sustitúyalas por información de entorno real:
    • {{db2_instance_name}}-{{db2_namespace}}.{{cluster_subdomain}}
    • *.{{db2_instance_name}}-{{db2_namespace}}.{{cluster_subdomain}}
    • c-{{db2_instance_name}}-db2u-engn-svc.{{ db2_namespace }}.svc
    • *.c-{{db2_instance_name}}-db2u-engn-svc.{{ db2_namespace }}.svc
  15. Aplicar certificate.yaml al clúster de Red Hat OpenShift.
    
    oc apply -f certificate.yaml
    
  16. Cree el archivo YAML db2cluster.yaml para crear el clúster de Db2 :
    
    ---
    apiVersion: db2u.databases.ibm.com/v1
    kind: Db2uCluster
    metadata:
      name: "db2u-manage"
      namespace: "db2u"
    spec:
      account:
        privileged: true
      addOns:
        graph:
          enabled: false
        rest:
          enabled: false
      version: "11.5.7.0-cn4"
      size: 1
      environment:
        dbType: db2wh
        database:
          name: "BLUDB"
          settings:
            dftTableOrg: "ROW"
          ssl:
            secretName: "db2u-certificate"
            certLabel: "CN=db2u"
        instance:
          registry:
            DB2_4K_DEVICE_SUPPORT: "ON"
            DB2AUTH: 'OSAUTHDB,ALLOW_LOCAL_FALLBACK,PLUGIN_AUTO_RELOAD'
            DB2_FMP_RUN_AS_CONNECTED_USER: 'NO'
            DB2_WORKLOAD: MAXIMO
        mln:
          total: 1 
      license:
        accept: true
      podConfig:
        db2u:
          resource:
            db2u:
              requests:
                cpu: "2"
                memory: "12Gi"
              limits:
                cpu: "6"
                memory: "18Gi"
      storage:
        - name: meta
          type: create
          spec:
            storageClassName: "ocs-storagecluster-cephfs"
            accessModes:
              - ReadWriteMany
            resources:
              requests:
                storage: "100Gi"
        - name: data
          type: template
          spec:
            storageClassName: "ocs-storagecluster-ceph-rbd"
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: "500Gi"
        - name: backup
          type: create
          spec:
            accessModes:
            - ReadWriteMany
            resources:
              requests:
                storage: "500Gi"
            storageClassName: "ocs-storagecluster-cephfs"
        - name: activelogs
          spec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: "100Gi"
            storageClassName: "ocs-storagecluster-ceph-rbd"
          type: template
        - name: tempts
          spec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: "100Gi"
            storageClassName: "ocs-storagecluster-ceph-rbd"
          type: template
    
  17. Aplicar db2cluster.yaml al clúster de Red Hat OpenShift.
    
    oc apply -f db2cluster.yaml
    
  18. Verifique el estado del clúster Db2U :
    
    oc get db2ucluster -n db2u db2u-manage -o jsonpath='{.status.state} {"\n"}'
    
  19. Compruebe el nombre de usuario, la URL y la contraseña de la instancia Db2.
    Compruebe el servicio interno:
    
    oc get svc -n db2u | grep -i engn-svc
    
    Salida de ejemplo
    Dentro del cluster, la URL JDBC es:
    
    jdbc:db2://c-db2u-manage-db2u-engn-svc.db2u.svc:50001/BLUDB:sslConnection=true;
    
    Nota: db2u-manage es el nombre de instancia de la instancia de Db2 .
    Cuando instale Maximo Application Suite 8.10 o posterior en un clúster Red Hat OpenShift habilitado para FIPS, configure la URL JDBC para utilizar una conexión no SSL.
    1. Editar elJdbcConfig archivo de administración >CustomResourceDefinitions y buscarJdbcCfg .
    2. Cambie sslEnabled por false.
    3. Cambie url para utilizar el puerto non-ssl .
    Compruebe la contraseña de la instancia de Db2 para el usuario de Db2 predeterminado db2inst1:
    
    oc extract secret/c-db2u-manage-instancepassword -n db2u --keys=password --to=-
    
    Salida de ejemplo
    El usuario y la contraseña de JDBC que se utilizan para acceder a la instancia de Db2 son:
    usuario: db2inst1
    password: PcJ1fKYfFdA5AtA
    Compruebe el ca.crt utilizado para conectar el puerto SSL de JDBC :
    
    oc extract secret/db2u-certificate -n db2u --keys=ca.crt --to=-
    
    Salida de ejemplo

Qué hacer a continuación

Configurando IBM Db2 Warehouse