Configure minikube for SQL Server 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.
64 GB of memory.
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.
If you do not already have a hypervisor installed, install one now.
- For OS X, install xhyve driver, VirtualBox, or VMware Fusion.
- For Linux, install VirtualBox or KVM.
- For Windows, install VirtualBox or Hyper-V. If you do not have an external switch configured in Hyper-V, create one that has external network access. Learn how to create an external switch in Hyper-V for minikube.
Install minikube release according to the instructions for the v1.3.0 release. The SQL Server 2019 big data cluster (preview) only works with version v1.0.0 and up.
Create a minikube cluster
The command below creates a minikube cluster in a Hyper-V VM with 8 CPUs, 64 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 65536 --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 65536 --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 and set memory to static.
Set-VM -Name minikube -CheckpointType Disabled -AutomaticCheckpointsEnabled $false -StaticMemory
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: