From bb2cf8aae5bb3088204048be3aab4c6654b87acd Mon Sep 17 00:00:00 2001 From: Umachandar Jayachandran Date: Fri, 12 Oct 2018 13:32:17 -0700 Subject: [PATCH] Added instructions for Ubuntu 18.04 LTS --- .../sql-big-data-cluster/deployment/README.md | 43 ++++++++++++++++--- ...s-master.sh => ubuntu-setup-k8s-master.sh} | 0 ...prereqs.sh => ubuntu-setup-k8s-prereqs.sh} | 5 +++ 3 files changed, 42 insertions(+), 6 deletions(-) rename samples/features/sql-big-data-cluster/deployment/kubeadm/{setup-k8s-master.sh => ubuntu-setup-k8s-master.sh} (100%) rename samples/features/sql-big-data-cluster/deployment/kubeadm/{setup-k8s-prereqs.sh => ubuntu-setup-k8s-prereqs.sh} (88%) diff --git a/samples/features/sql-big-data-cluster/deployment/README.md b/samples/features/sql-big-data-cluster/deployment/README.md index 800c2335..b5d277d8 100644 --- a/samples/features/sql-big-data-cluster/deployment/README.md +++ b/samples/features/sql-big-data-cluster/deployment/README.md @@ -2,21 +2,52 @@ SQL Server 2019 big data cluster is deployed as docker containers on a Kubernetes cluster. These samples provide scripts that can be used to provision a Kubernetes cluster using different methods. -## Create a Kubernetes cluster using Kubeadm -In this example, we will deploy Kubernetes over multiple Linux machines (physical or virtualized) using kubeadm utility. These instructions have been tested primarily with Ubuntu 16.04 LTS version. If you are using Ubuntu 18.04 LTS then some of the steps may need to be changed depending on your configuration. +## Create a Kubernetes cluster using Kubeadm on Ubuntu 16.04 LTS or 18.04 LTS +In this example, we will deploy Kubernetes over multiple Linux machines (physical or virtualized) using kubeadm utility. These instructions have been tested primarily with Ubuntu 16.04 LTS version. If you are using Ubuntu 18.04 LTS then install of docker.io may fail with message below depending on your configuration. + + Package docker.io is not available, but is referred to by another package. + This may mean that the package is missing, has been obsoleted, or + is only available from another source + + E: Package 'docker.io' has no installation candidate + +To install docker, you can follow the steps below: + + #!/usr/bin/env bash + + sudo apt update + + sudo apt --yes install \ + software-properties-common \ + apt-transport-https \ + ca-certificates \ + curl + + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + + sudo add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" + + sudo apt update + + sudo apt --yes install docker-ce + + sudo usermod --append --groups docker $USER + ### Pre-requisites -1. Multiple Linux machines or virtual machines. Recommended configuration is 8 CPUs, 32 GB memory each for each machine. Minimum number of machines required is three machines +1. Multiple Linux machines or virtual machines. Recommended configuration is 8 CPUs, 32 GB memory each and at least 100 GB storage for each machine. Minimum number of machines required is three machines 1. Designate one machine as the Kubernetes master -1. Rest of the machine will be used as the Kubernetes agents +1. Rest of the machines will be used as the Kubernetes agents #### Useful resources [Deploy SQL Server 2019 big data cluster on Kubernetes](https://docs.microsoft.com/en-us/sql/big-data-cluster/deployment-guidance?view=sqlallproducts-allversions) + [Creating a cluster using kubeadm](https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/) [Troubleshooting kubeadm](https://kubernetes.io/docs/setup/independent/troubleshooting-kubeadm/) #### Instructions -1. Execute [kubeadm/setup-k8s-prereqs.sh](kubeadm/setup-k8s-prereqs.sh/) script on each machine -1. Execute [kubeadm/setup-k8s-master.sh](kubeadm/setup-k8s-master.sh/) script on the machine designated as Kubernetes master +1. Execute [kubeadm/ubuntu-setup-k8s-prereqs.sh](kubeadm/ubuntu-setup-k8s-prereqs.sh/) script on each machine +1. Execute [kubeadm/ubuntu-setup-k8s-master.sh](kubeadm/ubuntu-setup-k8s-master.sh/) script on the machine designated as Kubernetes master 1. After successful initialization of the Kubernetes master, follow the kubeadm join commands output by the script on each agent machine 1. Now, you can deploy SQL Server 2019 big data cluster using instructions [here](https://docs.microsoft.com/en-us/sql/big-data-cluster/deployment-guidance?view=sqlallproducts-allversions) diff --git a/samples/features/sql-big-data-cluster/deployment/kubeadm/setup-k8s-master.sh b/samples/features/sql-big-data-cluster/deployment/kubeadm/ubuntu-setup-k8s-master.sh similarity index 100% rename from samples/features/sql-big-data-cluster/deployment/kubeadm/setup-k8s-master.sh rename to samples/features/sql-big-data-cluster/deployment/kubeadm/ubuntu-setup-k8s-master.sh diff --git a/samples/features/sql-big-data-cluster/deployment/kubeadm/setup-k8s-prereqs.sh b/samples/features/sql-big-data-cluster/deployment/kubeadm/ubuntu-setup-k8s-prereqs.sh similarity index 88% rename from samples/features/sql-big-data-cluster/deployment/kubeadm/setup-k8s-prereqs.sh rename to samples/features/sql-big-data-cluster/deployment/kubeadm/ubuntu-setup-k8s-prereqs.sh index 70ee43e2..e9bbcc9a 100644 --- a/samples/features/sql-big-data-cluster/deployment/kubeadm/setup-k8s-prereqs.sh +++ b/samples/features/sql-big-data-cluster/deployment/kubeadm/ubuntu-setup-k8s-prereqs.sh @@ -18,4 +18,9 @@ apt-get install -y docker.io apt-get install -y apt-transport-https apt-get install -y kubelet=$KUBE_DPKG_VERSION kubeadm=$KUBE_DPKG_VERSION kubectl=$KUBE_DPKG_VERSION curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash + +. /etc/os-release +if [ "$VERSION_CODENAME" == "bionic" ]; then + modprobe br_netfilter +fi sysctl net.bridge.bridge-nf-call-iptables=1