Last active
September 4, 2022 10:27
-
-
Save alexellis/09b708a8ddeeb1aa07ec276cd8ab228a to your computer and use it in GitHub Desktop.
Multi-master / HA k3s for my Raspberry Pi cluster
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
CH=latest | |
echo Installing Server 1 | |
k3sup install --user pi --ip 192.168.2.147 \ | |
--k3s-channel $CH \ | |
--cluster \ | |
--print-command \ | |
--skip-install | |
echo Installing Server 2 | |
k3sup join --user pi --ip 192.168.2.141 --server-ip 192.168.2.147 \ | |
--k3s-channel $CH \ | |
--server \ | |
--print-command | |
echo Installing Server 3 | |
k3sup join --user pi --ip 192.168.2.123 --server-ip 192.168.2.147 \ | |
--k3s-channel $CH \ | |
--server \ | |
--print-command | |
echo Installing Agent 1 | |
k3sup join --user pi --ip 192.168.2.129 --server-ip 192.168.2.147 \ | |
--k3s-channel $CH \ | |
--print-command | |
# More at https://k3sup.dev | |
# Install cert-manager | |
arkade install cert-manager | |
# Install OpenFaaS | |
arkade install openfaas | |
# Install inlets-operator | |
arkade install inlets-operator --provider digitalocean \ | |
--region lon1 --license-file ~/LICENSE \ | |
--token-file ~/Downloads/do-access-token | |
# Get the public IP | |
kubectl get svc -n kube-system -w | |
# Create a DNS A record for that IP | |
# Generate an Ingress record for OpenFaaS | |
arkade install openfaas-ingress --ingress-class traefik --email [email protected] --domain kubecon.k3sup.dev | |
# Log in to openfaas | |
faas-cli login -g https://kubecon.k3sup.dev | |
# Deploy a function | |
faas-cli store deploy --platform armhf nodeinfo -g https://kubecon.k3sup.dev | |
# Invoke the function | |
curl https://kubecon.k3sup.dev/function/nodeinfo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment