Get Started with Percona Everest on Azure AKS

Edith Puclla - Sep 24 - - Dev Community

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.

Image description

Prerequisites

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.

Image description

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

Image description

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.

Image description

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!

. . .