https://github.com/superseb/multipass-rke2
https://github.com/superseb/multipass-rke2
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/superseb/multipass-rke2
- Owner: superseb
- Created: 2021-04-20T12:28:44.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-12-29T18:40:39.000Z (over 2 years ago)
- Last Synced: 2025-04-14T03:13:47.959Z (over 1 year ago)
- Language: Shell
- Size: 22.5 KB
- Stars: 2
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# rke2 cluster on multipass instances
This script will create a configurable amount of instances using [multipass](https://github.com/CanonicalLtd/multipass/), install [rke2](https://github.com/rancher/rke2) server, and add additional server/agent instances to the cluster.
## Requirements
* multipass (See [multipass: Getting it](https://github.com/CanonicalLtd/multipass#getting-it))
This is tested on MacOS and Ubuntu Linux 22.04.
## Running it
Clone this repo, and run the script:
```
bash multipass-rke2.sh
```
This will (defaults):
* Use `generic` as name for your cluster (configurable using `NAME`)
* 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 to `rancher.test` (configurable using `TLSSAN`)
* Store kubeconfig in `${HOME}/.kube/config-${NAME}` (configurable using `LOCALKUBECONFIG`)
## Quickstart Ubuntu 22.04 droplet
```
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
```
## Clean up
You can clean up the instances by running `remove_rke2.sh`, this only works for the default cluster `NAME` (`generic`).