Skip to main content

Install Patient Journey Intelligence on Google GKE

This guide installs Patient Journey Intelligence on an existing Google Kubernetes Engine (GKE) cluster in four steps: connect to the cluster, prepare ingress, run the installer with --gke, and verify external access. Review the common prerequisites and prepare the required release files first.

Connect to the GKE cluster​

gcloud container clusters get-credentials <cluster> --zone <zone> --project <project-id>
kubectl get nodes

Prepare the ingress-nginx controller​

Follow Managed Cluster Ingress to install the required ingress-nginx controller and check its external address. Review the ingress maintenance guidance on that page before deployment.

Install Patient Journey Intelligence​

Replace <namespace> with your application namespace and <fqdn> with its DNS hostname, such as pjapp.example.com. Use the same namespace in the verification commands, and the same namespace and hostname when upgrading.

./pj-app-installer.sh --gke \
--namespace <namespace> \
--host <fqdn> \
--license-file license.json
--host takes a DNS name

Pass a DNS name, not an IP address, with --host. Kubernetes Ingress host validation rejects IP addresses. If you do not pass --host, the shared ingress is created without a host rule.

Verify external access​

kubectl get ingress -n <namespace> -w
kubectl get ingress -n <namespace> -o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}{"\n"}'

Next steps​

Use Configuration for storage, HTTPS, and optional integrations. Preserve your environment settings when upgrading.

Frequently asked questions​

Run pj-app-installer.sh with --gke, together with --namespace, --host, and --license-file. Repeat --gke, the namespace, and the host name on every upgrade.

Yes. GKE mode expects an ingress-nginx controller in the cluster with ingress class nginx. Install it as described in Managed Cluster Ingress on the Configuration page before running the installer.

No. Kubernetes Ingress host validation rejects IP addresses, so --host must be a DNS name. If you leave out --host, the shared ingress is created without a host rule.