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 initConfigure PrimeHub for advanced features. Please reference the configuration document
Install the metacontroller
make metacontroller-install
Install the keycloak
make keycloak-installInstall 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-keycloakDiff and install primehub
make release-diff-primehub make primehub-upgrade
Install additional components
Grafana
Create Grafana Keycloak client:
make create-grafana-keycloak-clientDon't forget to update
.envabout yourGRAFANA_KEYCLOAK_PROXY_CLIENT_SECRET.Set environment
GRAFANA_ADMIN&GRAFANA_PASSWORDin.envfileNever forget to assign there values, or it will be hard for you to login as
GRAFANA_ADMINsince Grafana will pick a random password if we didn't assign it before.Check Helm difference:
make component-diff-prometheus-operatorInstall applications:
make component-install-prometheus-operatorCheck 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_SECRETin.envfile, the variable value should be available from step 1.Check Helm difference:
make component-diff-efkInstall components:
make component-install-efkCheck your Kibana ingress by running
kubectl get ingresses -n logging kibanaYou 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 lsCheck the different
make release-diff-<release name>Upgrade
make release-install-<release name>