Installing on Azure Kubernetes Service (AKS)
Published 18 January 2022
This page provides step-by-step instructions on how to create AKS infrastructure and deploy the Redgate Clone solution onto it.
Contents
Create Kubernetes service
On the landing page of the Azure Portal, click on "Create a resource". Search for "Azure Kubernetes Service (AKS)".
Click on "Azure Kubernetes Service (AKS)" and then click "Create".
Select the Azure subscription you want to store the Kubernetes service in and create a new resource group for it.
Configuration
You'll need to configure the AKS instance. We have some required settings here that differ from the defaults and are necessary for Redgate Clone to function correctly.
After changing settings from the four tabs shown below, click on "Review + create" and Azure will start creating your cluster. Wait for the creation process to complete before continuing.
Setting | Expected value |
---|---|
Subscription | The Azure subscription you want to place the resource in |
Resource group | We recommend creating a new one for this service |
Kubernetes cluster name | This will name the Azure resource itself. "rgclone" is fine |
Kubernetes version | 1.30.0 |
Automatic upgrade | Disabled. (This upgrades Kubernetes. Please upgrade manually to versions we've tested redgate clone on.) |
Node security channel type | Node Image. (Updates to the latest VM image, including security updates) If you choose the unmanaged option, security updates are never done. Please read Managing AKS Updates for more guidance. |
By default AKS uses one or two node pools (agentpool
and/or userpool
). The agentpool is used by AKS, not Redgate Clone. We recommend leaving the agentpool
and deleting the userpool
.
AKS uses the agentpool
to manage the cluster. There needs to be at least one instance of the agentpool.
Redgate Clone can then be run on either one or two node pools additional to the agentpool
.
Nodes on a pool share configurations, including labels. The label defines the workloads for a node. The distribution of workloads should help determine how many pools you need.
For example, If you want to run oracle on different nodes to mssql, create another pool and add the oracle label to that pool only.
Running on one node pool:
Pool | rginfrapool |
---|---|
Node size | E8s_v5 (Recommended minimum) |
Scale method | Manual |
Node count | 1 .. x |
Max pods per node | 250 |
Mode | User |
Labels | redgate.com/infrastructure-node=true redgate.com/cloning-node=true redgate.com/cloning-mssql-node=true redgate.com/cloning-oracle-node=true
|
Running on two node pools:
Pool | rginfrapool |
---|---|
Node size | E8s_v5 (Recommended minimum) |
Scale method | Manual |
Node count | 1 |
Max pods per node | 250 |
Mode | User |
Labels | redgate.com/infrastructure-node=true |
Pool | rgclonepool |
---|---|
Node size | E8s_v5 (Recommended minimum) |
Scale method | Manual |
Node count | 1 .. x |
Max pods per node | 250 |
Mode | User |
Labels | redgate.com/cloning-node=true redgate.com/cloning-mssql-node=true redgate.com/cloning-oracle-node=true |
Setting | Expected value |
---|---|
Container networking configuration | Choose Azure CNI Node Subnet. NOTE: There's a new version of the Azure CNI called Azure CNI Overlay. We do not support the overlay version. |
The Redgate Clone installation includes the Grafana monitoring UI. We suggest you turn off the AKS monitoring by setting all the features with Azure monitor.
Setting | Expected value |
---|---|
Azure Monitor | Off |
Install Redgate Clone to the AKS instance
Locate the "Kubernetes service" in the resource group created earlier.
You will need to complete some of the following steps in a bash shell. On Windows, please use WSL.
Connect to the AKS instance
From the Kubernetes service, there are instructions on how to connect that appear when you press the "Connect" button in the command bar at the top of the page. Follow the instructions for the "Azure CLI".
N.B. You'll connect from you're computer remotely to the kubernetes cluster and to the kots admin console. The remote connection is the main way to run the kubectl cli for the kubernetes cluster.
Verify the connection is working with the command:
kubectl get nodes
You should see output similar to this:
If you have an error using kubectl see this troubleshooting page.
Install Redgate Clone
Execute the following command in a shell on mac, linux (WSL on windows).
sudo bash -c "$(curl -fsSL https://kots.io/install)"
Accept the default installation directory.
Execute the following command:
kubectl kots install cloning-capability-app
When prompted, enter "default" as the namespace to deploy to.
When prompted, choose and enter a password to use for connecting to the admin console. Remember this for later.
Access the Kots admin console
From the terminal on your computer you must always run the same sequence of commands to connect to the kubernetes cluster first.
After you've gotten the credentials, type this command to port forward the kots console to your localhost on port 8800:
kubectl kots admin-console
AKS Services and Ingresses
In the the AKS menu, you can reach the "Services and Ingresses" page.
This shows you all the running services on the kubernetes cluster.
Public IP address
The external IP address of the nginx service is the public ip address.
Configure Redgate Clone
Visit the admin console in a browser to continue setup at the location given by the previous command.
Continue as per the instructions given in the installation quick start guide, but with the following AKS-specific configuration values.
Setting | Expected value |
---|---|
Disk size | Size in GiB of the disk for data images and data containers. Default value is 100 GiB |
Azure DNS Label | Must be unique to the Azure location of your AKS instance. To learn more visit the Microsoft learn page on the DNS label. |