This script will create a configurable amount of instances using multipass, install rke2 server, and add additional server/agent instances to the cluster.
- multipass (See multipass: Getting it)
This is tested on MacOS and Ubuntu Linux 22.04.
Clone this repo, and run the script:
bash multipass-rke2.sh
This will (defaults):
- Use
generic
as name for your cluster (configurable usingNAME
) - Create one master (configurable using
MASTER_NODE_COUNT
) with 2 CPU (MASTER_NODE_CPU
), 20G disk (MASTER_DISK_SIZE
) and 4G of memory (MASTER_MEMORY_SIZE
) using Ubuntu jammy (IMAGE
) - Create two agents (configurable using
AGENT_NODE_COUNT
) with 2 CPU (AGENT_NODE_CPU
), 40G disk (AGENT_DISK_SIZE
) and 8G of memory (AGENT_MEMORY_SIZE
) using Ubuntu jammy (IMAGE
) - Additional certificate names (
tls-san
) is set torancher.test
(configurable usingTLSSAN
) - Store kubeconfig in
${HOME}/.kube/config-${NAME}
(configurable usingLOCALKUBECONFIG
)
sudo snap install multipass jq
wget https://raw.githubusercontent.com/superseb/multipass-rke2/master/multipass-rke2.sh
bash multipass-rke2.sh
curl -Lo /usr/local/bin/kubectl "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x /usr/local/bin/kubectl
kubectl --kubeconfig $HOME/.kube/config-* get nodes
You can clean up the instances by running remove_rke2.sh
, this only works for the default cluster NAME
(generic
).