Skip to content

Percona Everest quick install guide

This section provides instructions for quickly installing and getting started with Percona Everest.

Prerequisites

Before getting started with Percona Everest, do the following:

  1. Install curl.

  2. Set up a Kubernetes cluster.

    Note

    Percona Everest assists with installing all the necessary operators and required packages, but does not deploy a Kubernetes cluster.

    We recommend setting up Percona Everest on the Amazon Elastic Kubernetes Service (EKS) or Google Kubernetes Engine (GKE).

    Create EKS cluster Create GKE cluster

  3. Verify that you have access to the Kubernetes cluster that you want to use with Everest. By default, Everest uses the kubeconfig file available under ~/.kube/config.

    If your file is located elsewhere, use the export command below to set the KUBECONFIG environment variable:

    export KUBECONFIG=~/.kube/config
    

    To verify access to the Kubernetes cluster, run the following command:

    kubectl get nodes
    
    Expected output
    NAME                                    STATUS   ROLES    AGE   VERSION
    gke-<name>-default-pool-75d48bfc-bx8g   Ready    <none>   11h   v1.26.7-gke.500
    gke-<name>-default-pool-75d48bfc-c2df   Ready    <none>   11h   v1.26.7-gke.500
    gke-<name>-default-pool-75d48bfc-zl7k   Ready    <none>   11h   v1.26.7-gke.500
    

Install Percona Everest

You can download the latest version of Everest CLI by visiting the latest release page in this repository.

  1. Download and install Everest CLI.

    curl -sSL -o everestctl-linux-amd64 https://github.com/percona/everest/releases/latest/download/everestctl-linux-amd64
    sudo install -m 555 everestctl-linux-amd64 /usr/local/bin/everestctl
    rm everestctl-linux-amd64       
    
    curl -sSL -o everestctl-darwin-arm64 https://github.com/percona/everest/releases/latest/download/everestctl-darwin-arm64
    sudo install -m 555 everestctl-darwin-arm64 /usr/local/bin/everestctl
    rm everestctl-darwin-arm64      
    
    curl -sSL -o everestctl-darwin-amd64 https://github.com/percona/everest/releases/latest/download/everestctl-darwin-amd64
    sudo install -m 555 everestctl-darwin-amd64 /usr/local/bin/everestctl
    rm everestctl-darwin-amd64        
    
  2. Install Percona Everest:

    everestctl install
    

    Enter the specific names for the namespaces you want Percona Everest to manage, separating each name with a comma.

    Important

    Make sure that you enter at least one namespace.

  3. 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.

    For more information on user management, see the section Manage users in Percona Everest.

  4. 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:

    1. Use the following command to change the Everest service type to LoadBalancer:

      kubectl patch svc/everest -n everest-system -p '{"spec": {"type": "LoadBalancer"}}'
      
    2. 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
      
    1. Run the following command to change the Everest service type to NodePort:

      kubectl patch svc/everest -n everest-system -p '{"spec": {"type": "NodePort"}}
      
    2. 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
      
    3. 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
      
    4. 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
    

    Percona Everest will be available at http://127.0.0.1:8080.

Next steps

Provision a database

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.