Install Hybrid Manager on Google Cloud GKE using EDB Postgres AI Operator#
Install preparation#
The following environmental variable is required for authentication to obtain the operator:
export EDB_CLOUDSMITH_TOKEN=<edb-cloudsmith-token>
Create a new namespace for the operator:
kubectl create namespace edb-hcp-operator-system
Add the Helm chart repository for the operator and update it:
helm repo add enterprisedb-edbpgai "https://downloads.enterprisedb.com/${EDB_CLOUDSMITH_TOKEN}/pgai-platform/helm/charts/"
helm repo update
Proceed with the installation using the appropriate version, in this case 1.2:
export OPERATOR_VERSION=1.2.0
Install the operator on GKE#
Install the operator using the instructions for your network use case:
To install EDB Postgres AI Operator on GKE, first ensure you’ve prepared the image pull secret for accessing the EDB Cloudsmith repository. Also verify that you have the necessary permissions to pull images from the repository
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>"
Create the image pull secret for the operator:
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
Install the operator:
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
Install Hybrid Manager using the operator#
Apply the YAML and install#
After EDB Postgres AI Operator is installed on your GKE cluster, you need to use the operator to install Hybrid Manager. The following YAML file initiates the Hybrid Manager installation:
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
After the YAML has been applied, you can use the following command to monitor the installation status:
kubectl get hybridcontrolplane edbpgai -o yaml
Three different statuses can be returned, depending on the phase the installation is currently in:
- deployed # the installation was successful
- deploying # the installation is still in progress
- failed: # the install was unsuccessful
After the install is successful, updating DNS zone records and verify the install .
Uninstalling Hybrid Manager#
If you installed Hybrid Manager using EDB Postgres AI Operator (versus Edit the Helm chart ), you can uninstall it.
Warning
The following procedure uninstalls Hybrid Manager. Use this procedure only if you're sure you want to uninstall Hybrid Manager.
There may be cases where you want to delete Hybrid Manager. Because Hybrid Manager is protected from deletion by default, you must first disable that protection:
kubectl annotate hybridcontrolplane edbpgai biganimal.enterprisedb.io/deletion-protect=disabled --overwrite
You can then uninstall:
kubectl delete hybridcontrolplane edbpgai --wait=false
To monitor the process, run:
kubectl get hybridcontrolplane edbpgai -o yaml