Install Hybrid Manager on Google Cloud GKE using EDB Postgres AI Operator#

インストールの準備#

  1. オペレーターを取得するための認証には、次の環境変数が必要です。

export EDB_CLOUDSMITH_TOKEN=<edb-cloudsmith-token>
  1. オペレーターの新しい名前空間を作成します。

kubectl create namespace edb-hcp-operator-system
  1. オペレーターのHelmチャートリポジトリを追加し、更新します。

helm repo add enterprisedb-edbpgai "https://downloads.enterprisedb.com/${EDB_CLOUDSMITH_TOKEN}/pgai-platform/helm/charts/"
helm repo update
  1. 適切なバージョン、この場合1.2を使用してインストールを続行します。

export OPERATOR_VERSION=1.2.0

GKEにオペレーターをインストールする#

ネットワークのユースケースの指示を使用して、オペレーターをインストールします。

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

export DOCKER_SERVER="docker.enterprisedb.com"
export DOCKER_USERNAME="<your-docker-user-name>"
export DOCKER_PASSWORD="<your-docker-password>"
  1. オペレーターのイメージプルシークレットを作成します。

kubectl 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. オペレーターをインストールします。

helm upgrade \
    -n edb-hcp-operator-system \
    --install \
    --set "imagePullSecrets[0].name=edb-hcp-operator-pull-secret" \
    --set controllerManager.manager.image.tag=$OPERATOR_VERSION \
    --set controllerManager.manager.image.repository=docker.enterprisedb.com/pgai-platform/edb-hcp-operator/manager \
    --version $OPERATOR_VERSION \
    edb-hcp-operator enterprisedb-edbpgai/edb-hcp-operator

オペレーターを使用してハイブリッドマネージャーをインストールする#

YAMLを適用してインストールする#

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

apiVersion: edbpgai.edb.com/v1alpha1
kind: HybridControlPlane
metadata:
  name: edbpgai
spec:
  source:
    useLocalKustomizations: true
  flavour: gke
  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}
    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:
      cookie_aeskey: ${AES_256_KEY}
    upm-prometheus:
      memory: 4Gi
  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が適用された後、次のコマンドを使用してインストールステータスを監視できます。

kubectl 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 .

ハイブリッドマネージャーのアンインストール#

EDB Postgres AI Operator対 Helmチャートを編集する を使用して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