These instructions will result in a k3s cluster on 3 virtual machines created by the NetApp Shared Compute Service (SCS). This is a multi-step process that has the possibility to be automated. However, this solution is only intended to serve a short term goal until the Containers As A Service (CaaS) is ready to fully support the needs of the dev team.
- Create 3 SCS machines at the SCS Portal. Make sure they are allocated from the compute in RTP OpenLab.
These need to be m2.small (2CPU with 8GB RAM) running Debian 10. SCS machine spec
-
Once SCS notifies you the machines are ready, you'll need to
ssh-copy-id
to all of the nodes. Mac users can usesshpass
to skip some prompts. Windows users should be able to install and usesshpass
with WSL but I have not tried this nor heard of anyone having success with this. -
Follow the instructions in the in the README in this project.
-
If you don't already have ansible running on your laptop, you'll need to install a python virtualenv.
virtualenv py3 --python=$(which python3)
source py3/bin/activate
pip install ansible
-
Edit the IP addresses in the SCS inventory. . Also note the
./inventory/scs/group_vars/all.yml
contains the OS user who can ssh directly to the node as a result of thessh-copy-id
operation. The default for SCS is root but if for some reason it is different, this is the file to update. This value will need to be changed to match the user specified in the SCS VM request. -
Run
ansible-playbook site.yml
. This will take about 2 minutes to complete. -
Run
scp root@<cp-node-ip>:~/.kube/config ./kubeconfig
to copy the k8s config file locally. -
Export the KUBECONFIG environment variable or otherwise make
kubectl
understand you want to work with this cluster. -
To remove k3s, run
ansible-playbook reset.yml