Install OpenEverest on OpenShift¶
This section explains how to install OpenEverest on OpenShift using Helm.
Developer Preview
This is a developer preview release. Features are incomplete and subject to change. The everestctl installation method is not available for this release; install OpenEverest with Helm.
Install OpenEverest¶
{.power-number}
-
Add the OpenEverest Helm repository:
helm repo add openeverest https://openeverest.github.io/helm-charts/ helm repo update -
Install the OpenEverest core with OpenShift compatibility enabled:
helm install everest-core openeverest/openeverest \ --devel \ --namespace everest-system \ --create-namespace \ --set compatibility.openshift=trueThe
--develflag installs the latest developer preview. To pin an exact release, add--version, for example--version "2.0.0-dev.3". -
Install the MongoDB Provider:
helm install provider-percona-server-mongodb \ oci://ghcr.io/openeverest/charts/provider-percona-server-mongodb \ --namespace everest-systemFind more providers and plugins in the Plugin Hub
OpenEverest ships with the Plugin Hub, an in-product catalog for discovering additional providers and plugins. Open it in the OpenEverest UI at
/plugins/plugin-hub, or find it in the left-hand menu. Learn more in the Extension Hub docs, browse the online catalog at openeverest.io/extensions , or read the Plugin Hub introduction blog post. -
Once the installation is complete, retrieve the
adminpassword:kubectl get secret everest-accounts -n everest-system -o jsonpath='{.data.users\.yaml}' | base64 --decode | yq '.admin.passwordHash'The default username for the OpenEverest UI is
admin. You can set a different initial admin password with theserver.initialAdminPasswordparameter during installation.Important
The default
adminpassword is stored in plain text. It is highly recommended to update it so the password is hashed. See manage users in OpenEverest. -
Access the OpenEverest UI/API. OpenEverest is not exposed with an external IP by default, so use one of the following options:
-
Change the
everestservice type toLoadBalancer:kubectl patch svc/everest -n everest-system -p '{"spec": {"type": "LoadBalancer"}}' -
Retrieve the external IP address for the
everestservice:kubectl get svc/everest -n everest-systemExpected output
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE everest LoadBalancer 10.43.172.194 34.175.201.246 8080:8080/TCP 10s
Open the OpenEverest UI at the external IP address, for example
http://34.175.201.246:8080.A NodePort service makes a specific port accessible on all nodes within the cluster, assigning a static port on each node’s IP address.
-
Change the
everestservice type toNodePort:kubectl patch svc/everest -n everest-system -p '{"spec": {"type": "NodePort"}}' -
Find the port Kubernetes assigned to the
everestservice (here,32349):kubectl get svc/everest -n everest-systemNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE everest NodePort 10.43.139.191 <none> 8080:32349/TCP 28m -
Retrieve the external IP addresses of the cluster nodes:
kubectl get nodes -o wide -
Open the OpenEverest UI at any node IP address on the assigned port, for example
http://34.175.155.135:32349.
-
Set up a port-forward to the
everestservice:kubectl port-forward svc/everest 8080:8080 -n everest-systemOpen the OpenEverest UI at
http://127.0.0.1:8080. -
(Recommended) When TLS is enabled, forward the TLS port instead:
kubectl port-forward svc/everest 8443:443 -n everest-systemOpenEverest is then available at
https://127.0.0.1:8443.For comprehensive instructions on enabling TLS for OpenEverest, see TLS setup with OpenEverest.
-