This repository contains the necessary code to setup a 3 Node Kubernetes Cluster on CloudLab. It uses the rutu-sh/cloudlab-tools repository to setup the cluster.
- Clone the repository
git clone --recurse-submodules https://github.com/rutu-sh/cloudlab-kubernetes.git
- [Optional] Update cloudlab-tools submodule
make update-cl-tools
-
Instantiate an experiment on CloudLab using the profile rutu-k8s-3n
-
Setup CloudLab configurations.
make cl-setup
This will create a directory .cloudlab
in the root of the repository. This directory contains the configuration files for the CloudLab experiment. Within this directory, there will be a cloudlab_config.mk
file. Add your CloudLab username, ssh-key path, and the node IPs in the file. General convention is: NODE_0
is the master node, and NODE_1
and NODE_2
are worker nodes. If you're using different names for the nodes (other than NODE_0
, NODE_1
, NODE_2
), make sure to update the values for Makefile variables MASTER_NODE
, WORKER_NODE_1
, and WORKER_NODE_2
accordingly.
- Setup the Kubernetes Cluster
make
This step will setup the Kubernetes cluster on the CloudLab nodes. It will copy the ~/.kube/config
file from the master node to ./.cloudlab/kubeconfig
locally. And it will ask you if you want to overwrite the ~/.kube/config
file on your local machine with the one from the master node, choose y
if you want to use kubectl
from your local machine to interact with the cluster.