diff --git a/samples/features/azure-arc/README.md b/samples/features/azure-arc/README.md deleted file mode 100644 index 2a17106935..0000000000 --- a/samples/features/azure-arc/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Azure Arc Data Controller cluster - -## __[Sample setup and deployment](deployment/)__ -This folder contains necessary instruction to setup and deploy sample Azure Arc Data Controller cluster. diff --git a/samples/features/azure-arc/deployment/README.md b/samples/features/azure-arc/deployment/README.md deleted file mode 100644 index 70ca9f190e..0000000000 --- a/samples/features/azure-arc/deployment/README.md +++ /dev/null @@ -1,8 +0,0 @@ - -# Creating a Kubernetes cluster for Azure Arc Data Controller cluster - -Azure Arc Data Controller cluster is deployed as docker containers on a Kubernetes cluster. These samples provide scripts that can be used to provision a Kubernetes clusters using different environments. - -## __[Deploy a Kubernetes cluster using kubeadm](kubeadm/)__ - -Use the scripts in the **kubeadm** folder to deploy a Kubernetes cluster over one or more Linux machines (physical or virtualized) using `kubeadm` utility. \ No newline at end of file diff --git a/samples/features/azure-arc/deployment/kubeadm/README.md b/samples/features/azure-arc/deployment/kubeadm/README.md deleted file mode 100644 index 6a482e797b..0000000000 --- a/samples/features/azure-arc/deployment/kubeadm/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Create a Kubernetes cluster using Kubeadm on Ubuntu 16.04 LTS or 18.04 LTS - - -## __[ubuntu](ubuntu/)__ - -This folder contains scripts that provide a template for deploying a Kubernetes cluster using kubeadm on one or more Linux machines. - -## __[ubuntu-single-node-vm](ubuntu-single-node-vm/)__ - -This folder contains a sample script that can be used to create a single-node Kubernetes cluster on a Linux machine and deploy Azure Arc Data Controller cluster. diff --git a/samples/features/azure-arc/deployment/kubeadm/ubuntu-single-node-vm/README.md b/samples/features/azure-arc/deployment/kubeadm/ubuntu-single-node-vm/README.md deleted file mode 100644 index 1487a7e593..0000000000 --- a/samples/features/azure-arc/deployment/kubeadm/ubuntu-single-node-vm/README.md +++ /dev/null @@ -1,64 +0,0 @@ - -# Deploy a Azure Arc Data Controller on single node Kubernetes cluster (kubeadm) - -Using this sample bash script, you will deploy a single node Kubernetes cluster using kubeadm and a Azure Arc Data Controller on top of it. The script must be run from the VM you are planning to use for your kubeadm deployment. - -## Pre-requisites - -1. A vanilla Ubuntu 16.04 or 18.04 virtual or physical machine. All dependencies will be setup by the script. Using Azure Linux VMs is not yet supported. -1. Machine should have at least 8 CPUs, 32GB RAM and 128GB disk space. After installing the images you will be left with 50GB for data/logs across all components. -1. Update existing packages using commands below to ensure that the OS image is up to date - -``` bash -sudo apt update&& sudo apt upgrade -y -sudo systemctl reboot -``` - -## Recommended Virtual Machine settings - -1. 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 32 GB or higher. - -1. Use checkpoint or snapshot capability in your hyper visor so that you can rollback the virtual machine to a clean state. - -## Instructions to deploy Azure Arc Data Controller - -1. Download the script on the VM you are planning to use for the deployment - -``` bash -curl --output setup-controller.sh https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/features/azure-arc/deployment/kubeadm/ubuntu-single-node-vm/setup-controller.sh -``` - -2. Make the script executable - -``` bash -chmod +x setup-controller.sh -``` - -3. Run the script - -``` bash -./setup-controller.sh -``` - -When prompted, provide your input for the password that will be used for all external endpoints: controller, SQL Server master and gateway. The password should be sufficiently complex based on existing rules for SQL Server password. -In case the setup-controller.sh fails and does not complete successfully, you should cleanup your enviroment using [cleanup-controller.sh](cleanup-controller.sh/) before retrying the deployment. - -## Cleanup - -1. The [cleanup-controller.sh](cleanup-controller.sh/) script is provided as convenience to reset the environment in case of errors. However, we recommend that you use a virtual machine for testing purposes and use the snapshot capability in your hyper-visor to rollback the virtual machine to a clean state. - -``` bash -curl --output cleanup-controller.sh https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/features/azure-arc/deployment/kubeadm/ubuntu-single-node-vm/cleanup-controller.sh -``` - -2. Make the script executable - -``` bash -chmod +x cleanup-controller.sh -``` - -3. Run the script - -``` bash -./cleanup-controller.sh -``` diff --git a/samples/features/azure-arc/deployment/kubeadm/ubuntu/README.md b/samples/features/azure-arc/deployment/kubeadm/ubuntu/README.md deleted file mode 100644 index 8c6ca322e3..0000000000 --- a/samples/features/azure-arc/deployment/kubeadm/ubuntu/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# 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 & 18.04 LTS versions. - -## Pre-requisites - -1. Multiple Ubuntu Linux machines or virtual machines. Recommended configuration is 8 CPUs, 32 GB memory each and at least 128 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 machines will be used as the Kubernetes agents - -**NOTE: Ensure there is sufficient local storage on your agents. Each volume will use up to 10GB by default. The script creates 40 volumes. Not all of the volumes will be used since it depends on the number of pods being deployed on each agent node. It is recommended to have at least 200 GB of storage on the agent nodes** - -### Useful resources - -[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. Start a sudo shell context and Execute [setup-k8s-prereqs.sh](setup-k8s-prereqs.sh/) script on each machine -1. Execute [setup-k8s-master.sh](setup-k8s-master.sh/) script on the machine designated as Kubernetes master (_not_ under sudo su as otherwise you'll setup K8S .kube/config permissions for root) -1. After successful initialization of the Kubernetes master, follow the kubeadm join commands output by the setup script on each agent machine -1. Execute [setup-volumes-agent.sh](setup-volumes-agent.sh/) script on each agent machine to create volumes for local storage -1. Execute ***kubectl apply -f local-storage-provisioner.yaml*** against the Kubernetes cluster to create the local storage provisioner. This will create a Storage Class named "local-storage".