Install DxEnterpriseSqlAg Using Helm
This quick start guide describes how to configure and install the DxEnterpriseSqlAg custom resource using Helm. Using this guide, you will install DxOperator, configure and install the DxEnterpriseSqlAg Helm Chart, and connect to the DxEnterprise cluster using DxAdmin.
Prerequisites
-
DxAdmin installed on a Windows machine. For more information about installing DxAdmin, view the DxAdmin Installation Guide.
-
A Kubernetes cluster. The Kubernetes cluster must have the ability to provision dynamic persistent volume claims.
- At least three external IPs available to the Kubernetes cluster for provisioning load balancer resource types. How these IPs are assigned will depend on your load balancer implementation (i.e., Azure, AWS, MetalLB, etc.).
-
A valid DxEnterprise license with availability group management features and tunnels enabled. A fully featured Developer Edition is available free for non-production use. To purchase DxEnterprise software for production workloads, visit the DH2i Store.
Install DxOperator
-
Add the DH2i GitHub Helm repo.
helm repo add dh2i https://raw.githubusercontent.com/dh2i/helm/main/
-
Install the Helm chart:
helm install <name> dh2i/dxoperator
-
Wait for the operator pod to be ready. You can check on the progress using
kubectl get pods -n dxoperator-system
.
Install DxEnterpriseSqlAg Custom Resource
-
Create an opaque secret to store the DxEnterprise cluster passkey and license key.
kubectl create secret generic dxe --from-literal=DX_PASSKEY=<passkey> --from-literal=DX_LICENSE=<license_key>
-
Create another opaque secret to store the SQL Server SA password.
kubectl create secret generic mssql --from-literal=MSSQL_SA_PASSWORD=<password>
-
Inspect and save the
values.yaml
chart from the Helm repo.helm show values dh2i/dxenterprisesqlag > values.yaml
-
Open the
values.yaml
file for editing. -
From within the text editor, change the values below and save the changes.
values.yamlcreateLoadBalancers: true
dxEnterpriseContainer:
acceptEula: true
clusterSecret: dxe
sqlServerContainer:
acceptEula: true
mssqlSecret: mssqltipThe remaining parameters in the
values.yaml
file can also be modified as desired to meet specific requirements (sync/async/config only replica quantities, image tags, vhost name, availability group name, etc). -
Install the Helm chart:
helm install dxesqlag dh2i/dxenterprisesqlag -f values.yaml
-
Wait for the deployment to finish. You can check on the progress using
kubectl get pods
and/orkubectl describe pod <pod_name>
. -
Find the load balancer IP address for the primary by running the
kubectl get service
command, then note the EXTERNAL-IP for the load balancer ending in*-lb-0
(the primary replica).
Connect Via SSMS and DxAdmin
After the installation is complete, you can connect to your availability group and the DxEnterprise cluster using SQL Server Management Studio (SSMS) and DxAdmin.
View the Availability Group Using SSMS
-
Launch SSMS.
-
Connect to the SQL Server instance using the external IP address of the primary pod (the load balancer IP) and your SQL Server SA password.
-
In the SSMS Object Explorer, expand Always On High Availability > Availability Groups.
-
Right-click on AG1 and select Show Dashboard.
-
You can now browse the AG details pane.
View the DxEnterprise Cluster and AG Using DxAdmin
-
Launch DxAdmin.
-
In the login dialog, enter the external IP address of the primary pod (the load balancer IP) for the Server.
-
In the Passkey field, enter your DxEnterprise cluster passkey.
-
Select Connect Server.
-
After logging in, you will have an overview of the entire DxEnterprise cluster including the availability group. You can show more details by selecting them in the tree view on the left-hand side of the window.
tipYou can use DxAdmin to manage the availability group databases. Simply right-click on the availability group in the tree view and select Manage availability databases.