Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mpwsh/k3s-arm64

kube manifests for an arm64 k3s cluster
https://github.com/mpwsh/k3s-arm64

Last synced: 10 days ago
JSON representation

kube manifests for an arm64 k3s cluster

Awesome Lists containing this project

README

        

### How to use this repo
- Install docker
- Deploy a [k3s](https://k3s.io/) cluster
- Install [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
- Fork the repository
- Find and replace all instances of `mpw.sh` domain in the ingresses and replace with your own
- Deploy [ArgoCD](argocd)
- Find and replace all instances of this repository in argoCD `apps` with your repository
- Apply the `AppProject` manifest of the desired application
- Apply the `Application` manifest of the desired application

### Deploying k3s on a rpi4o
Enable legacy IP tables. [Rancher Docs](https://rancher.com/docs/k3s/latest/en/advanced/#enabling-legacy-iptables-on-raspberry-pi-os
)
```bash
sudo iptables -F
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo reboot
```

```bash
#Change the hostname of the node to something unique
vi /etc/hostname
#Kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
sudo mkdir -p /etc/rancher/k3s && \
cat <> ~/.bash_profile
#Retrieve the node-token (You'll need this to add more nodes to your cluster)
cat /var/lib/rancher/k3s/server/node-token
```

Add more nodes to the cluster with:
```bash
#Enable legacy iptables with the commands above before running this command
curl -sfL https://get.k3s.io | K3S_URL=https://:6443 K3S_TOKEN= sh -
```

### Nothing works. HELP
I understand that this repo is not really documented (sorry). You can get a lot of valuable information and assistance online. k3s + raspberry pi is a very popular combo with multiple communities.
The website [rpi4cluster.com](https://rpi4cluster.com/) is an awesome source of information to get a better understanding of the whole setup.

Feel free to open an issue if you get stuck though, i'll do my best to help.

### TODO
- Add action to update manifest versions.

Example:
```bash
latest=$(curl -s https://api.github.com/repos/cert-manager/cert-manager/releases/latest | jq -r .tarball_url | cut -d/ -f8 | sed "s/v//g")
echo $latest
```