Install Hybrid Manager on Red Hat OpenShift using EDB Postgres AI Operator#
Install Operator dependencies#
EDB Postgres AI Operator has an explicit dependency cert-manager operator for Red Hat OpenShift (RHOS), which manages all namespaces. It’s installed automatically before EDB Postgres AI Platform Operator.
The operator for Red Hat also has implicit dependencies including:
RHOS Service Mesh 2, which manages all namespaces
Node Feature Discovery Operator, which manages the namespace
openshift-nfdNVIDIA GPU Operator, which manages the namespace
nvidia-gpu-operator
If you’ve already installed these operators, you don’t need to reinstall them.
Install the operator for RHOS#
To install EDB Postgres AI Operator on RHOS, 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="pgai-platform"
export DOCKER_PASSWORD="<your-docker-password>"
Create a new OC project for EDB Postgres AI Operator:
oc new-project edb-hcp-operator-system
Set up the image pull secret to access the EDB Cloudsmith repository:
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
Use OpenShift Container Platform (OCP) to install EDB Postgres AI Operator for Red Hat OpenShift:
Log in to the OCP web console.
Select Operators > OperatorHub.
In the filter box, enter
EDB Postgres AI.Select EDB Postgres AI Operator and select Install.
On the Install Operator page: a. For the operator, select Installed Namespace using the
edb-hcp-operator-systemname you created earlier. b. Select Install.
Tip
On RHOS, cert-manager is a required dependency for Hybrid Manager. When installing cert-manager, so that it works correctly, ensure that Installation Mode is configured as All namespaces on the cluster.
Install Hybrid Manager on RHOS#
After EDB Postgres AI Operator is installed on your RHOS 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: 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
After the YAML has been applied, you can use the following command to monitor the installation status:
oc 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 installed via Operator#
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