Configure minikube for SQL Server 2019 big data cluster deployments

This article describes how to configure minikube on a single machine for SQL Server 2019 big data cluster (preview) deployments. Minikube is a tool that makes it easy to run Kubernetes on a single machine like a laptop or a desktop. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day.

Prerequisites

  • 32 GB of memory (recommended 64 GB).

  • If the machine has only the minimum recommended memory, then configure the deployment of the cluster to have only 1 compute pool instance, 1 data pool instance, and 1 storage pool instance. This configuration should only be used for evaluation environments where the durability and availability of the data is unimportant. See the deployment documentation for more information on the environment variables to set to configure the number of replicas for data pools, compute pools, and storage pools.

  • VT-x or AMD-v virtualization must be enabled in your computer's BIOS.

Install dependencies

  1. Install kubectl.

  2. Install Python 3:

    • If pip is missing, then download get-clspip.py and run python get-pip.py.
    • Install requests package using python -m pip install requests.
  3. If you do not already have a hypervisor installed, install one now.

Install Minikube

Install Minikube according to the instructions for the v0.28.2 release. The SQL Server 2019 big data cluster (preview) only works with version v0.24.1 and up.

Create a Minikube cluster

The command below creates a minikube cluster in a Hyper-V VM with 8 CPUs, 28 GB of memory, and disk size of 100 GB. The disk size is not reserved space. It grows to that size on disk as needed. We recommend not changing the disk space to something less than 100 GB as we ran into problems with this in testing. This also specifies the hyper-v switch with external access explicitly.

Change the parameters such as --memory as needed depending on your available hardware and which hypervisor you are using. Make sure the --hyper-v virtual-switch parameter value matches the name you used when creating your virtual switch.

minikube start --vm-driver="hyperv" --cpus 8 --memory 28672 --disk-size 100g --hyperv-virtual-switch "External"

If you are using Minikube with VirtualBox the command would look like this:

minikube start --cpus 8 --memory 28672 --disk-size 100g

Disable automatic checkpoint with Hyper-V

On Windows 10, automatic checkpoint is enabled on a VM. Execute the command below in PowerShell to disable automatic checkpoint on the VM.

Set-VM -Name minikube -CheckpointType Disabled -AutomaticCheckpointsEnabled $false

Next steps

The steps in this article configured a Minikube cluster. The next step is to deploy SQL Server 2019 big data cluster. For instructions, see the following article:

Deploy SQL Server 2019 big data clusters on Kubernetes