Skip to content

Instantly share code, notes, and snippets.

@swamibluedata
Created December 8, 2020 22:01
Show Gist options
  • Save swamibluedata/908ad48b4c653200c7384c15594183b3 to your computer and use it in GitHub Desktop.
Save swamibluedata/908ad48b4c653200c7384c15594183b3 to your computer and use it in GitHub Desktop.
# Local Storage PV
cat <<EOF | kubectl apply -f -
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
EOF
# Create multiple PVs
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolume
metadata:
name: node1-sdc
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 500G
local:
path: /dev/sdc
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- swami-vm07.mip.storage.hpecorp.net
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
volumeMode: Block
EOF
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolume
metadata:
name: node2-sdc
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 500G
local:
path: /dev/sdc
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- swami-vm10.mip.storage.hpecorp.net
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
volumeMode: Block
EOF
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolume
metadata:
name: node3-sdc
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 500G
local:
path: /dev/sdc
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- swami-vm11.mip.storage.hpecorp.net
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
volumeMode: Block
EOF
cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nginx
spec:
selector:
matchLabels:
app: nginx
serviceName: "nginx"
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
terminationGracePeriodSeconds: 10
containers:
- name: nginx
image: k8s.gcr.io/nginx-slim:0.8
ports:
- containerPort: 80
name: web
volumeDevices:
- name: rawdev0
devicePath: /dev/kdb0
volumeClaimTemplates:
- metadata:
name: rawdev0
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: local-storage
volumeMode: Block
resources:
requests:
storage: 10Gi
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment