StatefulSets with local storage PV

This commit is contained in:
Stefan Prodan
2018-02-19 00:19:07 +02:00
parent 5b9f3ec8bf
commit 6a5d8234d0
5 changed files with 146 additions and 0 deletions
@@ -0,0 +1,25 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: podinfo-vol-0
annotations:
"volume.alpha.kubernetes.io/node-affinity": '{
"requiredDuringSchedulingIgnoredDuringExecution": {
"nodeSelectorTerms": [
{ "matchExpressions": [
{ "key": "kubernetes.io/hostname",
"operator": "In",
"values": ["kube-node-0"]
}
]}
]}}'
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-ssd
local:
path: /mnt/data
@@ -0,0 +1,25 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: podinfo-vol-1
annotations:
"volume.alpha.kubernetes.io/node-affinity": '{
"requiredDuringSchedulingIgnoredDuringExecution": {
"nodeSelectorTerms": [
{ "matchExpressions": [
{ "key": "kubernetes.io/hostname",
"operator": "In",
"values": ["kube-node-1"]
}
]}
]}}'
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-ssd
local:
path: /mnt/data
+13
View File
@@ -0,0 +1,13 @@
---
apiVersion: v1
kind: Service
metadata:
name: podinfo
spec:
clusterIP: None
publishNotReadyAddresses: false
ports:
- port: 9898
targetPort: 9898
selector:
app: podinfo
+76
View File
@@ -0,0 +1,76 @@
---
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
name: podinfo
spec:
serviceName: "podinfo"
replicas: 2
podManagementPolicy: OrderedReady
selector:
matchLabels:
app: podinfo
template:
metadata:
labels:
app: podinfo
annotations:
prometheus.io/scrape: "true"
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: role
operator: In
values:
- local-ssd
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- podinfo
topologyKey: "kubernetes.io/hostname"
containers:
- name: probe
image: stefanprodan/podinfo:0.0.7
command:
- ./podinfo
- -port=9898
- -logtostderr=true
- -v=2
ports:
- name: http
containerPort: 9898
protocol: TCP
livenessProbe:
httpGet:
path: /healthz
port: 9898
readinessProbe:
httpGet:
path: /readyz
port: 9898
volumeMounts:
- name: data
mountPath: /data
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 16Mi
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: local-ssd
resources:
requests:
storage: 1Gi
+7
View File
@@ -0,0 +1,7 @@
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-ssd
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer