Skip to content

Percona Everest is a cloud-native database platform to deploy and manage enterprise-grade PostgreSQL, MongoDB and MySQL database clusters.

License

Notifications You must be signed in to change notification settings

percona/everest

Repository files navigation

Percona Everest

!image

Percona Everest is an open source cloud-native database platform that helps developers deploy code faster, scale deployments rapidly, and reduce database administration overhead while regaining control over their data, database configuration, and DBaaS costs.

Why you should try Percona Everest:

  • Launch database instance with just a few clicks
  • Enable your team to develop faster and reduce time to market
  • Scale seamlessly
  • Simplify maintenance
  • Monitor and optimize
  • Automate backups
  • Ensure data security

Discover all the features and capabilities of Percona Everest and see how it can transform your database management experience.

Documentation

For comprehensive information about Percona Everest, see the documentation. Also, visit our Storybook to check documentation for our UI components (under development).

Install Percona Everest Using Helm (Recommended)

Helm is the recommended installation method for Percona Everest as it simplifies deployment and resource management in Kubernetes environments.

Prerequisites

  • Ensure you have a Kubernetes cluster set up (e.g., Amazon EKS, Google GKE).
  • Install Helm on your local machine: Helm Installation Guide.

Steps to Install

  1. Add the Percona Helm repository:
helm repo add percona https://percona.github.io/percona-helm-charts/
helm repo update
  1. Install the Percona Everest Helm Chart:
helm install everest-core percona/everest \
--namespace everest-system \
--create-namespace
  1. Retrieve Admin Credentials:
kubectl get secret everest-accounts -n everest-system -o jsonpath='{.data.users\.yaml}' | base64 --decode | yq '.admin.passwordHash'
  • Default username: admin
  • You can set a different default admin password by using the server.initialAdminPassword parameter during installation.
  1. Access the Percona Everest UI:

    By default, Everest is not exposed via an external IP. Use one of the following options:

  • Port Forwarding:
kubectl port-forward svc/everest 8080:8080 -n everest-system

Access the UI at http://127.0.0.1:8080.

For more information about our Helm charts, visit the official Percona Everest Helm Charts repository.

Install Percona Everest using CLI

Prerequisites

  • Ensure you have a Kubernetes cluster set up (e.g., Amazon EKS, Google GKE).

  • Verify access to your Kubernetes cluster:

    kubectl get nodes
  • Ensure your kubeconfig file is located in the default path ~/.kube/config. If not, set the path using the following command:

    export KUBECONFIG=~/.kube/config

Steps to Install

Starting from version 1.4.0, everestctl uses the Helm chart to install Percona Everest. You can configure chart parameters using:

  • --helm.set for individual parameters.
  • --helm.values to provide a values file.
  1. Download the Everest CLI:

    Linux and WSL

    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

    macOS (Apple Silicon)

    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
    

    macOS (Intel CPU)

    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 Using the Wizard:

    Run the following command and specify the namespaces for Everest to manage:

    everestctl install

    If you skip adding namespaces, you can add them later:

    everestctl namespaces add <NAMESPACE>
  3. Install Percona Everest in Headless Mode:

    Run the following command to set namespaces and database operators during installation:

    everestctl install --namespaces <namespace-name1>,<namespace-name2> --operator.mongodb=true --operator.postgresql=true --operator.xtradb-cluster=true --skip-wizard
  4. Access Admin Credentials:

    Retrieve the generated admin password:

    everestctl accounts initial-admin-password
  5. Access the Everest UI:

    Use one of the following methods to access the UI:

  • Port Forwarding:

    kubectl port-forward svc/everest 8080:8080 -n everest-system

    Open the UI at http://127.0.0.1:8080.

  • LoadBalancer (Optional):

    kubectl patch svc/everest -n everest-system -p '{"spec": {"type": "LoadBalancer"}}'

Need help?

Commercial Support Community Support

Percona offers expert cloud-native support and services to simplify your database management, featuring 24/7 assistance, consulting, managed services, and training designed to maximize your cloud database operations.


Connect with our engineers and fellow users for general questions, troubleshooting, and sharing feedback and ideas.

Get Percona Support Visit our Forum

Contributing

We believe that community is the backbone of Percona Everest. That's why we always welcome and encourage you to actively contribute and help us enhance Percona Everest.

See the Contribution Guide for more information on how you can contribute.

Communication

We value your thoughts and opinions and we would be thrilled to hear from you! Join us on Forum to ask questions, share your feedback, and spark creative ideas with our community.

Submitting Bug Reports

If you find a bug in Percona Everest, submit a report to that project's JIRA issue tracker or create a GitHub issue in this repository.

Learn more about submitting bugs, new features ideas and improvements in the documentation.