Install Hybrid Manager on Red Hat OpenShift using EDB Postgres AI Operator#

オペレーターの依存関係をインストールします#

EDB Postgres AI Operatorには、すべての名前空間を管理するRed Hat OpenShiftRHOSの明示的な依存関係cert-managerオペレーターがあります。 EDB Postgres AI Platform Operatorの前に自動的にインストールされます。

Red Hatのオペレーターには、次のような暗黙の依存関係もあります。

  • すべての名前空間を管理するRHOS Service Mesh 2

  • 名前空間openshift-nfd を管理するノード機能検出オペレーター

  • 名前空間nvidia-gpu-operator を管理するNVIDIA GPU Operator

これらのオペレーターを既にインストールしている場合、再インストールする必要はありません。

RHOSのオペレーターをインストールする#

  1. RHOSにEDB Postgres AI Operatorをインストールするには、最初にEDB Cloudsmithリポジトリにアクセスするためのイメージプルシークレットを準備していることを確認します。また、リポジトリ docker.enterprisedb.com/pgai-platform/edb-hcp-operator/manager からイメージをプルするために必要な権限があることを確認します。

export DOCKER_SERVER="docker.enterprisedb.com"
export DOCKER_USERNAME="pgai-platform"
export DOCKER_PASSWORD="<your-docker-password>"
  1. EDB EDB Postgres AI Operatorの新しいOCプロジェクトを作成します。

oc new-project edb-hcp-operator-system
  1. EDB Cloudsmithリポジトリにアクセスするようにイメージプルシークレットを設定します。

oc create secret docker-registry edb-hcp-operator-pull-secret \
  --docker-server="$DOCKER_SERVER" \
  --docker-username="$DOCKER_USERNAME" \
  --docker-password="$DOCKER_PASSWORD" \
  --namespace=edb-hcp-operator-system
  1. OpenShift Container PlatformOCPを使用して、Red Hat OpenShiftのEDB Postgres AI Operatorをインストールします。

  2. OCP Webコンソールにログインします。

  3. Operators > OperatorHub を選択します。

  4. フィルタボックスにEDB Postgres AI と入力します。

  5. EDB Postgres AI Operator を選択し、 Install を選択します。

  6. [Install Operator]ページで、次のことを行います。オペレーターには、前に作成したedb-hcp-operator-system 名前を使用して インストールされた名前空間 を選択します。 b. Install を選択します。

Tip

RHOSでは、cert-managerはハイブリッドマネージャーの必須依存関係です。 cert-managerをインストールするときは、正常に動作するように、**インストールモード**が**クラスター上のすべての名前空間**として構成されていることを確認します。

RHOSにハイブリッドマネージャーをインストールする#

EDB Postgres AI OperatorをRHOSクラスターにインストールした後、Operatorを使用してHybrid Managerをインストールする必要があります。次のYAMLファイルは、ハイブリッドマネージャーのインストールを開始します。

apiVersion: edbpgai.edb.com/v1alpha1
kind: HybridControlPlane
metadata:
  name: edbpgai
spec:
  source:
    useLocalKustomizations: true
  flavour: rhos
  version: v1.2.0+appl
  imageRegistry: ${CONTAINER_REGISTRY_URI}
  imagePullSecrets:
    - name: edb-cred
      namespace: edbpgai-bootstrap
  globalParameters:
    internal_backup_folder: 4befab698c8d
    portal_domain_name: ${PORTAL_DOMAIN_NAME}
    default_ingress_domain: ${DEFAULT_INGRESS_DOMAIN}
    storage_class: ${STORAGE_CLASS}
  componentsParameters:
    edb-migration-portal:
      enable_pdb: "false"
    transporter-data-operator:
      fips_enabled: "${TRANSPORTER_FIPS_ENABLED}"
    transporter-dp-agent:
      rw_service_url: https://${TRANSPORTER_RW_SERVICE_DOMAIN_NAME}/transporter
    transporter-rw-service:
      domain_name: ${TRANSPORTER_RW_SERVICE_DOMAIN_NAME}
    upm-api-pnxt-metric:
      log_level: info
      tsdb_host: thanos-query.monitoring.svc.cluster.local
      tsdb_port: "9090"
    upm-api-pnxt-pd:
      log_level: info
    upm-beaco-ff-base:
      usage_generator_interval: 24h
    upm-beaco-usages:
      usage_generator_interval: 24h
    upm-beacon:
      server_host: ${BEACON_SERVICE_DOMAIN_NAME}
      beacon_server_replicas: "1"
      external_metrics_replicas: "1"
      beacon_db_hibernation: "\"off\""
    upm-istio-gateway:
      openshift_console_domain_name: ${OPENSHIFT_CONSOLE_DOMAIN_NAME}
      cookie_aeskey: ${AES_256_KEY}
      ingress_http_node_port: "32542"
      ingress_https_node_port: "30288"
      ingress_grpc_tls_node_port: "30290"
    upm-prometheus:
      memory: 4Gi
    upm-trust-manager:
      cert_manager_namespace: ${CERT_MANAGER_NAMESPACE}
  pgai:
    portal:
      authentication:
        idpConnectors: []
        staticPasswords:
          - email: ${AUTHENTICATION_EMAIL}
            hash: ${AUTHENTICATION_HASH}
            username: ${AUTHENTICATION_USERNAME}
            userID: ${AUTHENTICATION_USER_ID}
  beaconAgent:
    applianceProviderEnabled: true
    plaintext: true
    beaconServerAddress: "upm-beacon-server-ingestion.upm-beacon.svc.cluster.local:8080"
    tlsInsecure: false
    location: "devspatcher"
    logLevel: "debug"
    beaconDBConnected: true
    inCluster: true
    provisioning:
      loadBalancersEnabled: true
      nodePortDomain: "nodeportdomain.com"
      imageDiscovery: true
      imagesetDiscoveryAuthenticationType: "basic"
      imagesetDiscoveryContainerRegistryURL: "us-east1-docker.pkg.dev"
    providers:
      - appliance

YAMLが適用された後、次のコマンドを使用してインストールステータスを監視できます。

oc get hybridcontrolplane edbpgai -o yaml

インストールが現在いるフェーズに応じて、3つの異なるステータスを返すことができます。

- deployed # the installation was successful

- deploying # the installation is still in progress

- failed: # the install was unsuccessful

インストールが成功すると、 updating DNS zone records and verify the install .

Operatorを介してインストールされたHybrid Managerのアンインストール#

警告

次の手順は、Hybrid Managerをアンインストールします。 Hybrid Managerをアンインストールする場合にのみ、この手順を使用します。

ハイブリッドマネージャーを削除する必要がある場合があります。ハイブリッドマネージャーはデフォルトで削除から保護されているため、最初にその保護を無効にする必要があります。

kubectl annotate hybridcontrolplane edbpgai biganimal.enterprisedb.io/deletion-protect=disabled --overwrite

次に、アンインストールできます。

kubectl delete hybridcontrolplane edbpgai --wait=false

プロセスをモニタするには、次を実行します。

kubectl get hybridcontrolplane edbpgai -o yaml