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対 Edit the Helm chart を使用してHybrid Managerをインストールした場合、アンインストールできます。

警告

The following procedure uninstalls Hybrid Manager. Use this procedure only if you're sure you want to uninstall 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