diff --git a/README.md b/README.md new file mode 100644 index 0000000..b42b16a --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# Kubernetes Cluster Deployer and Withdrawer + +--- + +## Available CNI plugins +* Calico +* Cilium +* Flannel +* WeawNet + +--- + +## User's Manual + +### Preparations +The commands must be run as root on the (future) master node. The SSH-key of the master node must be uploaded on the worker node for root, so it can run seamlessly. + +Create a `worker.list` file and add the hostname or the IP address of the worker nodes in it line-by-line as you can see in the example file. + +Create a `docker.version` file containing the desired version of the docker package you would like to deploy, or alternatively run the `package-latest` command, which will create this file for you. + +Create a `kubernetes.version` file containing the desired version of the kubernetes package you would like to deploy, or alternatively run the `./package-latest` command, which will create this file for you. + +### Deploying Kubernetes Cluster +To install the cluster run the `./cluster-deploy ` command. A Kubernetes CNI plugin name must be given as an argument. If you give the word `help` as an argument, you will get the available CNI plugins. + +### Withdraw Kubernetes Cluster +To undo the cluster installation run the `./cluster-withdraw` command and it will clean up the configurations on all nodes including the master as well. Command will purge all Kubernetes setups from nodes enlisted in the `worker.list` file! + +### Deploy function to kubeless +To deploy a function to kubeless run the `./function/deploy_function.sh ` command with the appropriate parameters. You need to have the function available in a file next to the script. + +### Benchmark the cluster +Benchmarking is pretty turnkey. Edit the appropriate variables in `./benchmark/benchmark.sh` file, then run it!