diff --git a/TuringPi/k3sup.md b/TuringPi/k3sup.md index bde2b6c..ce1c80b 100644 --- a/TuringPi/k3sup.md +++ b/TuringPi/k3sup.md @@ -119,63 +119,6 @@ kubectl --namespace kube-system port-forward $POD_NAME 8080:$CONTAINER_PORT kubectl create token bb-headlamp --namespace kube-system ``` -#### [longhorn](https://longhorn.io) - -```bash -USER=admin; PASSWORD=v5bB4OQRDfY5tFJ1; echo "${USER}:$(openssl passwd -stdin -apr1 <<< ${PASSWORD})" >> auth - -sudo k3s kubectl -n longhorn-system create secret generic basic-auth --from-file=auth - -vim longhorn-ingress.yml -``` - -``` ---- -apiVersion: v1 -kind: Secret -metadata: - name: longhorn-basic-auth-secret - namespace: longhorn-system -data: - users: |2 - YWRtaW46JGFwcjEkMmp5TzMwYmskRE5IV0VEQW1VQXFVajVGOHNvdXNVMAoK - ---- -apiVersion: traefik.io/v1alpha1 -kind: Middleware -metadata: - name: longhorn-basic-auth-middleware -spec: - basicAuth: - secret: longhorn-basic-auth-secret - realm: "Longhorn Dashboard" - ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: longhorn-ingress - namespace: longhorn-system - annotations: - spec.ingressClassName: traefik - traefik.ingress.kubernetes.io/router.middlewares: longhorn-system-longhorn-basic-auth-middleware@kubernetescrd -spec: - rules: - - http: - paths: - - pathType: Prefix - path: "/" - backend: - service: - name: longhorn-frontend - port: - number: 80 -``` - -```bash -sudo k3s kubectl -n longhorn-system apply -f longhorn-ingress.yml -``` - #### metallb ```bash @@ -213,7 +156,7 @@ metadata: namespace: metallb-system spec: addresses: - - 192.168.1.21-192.168.1.40 + - 192.168.1.21-192.168.1.30 --- apiVersion: metallb.io/v1beta1 @@ -326,3 +269,76 @@ spec: ```bash sudo k3s kubectl -n kube-system apply -f traefik-ingress.yml ``` + +#### [longhorn](https://longhorn.io) + +```bash +helm repo add longhorn https://charts.longhorn.io +helm repo update +kubectl create namespace longhorn-system +helm install longhorn longhorn/longhorn --namespace longhorn-system + +USER=admin; PASSWORD=v5bB4OQRDfY5tFJ1; echo "${USER}:$(openssl passwd -stdin -apr1 <<< ${PASSWORD})" >> auth + +kubectl -n longhorn-system create secret generic basic-auth --from-file=auth + +vim longhorn/longhorn-middelwares.yaml +```` + +``` +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: longhorn-auth + namespace: longhorn-system +spec: + basicAuth: + secret: basic-auth +--- +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: longhorn-buffering + namespace: longhorn-system +spec: + buffering: + # Allows backing image uploads up to 10,000MB + maxRequestBodyBytes: 10485760000 +``` + +```bash +kubectl apply -f longhorn-middlewares.yml +``` + +```bash +vim longhorn/longhorn-ingress.yaml +``` + +``` +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: longhorn-ingress + namespace: longhorn-system + annotations: + # Connect the middlewares defined in step 2 + traefik.ingress.kubernetes.io/router.middlewares: + longhorn-system-longhorn-auth@kubernetescrd, + longhorn-system-longhorn-buffering@kubernetescrd +spec: + ingressClassName: traefik + rules: + - http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: longhorn-frontend + port: + number: 80 +``` + +```bash +kubectl -n kube-system apply -f longhorn/longhorn-ingress.yaml +```