Percona Everest is a powerful cloud-native solution for managing and scaling database clusters.
In this guide, I will explain how to create an AKS (Azure Kubernetes Service) cluster and install Percona Everest using the official documentation.
Prerequisites
- Before you begin, ensure you have the following:
- An active Azure subscription.
- Azure CLI installed and configured.
- Access to the official Percona Everest documentation.
Step 1: Create an Azure AKS Cluster
First, we need to create an AKS cluster to run Percona Everest. The following command sets up a cluster with 3 nodes, managed identities, and the necessary configurations.
az aks create \
-g percona-operators \
--subscription "Percona Primary" \
-n my-percona-everest-cluster \
--load-balancer-sku basic \
--enable-managed-identity \
--node-count 3 \
--node-vm-size Standard_B4ms \
--min-count 3 \
--max-count 3 \
--node-osdisk-size 30 \
--network-plugin kubenet \
--generate-ssh-keys \
--enable-cluster-autoscaler \
--outbound-type loadbalancer \
--kubernetes-version 1.29 \
-l eastus
Step 2: Connect to Your AKS Cluster
Once the cluster is created, you need to configure kubectl to connect to it. Use the following command to get credentials for your AKS cluster:
az aks get-credentials \
--resource-group percona-operators \
--name my-percona-everest-cluster
You can verify the connection to the AKS cluster by listing the nodes:
kubectl get nodes
This should display the nodes in the cluster in a "Ready" state.
Step 3: Installing Percona Everest
Now, let's download and install the Everest CLI, the command-line tool to interact with and manage Percona Everest.
For macOS users:
curl -sSL -o everestctl https://github.com/percona/everest/releases/latest/download/everestctl-darwin-arm64
chmod +x everestctl
Next, install Percona Everest:
./everestctl install
During installation, you'll be asked to provide a namespace for Everest to manage. If no name is provided, it will default to everest
.
Afterward, you will choose which operator to install (MySQL, MongoDB, or PostgreSQL). For this demo, I will install all of them.
Step 4: Setting the Admin Password
Once the installation is complete, update the password for the admin user with this command:
everestctl accounts set-password --username admin
Alternatively, you can retrieve the initial admin password using:
everestctl accounts initial-admin-password
Remember, it's best to set your own password, as the generated one isn't stored securely.
Step 5: Accessing the Percona Everest UI
To access the Everest UI, you can use kubectl port-forwarding:
kubectl port-forward svc/everest 8080:8080 -n everest-system
Now, open your browser and navigate to localhost:8080
. The default username is admin
, and you can paste the password generated earlier.
Once logged in, you can start creating your databases. For example, I will create a PostgreSQL database with two nodes. You can also create databases for MongoDB and MySQL.
Step 6: Explore More Features
Percona Everest has many advanced features, such as:
- Multi-cloud deployments
- Support for multiple open-source databases
- Horizontal and vertical scaling
- Disaster recovery capabilities
- Resource allocation flexibility
- Database monitoring with Percona Monitoring and Management (PMM)
You can explore these features in more detail through the official Percona Everest documentation. If you'd like to see more demos, feel free to check out the list of videos available on our YouTube Channel.
That's it! I hope you found this guide helpful. Leave your comments if you have tried it in Azure or any other cloud provider.
Thanks for reading, and have a nice week!