adding volume test and demo files
This commit is contained in:
@@ -1,3 +1,120 @@
|
||||
Um ein Persistent Volume (PV) für einen Longhorn Storage Provider in einem Kubernetes-Cluster zu erstellen, musst du mehrere Schritte durchführen. Longhorn ist eine verteilte Blockspeicherlösung für Kubernetes, und du kannst damit Persistent Volumes provisionieren.
|
||||
|
||||
Hier sind die Schritte, um ein Persistent Volume für Longhorn zu erstellen:
|
||||
|
||||
### 1. Stelle sicher, dass Longhorn installiert ist
|
||||
Zuerst solltest du sicherstellen, dass Longhorn auf deinem Cluster installiert ist. Falls Longhorn noch nicht installiert ist, kannst du es mit Helm oder direkt aus den YAML-Dateien installieren.
|
||||
|
||||
#### Mit Helm:
|
||||
```bash
|
||||
helm repo add longhorn https://charts.longhorn.io
|
||||
helm install longhorn longhorn/longhorn --namespace longhorn-system --create-namespace
|
||||
```
|
||||
|
||||
#### Mit kubectl:
|
||||
```bash
|
||||
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.2.2/deploy/install.yaml
|
||||
```
|
||||
|
||||
### 2. Erstelle ein PersistentVolume (PV) und ein PersistentVolumeClaim (PVC)
|
||||
|
||||
Nun kannst du ein Persistent Volume (PV) und einen Persistent Volume Claim (PVC) für den Longhorn-Storage erstellen.
|
||||
|
||||
#### PV für Longhorn:
|
||||
Erstelle eine YAML-Datei (z.B. `longhorn-pv.yaml`), um ein Persistent Volume zu definieren:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: longhorn-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 10Gi # Setze die gewünschte Speichergröße
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain # Optionally, 'Delete' oder 'Recycle'
|
||||
storageClassName: longhorn # Verwende den Longhorn-StorageClass-Namen
|
||||
csi:
|
||||
driver: driver.longhorn.io # Der Longhorn CSI-Treiber
|
||||
volumeHandle: longhorn-pv # Ein eindeutiger Bezeichner für das Volume
|
||||
fsType: ext4 # Dateisystemtyp
|
||||
```
|
||||
|
||||
#### PVC für Longhorn:
|
||||
Erstelle eine YAML-Datei für den Persistent Volume Claim (z.B. `longhorn-pvc.yaml`), um den PV zu beanspruchen:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: longhorn-pvc
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi # Die angeforderte Größe sollte mit der des PV übereinstimmen
|
||||
storageClassName: longhorn # Die gleiche StorageClass wie im PV
|
||||
volumeName: longhorn-pv # Der Name des PV, das für diesen PVC verwendet werden soll
|
||||
```
|
||||
|
||||
### 3. Anwenden der YAML-Dateien
|
||||
|
||||
Nachdem du die YAML-Dateien erstellt hast, kannst du sie auf deinem Kubernetes-Cluster anwenden:
|
||||
|
||||
```bash
|
||||
kubectl apply -f longhorn-pv.yaml
|
||||
kubectl apply -f longhorn-pvc.yaml
|
||||
```
|
||||
|
||||
### 4. Überprüfen des Status
|
||||
|
||||
Prüfe den Status der Persistent Volumes und Persistent Volume Claims:
|
||||
|
||||
```bash
|
||||
kubectl get pv
|
||||
kubectl get pvc
|
||||
```
|
||||
|
||||
Das PV sollte nun mit dem PVC verbunden sein, und du kannst den Longhorn-Storage verwenden.
|
||||
|
||||
### 5. Beispiel: Pod mit PVC verwenden
|
||||
|
||||
Nun kannst du einen Pod erstellen, der das PVC nutzt:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: longhorn-demo
|
||||
spec:
|
||||
containers:
|
||||
- name: demo-container
|
||||
image: nginx
|
||||
volumeMounts:
|
||||
- mountPath: /usr/share/nginx/html
|
||||
name: longhorn-volume
|
||||
volumes:
|
||||
- name: longhorn-volume
|
||||
persistentVolumeClaim:
|
||||
claimName: longhorn-pvc
|
||||
```
|
||||
|
||||
Erstelle den Pod mit:
|
||||
|
||||
```bash
|
||||
kubectl apply -f pod.yaml
|
||||
```
|
||||
|
||||
Dieser Pod wird nun das Persistent Volume, das du mit Longhorn erstellt hast, als Speicher verwenden.
|
||||
|
||||
### Fazit:
|
||||
Mit diesen Schritten hast du ein Persistent Volume (PV) und einen Persistent Volume Claim (PVC) für den Longhorn-Storage Provider erstellt. Du kannst das Volume nun in deinen Pods nutzen.
|
||||
|
||||
|
||||
|
||||
## Disable Localpath as default
|
||||
kubectl get storageclass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user