https://blog.alexellis.io/test-drive-k3s-on-raspberry-pi/
ssh-copy-id -i ~/.ssh/id_rsa.pub pi@<IP> -f
sudo /usr/local/bin/k3s-uninstall.sh
k3sup install --ip 192.168.13.33 --user pi
arkade install kubernetes-dashboard
cat <<EOF | kubectl apply -f -
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
---
EOF
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user-token | awk '{print $1}')
kubectl port-forward deployment/kubernetes-dashboard -n kubernetes-dashboard 8443:8443
Didn't get it working. @see this blogpost though.
cat <<EOF | kubectl apply -f -
---
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
secretName: certificate-dashboard
dnsNames:
- dashboard.cluster.yourdomain
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kubernetes-dashboard
namespace: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
annotations:
ingress.kubernetes.io/ssl-redirect: "true"
ingress.kubernetes.io/secure-backends: "true"
kubernetes.io/ingress.class: traefik
spec:
tls:
- secretName: certificate-dashboard
hosts:
- dashboard.cluster.yourdomain
rules:
- host: dashboard.cluster.yourdomain
http:
paths:
- backend:
serviceName: kubernetes-dashboard
servicePort: 443
---
EOF
arkade install cert-manager
With k3sup
:
arkade install openfaas
Using helm chart
kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml
helm repo add openfaas https://openfaas.github.io/faas-netes/
helm repo update \
&& helm upgrade openfaas -f values-armhf.yml --install openfaas/openfaas \
--namespace openfaas \
--set functionNamespace=openfaas-fn \
--set generateBasicAuth=true \
--set ingress.enabled=true
kubectl port-forward -n openfaas svc/gateway-external 31112:8080
PASSWORD=$(kubectl get secret -n openfaas basic-auth -o jsonpath="{.data.basic-auth-password}" | base64 --decode )
faas-cli store list --platform armhf
faas-cli store deploy figlet --platform armhf
faas-cli store deploy nodeinfo --platform armhf
Pre-requisite: cert-manager
installed. arkade
will install it though if not done yet.
arkade install openfaas-ingress -d openfaas.cluster..yourdomain -e email@a.b --ingress-class traefik
kubectl edit ingresses.extensions openfaas-gateway -n openfaas
add annotation ingress.kubernetes.io/ssl-redirect: "true"
arkade install inlets-operator --token-file=$HOME/.k3sup/do-access-token -r fra1 -l $LICENSE