Externen MQ -Service aktivieren

Wenn Sie den GDS-Service aktiviert haben, müssen Sie den externen IBM MQ -Service aktivieren.

Vorbereitende Schritte

  • Sie müssen den GDS-Service über die CR-Datei productmaster_instance aktivieren. Weitere Informationen finden Sie unter Zusätzliche Features aktivieren.
  • Sie müssen MQ in demselben Namensbereich installieren, in dem auch der Product Masterinstalliert ist.
  • Sie können entweder Ihren eigenen externen MQ -Unterstützungsservice oder den IBM MQ -Service verwenden.

Vorgehensweise

  1. Fügen Sie den folgenden Wert mit dem folgenden Befehl zur Manifestdatei des IBM MQ -Service hinzu.
    Namespace
    Der Namensbereich, in dem Sie den Product Masterinstalliert haben
    cat <<EOF| oc apply -f -
    apiVersion: v1
    kind: Service
    metadata:
      name: productmaster-mq-service
      namespace: ${PROJECT_CPD_INST_OPERANDS}
      labels:
        app: productmaster-mq
    spec:
      type: ClusterIP
      ports:
        - name: http
          port: 1414
          protocol: TCP
          name: http
          targetPort: 1414
        - name: https
          port: 9443
          protocol: TCP
          name: https
          targetPort: 9443
      selector:
        app: productmaster-mq
    EOF
  2. Fügen Sie die folgenden Werte zur Manifestdatei IBM MQ StatefulSet hinzu.
    storageClassName
    Der Name der Speicherklasse.
    Abbildung
    icr.io/ibm-messaging/mq:9.3.2.0-r2
    Registryname
    Der Name der Registry.
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: productmaster-mq
      namespace: <namespace>
    spec:
      selector:
        matchLabels:
          app: productmaster-mq
      serviceName: productmaster-mq-service
      template:
        metadata:
          labels:
            app: productmaster-mq
          name: productmaster-mq
        spec:
          containers:
          - env:
            - name: MQ_APP_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: mq_app_pass
                  name: app-secret
            - name: MQ_ADMIN_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: mq_ui_pass
                  name: app-secret
            envFrom:
            - configMapRef:
                name: productmaster-mq-configmap
            image: : icr.io/ibm-messaging/mq:9.3.2.0-r2
            imagePullPolicy: Always
            livenessProbe:
              failureThreshold: 3
              initialDelaySeconds: 60
              periodSeconds: 70
              successThreshold: 1
              tcpSocket:
                port: http
              timeoutSeconds: 1
            name: productmaster-mq
            ports:
            - containerPort: 1414
              name: http
              protocol: TCP
            - containerPort: 9443
              name: https
              protocol: TCP
            readinessProbe:
              failureThreshold: 3
              initialDelaySeconds: 30
              periodSeconds: 60
              successThreshold: 1
              tcpSocket:
                port: http
              timeoutSeconds: 1
            resources:
              limits:
                cpu: 150m
                ephemeral-storage: 900Mi
                memory: 500Mi
              requests:
                cpu: 120m
                ephemeral-storage: 900Mi
                memory: 500Mi
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              privileged: false
              readOnlyRootFilesystem: false
              runAsNonRoot: true
            startupProbe:
              failureThreshold: 60
              periodSeconds: 10
              successThreshold: 1
              tcpSocket:
                port: 1414
              timeoutSeconds: 1
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
            volumeMounts:
            - mountPath: /mnt/mqm
              name: pvc-data
          dnsPolicy: ClusterFirst
          imagePullSecrets:
          - name: <registryname>
          restartPolicy: Always
          serviceAccount: ibm-cpd-productmaster-sa
          serviceAccountName: ibm-cpd-productmaster-sa
          terminationGracePeriodSeconds: 30
      updateStrategy:
        rollingUpdate:
          partition: 0
        type: RollingUpdate
      volumeClaimTemplates:
      - apiVersion: v1
        kind: PersistentVolumeClaim
        metadata:
          name: pvc-data
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 15Gi
          storageClassName: <storageclassname>
          volumeMode: <storageclass-type>
  3. Fügen Sie den folgenden Wert zur Datei ConfigMap des IBM MQ -Service hinzu.
    Namespace
    Der Namensbereich, in dem Sie den Product Masterinstalliert haben
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: productmaster-mq-configmap
      namespace: ${PROJECT_CPD_INST_OPERANDS}
      labels:
        app: productmaster-mq
    data:
      LICENSE: accept
      MQ_QMGR_NAME: QM1
    
  4. Um eine Route zu erstellen, über die Sie auf den externen MQ -Service zugreifen können, fügen Sie den folgenden Wert zur IBM MQ -Serviceroute-Datei hinzu.
    Namespace
    Der Namensbereich, in dem Sie den Product Masterinstalliert haben
    kind: Route
    apiVersion: route.openshift.io/v1
    metadata:
      name: productmaster-mq-route
      namespace: ${PROJECT_CPD_INST_OPERANDS}
      labels:
        app: productmaster-mq
    spec:
      to:
        kind: Service
        name: productmaster-mq-service
        weight: 100
      port:
        targetPort: https
      tls:
        termination: passthrough
        insecureEdgeTerminationPolicy: Redirect
      wildcardPolicy: None
    
  5. Fügen Sie die folgenden Einträge zur Datei 'app-secret' hinzu, um eine Verbindung zum externen MQ -Service herzustellen. Sie müssen dies tun, wenn Sie den GDS-Service aktiviert haben.
    
    mq_host: "<MQ IP or hostname>"  
    mq_port: "<MQ service port>"  
    mq_app_user: "<MQ service  app username>"  
    mq_app_pass: "<MQ service app password>" 

    Optional-Sie können diese Einträge auch über die Red Hat® OpenShift® -Webkonsole hinzufügen.

    1. Melden Sie sich bei Ihrer Red Hat OpenShift -Instanz als Administrator an.
    2. Klicken Sie in der linken Anzeige auf Verwaltung > Workloads > Geheime Schlüssel .
    3. Wählen Sie app-secretaus.
    4. Klicken Sie in der rechten Ecke auf Aktionen und wählen Sie Geheimen Schlüssel bearbeitenaus.
    5. Fügen Sie das folgende Schlüssel/Wert-Paar für den Schlüssel hinzu.
      Key :- mq_host   |  value :- mq-service-name
      Key :- mq_port   |  value :- 1414
      Key :- mq_app_user  |  value :- app
      Key :- mq_app_pass   |  value :- admin