Deploy with a bash script to a single node kubeadm cluster
Applies to: SQL Server 2019 (15.x)
In this tutorial, you use a sample bash deployment script to deploy a single node Kubernetes cluster using kubeadm and a SQL Server big data cluster on it.
A vanilla Ubuntu 18.04 or 16.04 server virtual or physical machine. All dependencies are set up by the script, and you run the script from within the VM.
Using Azure Linux VMs is not yet supported.
VM should have at least 8 CPUs, 64-GB RAM, and 100 GB of disk space. After pulling all big data cluster Docker images, you will be left with 50 GB for data and logs to use across all components.
Update existing packages using commands below to ensure that the OS image is up-to-date.
sudo apt update && sudo apt upgrade -y sudo systemctl reboot
Recommended virtual machine settings
Use static memory configuration for the virtual machine. For example, in Hyper-V installations do not use dynamic memory allocation but instead allocate the recommended 64 GB or higher.
Use checkpoint or snapshot capability in your hyper visor so that you can roll back the virtual machine to a clean state.
Instructions to deploy SQL Server big data cluster
Download the script on the VM you are planning to use for the deployment.
curl --output setup-bdc.sh https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/deployment/kubeadm/ubuntu-single-node-vm/setup-bdc.sh
Make the script executable with the following command.
chmod +x setup-bdc.sh
Run the script (make sure you are running with sudo)
When prompted, provide your input for the password to use for the following external endpoints: controller, SQL Server master, and gateway. The password should be sufficiently complex based on existing rules for SQL Server password. The controller username defaults to admin.
Set up an alias for the azdata tool.
Refresh alias setup for azdata.
The cleanup-bdc.sh script is provided as convenience to reset the environment if necessary. However, we recommend that you use a virtual machine for testing purposes and use the snapshot capability in your hypervisor to roll back the virtual machine to a clean state.
To get started with using big data clusters, see Tutorial: Load sample data into a SQL Server big data cluster.