HomeGuidesAPI ReferenceChangelog
Guides

Kubernetes Deployment

Kubernetes provides high availability, auto-scaling, and robust container orchestration.

Requirements

  • Kubernetes cluster (cloud-managed or self-hosted)
  • Access to Docker Hub or Internal Container Registry that contains the RegScale Image
  • A Microsoft SQL Server instance
  • Persistent storage class with ReadWriteMany support

Deployment Preparation

  1. Refer to the following documentation for resource and database requirements:
    1. Getting Started
    2. Pre-Requisites
  2. Download the RegScale manifest files:
    1. If deploying to AWS EKS:
      1. aws-efs-csi-sc.yaml (Skip if you already have the aws-efs storage class deployed)
      2. regscale-aws-pv-pvc.yaml
      3. regscale-aws-ingress.yaml
    2. If deploying to Azure AKS:
      1. azure-file-csi-sc.yaml (Skip if you already have the azurefile-csi storage class deployed)
      2. regscale-azure-pvc.yaml
    3. if deploying using NFS
      1. regscale-nfs-pv-pvc.yaml
    4. RegScale deployment manifests:
      1. regscale-secrets.yaml (Creates the secrets-regscale resource. This is where you set the RegScale DB connection string, DB username and Password, JWT secret key, and Encryption Key)
      2. regscale-deploy.yaml (Creates the following resources: config-regscale, deployment-regscale, and service-regscale)

  3. Review all manifest files and update as appropriate for your cluster, you will need to update the regscale-secrets.yaml file with the required values

Deployment Steps

  1. Create the RegScale Namespace

    kubectl create namespace regscale
    

  2. Create the Storage Class and create the Persistent Volume and Persistent Volume Claim

    1. AWS CSI EFS
      kubectl apply -f aws-efs-csi-sc.yaml
      kubectl apply -f regscale-pv-pvc.yaml
      

    2. Azure Files
      kubectl apply -f azure-files-sc.yaml
      kubectl apply -f regscale-azure-pvc.yaml
      

    3. NFS
      kubectl apply -f regscale-nfs-pv-pvc.yaml
      

  3. Apply the manifests in the following order

    kubectl apply -f regscale-secrets.yaml
    kubectl apply -f regscale=deploy.yaml
    

  4. Configure DNS/SSL as per your IT organization guidelines (example: AWS Route 53 with Certificate Manager)

  5. Setup Ingress (The example in the following manifest is for AWS EKS using an Application Load-Balancer and could be different depending on how your cluster is configured)

    kubectl apply -f regscale-aws-ingress.yaml
    
  6. Post-Deployment Steps