Install Everest¶
Before you start¶
Before running the commands in the Installation section, note that Everest will search for the kubeconfig file in the ~/.kube/config
path. If your file is located elsewhere, use the export command below to set the KUBECONFIG
environment variable:
export KUBECONFIG=~/.kube/config
Installation¶
To install and provision Percona Everest to Kubernetes:
-
Download the latest release of everestctl to provision Percona Everest. For detailed installation instructions, see CLI installation documentation.
-
Install Percona Everest using one of the following commands:
everestctl install
Enter the specific names for the namespaces you want Percona Everest to manage, separating each name with a comma. These namespaces are restricted and cannot be used for deploying databases. Make sure that you enter at least one namespace.
Alternatively, you can set multiple namepaces in the headless mode:
Replaceeverestctl install --namespaces <namespace-name1>,<namespace-name2> --operator.mongodb=true --operator.postgresql=true --operator.xtradb-cluster=true --skip-wizard
<namespace-name>
with the desired name for your namespace.Example
everestctl install --namespaces dev,prod --operator.mongodb=true --operator.postgresql=true --operator.xtradb-cluster=true --skip-wizard
To gain a deeper understanding of how to install different operators in various namespaces, refer to the configure multiple namespaces section.
-
Update the password for the
admin
user:everestctl accounts set-password --username admin
Important
- You can retrieve the automatically generated password by running the
everestctl accounts initial-admin-password
command. However, this password isn’t stored securely.
To access detailed information about user management, see the Manage users in Percona Everest section.
- You can retrieve the automatically generated password by running the
-
Access the Everest UI/API using one of the following options for exposing it, as Everest is not exposed with an external IP by default:
-
Use the following command to change the Everest service type to
LoadBalancer
:kubectl patch svc/everest -n everest-system -p '{"spec": {"type": "LoadBalancer"}}'
-
Retrieve the external IP address for the Everest service. This is the address where you can then launch Everest at the end of the installation procedure. In this example, the external IP address used is http://34.175.201.246:
kubectl get svc/everest -n everest-system
Expected output
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE everest LoadBalancer 10.43.172.194 34.175.201.246 8080:8080/TCP 10s
A NodePort is a service that makes a specific port accessible on all nodes within the cluster. It enables external traffic to reach services running within the Kubernetes cluster by assigning a static port to each node’s IP address.
-
Run the following command to change the Everest service type to
NodePort
:kubectl patch svc/everest -n everest-system -p '{"spec": {"type": "NodePort"}}
-
The following command displays the port assigned by Kubernetes to the everest service, which is
32349
in this case.kubectl get svc/everest -n everest-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE everest NodePort 10.43.139.191 <none> 8080:32349/TCP 28m
-
Retrieve the external IP addresses for the kubernetes cluster nodes.
kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IPEXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME gke-everest-test-default-pool-8bbed860-65gx Ready <none> 3m35s v1.30.3-gke.1969001 10.204.15.199 34.175.155.135 Container- Optimized OS from Google 6.1.100+ containerd://1.7.19 gke-everest-test-default-pool-8bbed860-pqzb Ready <none> 3m35s v1.30.3-gke.1969001 10.204.15.200 34.175.120.50 Container- Optimized OS from Google 6.1.100+ containerd://1.7.19 gke-everest-test-default-pool-8bbed860-s0hg Ready <none> 3m35s v1.30.3-gke.1969001 10.204.15.201 34.175.201.246 Container- Optimized OS from Google 6.1.100+ containerd://1.7.19
-
To launch the Percona Everest UI and create your first database cluster, go to the IP address/port found in steps 2 and 3. In this example, the external IP address used is http://34.175.155.135:32349. Nevertheless, you have the option to use any node IP specified in the above steps.
Run the following command to use
Kubectl port-forwarding
for connecting to Everest without exposing the service:kubectl port-forward svc/everest 8080:8080 -n everest-system
To launch the Percona Everest UI and create your first database cluster, go to your localhost IP address http://127.0.0.1:8080.
-
Get expert help¶
If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services.