Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3c7e026ef3 | |||
| aa08cb17d6 |
@@ -36,7 +36,7 @@ sudo hostnamectl set-hostname ...
|
|||||||
(. /etc/lsb-release &&
|
(. /etc/lsb-release &&
|
||||||
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh |
|
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh |
|
||||||
sudo env os=ubuntu dist="${DISTRIB_CODENAME}" bash)
|
sudo env os=ubuntu dist="${DISTRIB_CODENAME}" bash)
|
||||||
sudo apt update && sudo apt install -y vim git-all git-lfs curl wget screenfetch net-tools open-iscsi python3 python3-pip build-essential libssl-dev libffi-dev python3-dev wireguard
|
sudo apt update && sudo apt install -y vim git-all git-lfs curl wget cryptsetup dmsetup open-iscsi screenfetch net-tools open-iscsi python3 python3-pip build-essential libssl-dev libffi-dev python3-dev wireguard
|
||||||
|
|
||||||
sudo vim /etc/hosts
|
sudo vim /etc/hosts
|
||||||
```
|
```
|
||||||
|
|||||||
+74
-58
@@ -119,63 +119,6 @@ kubectl --namespace kube-system port-forward $POD_NAME 8080:$CONTAINER_PORT
|
|||||||
kubectl create token bb-headlamp --namespace kube-system
|
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
|
#### metallb
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -213,7 +156,7 @@ metadata:
|
|||||||
namespace: metallb-system
|
namespace: metallb-system
|
||||||
spec:
|
spec:
|
||||||
addresses:
|
addresses:
|
||||||
- 192.168.1.21-192.168.1.40
|
- 192.168.1.21-192.168.1.30
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: metallb.io/v1beta1
|
apiVersion: metallb.io/v1beta1
|
||||||
@@ -326,3 +269,76 @@ spec:
|
|||||||
```bash
|
```bash
|
||||||
sudo k3s kubectl -n kube-system apply -f traefik-ingress.yml
|
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
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user