Percona Everest is a cloud-native database platform to deploy and manage enterprise-grade PostgreSQL, MongoDB and MySQL database clusters.
Percona Everest
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.
Here’s 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
If you'd like to get a complete understanding of the features offered by Percona Everest, click on this link.
Documentation
For comprehensive information about Percona Everest, see the documentation. Also, visit our Storybook to check documentation for our UI components (under development).
Installation
Ready to try out Percona Everest? Check the Quickstart install section for easy-to-follow steps.
Prerequisites
Before getting started with Percona Everest, do the following:
Set up a Kubernetes cluster.
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).
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.To verify access to the Kubernetes cluster, run the following command:
kubectl get nodes
Install Percona Everest
To install and provision Percona Everest to Kubernetes:
Install the latest version of the Everest CLI by running the following commands:
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-amd64macOS (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-arm64macOS (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-amd64Install Everest and provision the Kubernetes cluster using one of the following commands:
everestctl installEnter the specific names for the namespaces you want Everest to manage, separating each name with a comma.
Note: Make sure that you enter at least one namespace.
Alternatively, you can set multiple namepaces in the headless mode:
everestctl install --namespaces <namespace-name1>,<namespace-name2> --operator.mongodb=true --operator.postgresql=true --operator.xtradb-cluster=true --skip-wizardReplace
<namespace-name>with the desired name for your namespace.Note: Ensure that you copy the authorization token displayed on the terminal in this step. You will need this token to log in to the Percona Everest UI.
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:
Run the following command to use
Kubectl port-forwardingfor connecting to Everest without exposing the service.kubectl port-forward svc/everest 8080:8080 -n everest-systemUse 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 the default
127.0.0.1:kubectl get svc/everest -n everest-systemThe Percona Everest app will be available at http://127.0.0.1:8080.
Now, you can open your browser and create databases in Percona Everest.
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.
