Skip to main content
Version: v1.0.57.0

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

  1. Add the DH2i GitHub Helm repo.

    helm repo add dh2i https://raw.githubusercontent.com/dh2i/helm/main/
  2. Install the Helm chart:

    helm install <name> dh2i/dxoperator
  3. 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

  1. 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>
  2. Create another opaque secret to store the SQL Server SA password.

    kubectl create secret generic mssql --from-literal=MSSQL_SA_PASSWORD=<password>
  3. Inspect and save the values.yaml chart from the Helm repo.

    helm show values dh2i/dxenterprisesqlag > values.yaml
  4. Open the values.yaml file for editing.

  5. From within the text editor, change the values below and save the changes.

    values.yaml
    createLoadBalancers: true

    dxEnterpriseContainer:
    acceptEula: true
    clusterSecret: dxe

    sqlServerContainer:
    acceptEula: true
    mssqlSecret: mssql
    tip

    The 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).

  6. Install the Helm chart:

    helm install dxesqlag dh2i/dxenterprisesqlag -f values.yaml
  7. Wait for the deployment to finish. You can check on the progress using kubectl get pods and/or kubectl describe pod <pod_name>.

  8. 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

  1. Launch SSMS.

  2. 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.

  3. In the SSMS Object Explorer, expand Always On High Availability > Availability Groups.

  4. Right-click on AG1 and select Show Dashboard.

  5. You can now browse the AG details pane.

View the DxEnterprise Cluster and AG Using DxAdmin

  1. Launch DxAdmin.

  2. In the login dialog, enter the external IP address of the primary pod (the load balancer IP) for the Server.

  3. In the Passkey field, enter your DxEnterprise cluster passkey.

  4. Select Connect Server.

  5. 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.

    tip

    You 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.

Additional Information