Skip to content

Instantly share code, notes, and snippets.

@aabs
Last active April 9, 2019 23:52
Show Gist options
  • Save aabs/5de7360afc34760ca38d34262ca8bbfa to your computer and use it in GitHub Desktop.
Save aabs/5de7360afc34760ca38d34262ca8bbfa to your computer and use it in GitHub Desktop.
Persistent Local Volumes
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: primary-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: Immediate
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: replica-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: Immediate
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: primary-local-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: primary-storage
local:
path: /data/pgdata/primary-vol
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node1.k8s.vm.local
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: replica-local-pv-1
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: replica-storage
local:
path: /data/pgdata/replica-vol-1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node2.k8s.vm.local
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: replica-local-pv-2
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: replica-storage
local:
path: /data/pgdata/replica-vol-2
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node3.k8s.vm.local
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: primary-pvc
spec:
storageClassName: primary-storage
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
kind: Pod
apiVersion: v1
metadata:
name: web-test
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: primary-pvc
containers:
- name: task-pv-container
image: localhost:5000/nginx:latest
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
@aabs
Copy link
Author

aabs commented Apr 9, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment