PrimeHub Installation & Setup Guide
Prerequisites
- A Kubernetes Cluster
- Helm is installed. Please follow the instruction here
- Domain name for keycloak and primehub (e.g. id.example.com, primehub.example.com)
- Dynamic Volume Provisioner (e.g. ceph, cloud storage providers)
- Cert-manager if https is required
- NGINX Ingress Controller for Kubernetes
Install PrimeHub
Please clone the primehub repository or untar the primehub release
Init the configuration.
export PRIMEHUB_SCHEME=https export PRIMEHUB_DOMAIN=primehub.example.com export PRIMEHUB_CONSOLE_DOCKER_USERNAME=<the primehub console repo user> export PRIMEHUB_CONSOLE_DOCKER_PASSWORD=<the primehub console repo password> export KC_USER=<user> export KC_PASSWORD=<password> export KC_SCHEME=https export KC_DOMAIN=id.example.com export PRIMEHUB_STORAGE_CLASS=<the storage class of RWO PVCs> make init
Configure PrimeHub for advanced features. Please reference the configuration document
Install the metacontroller
make metacontroller-install
Install the keycloak
make keycloak-install
Install the primehub
make primehub-install
Once complete, please check the http(s)://primehub.example.com/
Upgrade Primehub
Diff and install keycloak
make release-diff-keycloak make release-install-keycloak
Diff and install primehub
make release-diff-primehub make primehub-upgrade
Install additional components
Grafana
Create Grafana Keycloak client:
make create-grafana-keycloak-client
Don't forget to update
.env
about yourGRAFANA_KEYCLOAK_PROXY_CLIENT_SECRET
.Set environment
GRAFANA_ADMIN
&GRAFANA_PASSWORD
in.env
fileNever forget to assign there values, or it will be hard for you to login as
GRAFANA_ADMIN
since Grafana will pick a random password if we didn't assign it before.Check Helm difference:
make component-diff-prometheus-operator
Install applications:
make component-install-prometheus-operator
Check your Grafana ingress by running:
kubectl get ingresses -n monitoring prometheus-operator-grafana
Kibana
Kibana is no longer supported.
Create Kibana KeyCloak client:
make create-kibana-keycloak-client KC_USER=$(YOUR_KEYCLOAK_ADMINISTRATOR_ID) KC_PASSWORD=$(YOUR_KEYCLOAK_ADMINISTRATOR_PASSWORD)
Set environment
KIBANA_KEYCLOAK_PROXY_CLIENT_SECRET
in.env
file, the variable value should be available from step 1.Check Helm difference:
make component-diff-efk
Install components:
make component-install-efk
Check your Kibana ingress by running
kubectl get ingresses -n logging kibana
You may login Kibana by using the same account of
admin-ui
, which is available at the output of Install PrimeHub stage.
Upgrade individual helm Release
Get the releases in helm
helm ls
Check the different
make release-diff-<release name>
Upgrade
make release-install-<release name>