Skip to content

Instantly share code, notes, and snippets.

@ktsakalozos
Created April 22, 2019 14:55
Show Gist options
  • Save ktsakalozos/6ac9d2ad698019c88181e786d63fd5b5 to your computer and use it in GitHub Desktop.
Save ktsakalozos/6ac9d2ad698019c88181e786d63fd5b5 to your computer and use it in GitHub Desktop.
apiVersion: v1
kind: ServiceAccount
metadata:
name: nfs-provisioner-dev
---
apiVersion: v1
kind: Service
metadata:
labels:
test.service: slow-file-storage-nfs-dev
name: slow-file-storage-nfs-dev
spec:
ports:
- name: "nfs"
port: 2049
- name: "mountd"
port: 20048
- name: "rpcbind"
port: 111
- name: "rpcbind-udp"
port: 111
protocol: "UDP"
selector:
test.service: slow-file-storage-nfs-dev
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
test.service: slow-file-storage-nfs-dev
name: slow-file-storage-nfs-dev
spec:
serviceName: slow-file-storage-nfs-dev
replicas: 1
selector:
matchLabels:
test.service: slow-file-storage-nfs-dev
template:
metadata:
labels:
test.service: slow-file-storage-nfs-dev
spec:
serviceAccountName: nfs-provisioner-dev
#terminationGracePeriodSeconds: 10
containers:
- name: slow-file-storage-nfs-dev
#image: quay.io/kubernetes_incubator/nfs-provisioner:latest
image: quay.io/kubernetes_incubator/nfs-provisioner:v2.2.1-k8s1.12
ports:
- name: "nfs"
containerPort: 2049
- name: "mountd"
containerPort: 20048
- name: "rpcbind"
containerPort: 111
- name: "rpcbind-udp"
containerPort: 111
protocol: "UDP"
securityContext:
capabilities:
add:
- DAC_READ_SEARCH
- SYS_RESOURCE
args:
- "-provisioner=test.ai/slow-file-storage-nfs-dev"
env:
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: SERVICE_NAME
value: slow-file-storage-nfs-dev
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
imagePullPolicy: "IfNotPresent"
volumeMounts:
- name: slow-file-storage-data
mountPath: /export
restartPolicy: Always
volumes:
- name: slow-file-storage-data
persistentVolumeClaim:
claimName: slow-file-storage-data
---
apiVersion: v1
kind: Service
metadata:
labels:
test.service: fast-file-storage-nfs-dev
name: fast-file-storage-nfs-dev
spec:
ports:
- name: "nfs"
port: 2049
- name: "mountd"
port: 20048
- name: "rpcbind"
port: 111
- name: "rpcbind-udp"
port: 111
protocol: "UDP"
selector:
test.service: fast-file-storage-nfs-dev
---
# test nfs storage provider based storage classes
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: test.nfs-storage.slow.dev
labels:
test.stage: dev
provisioner: test.ai/slow-file-storage-nfs-dev
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
mountOptions:
- vers=4.1
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
test.volume: file-storage-data
name: file-storage-data
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: "test.nfs-storage.slow.dev"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
test.volume: slow-file-storage-data
name: slow-file-storage-data
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
test.service: file-upload-service
name: file-upload-service
spec:
replicas: 1
strategy:
type: RollingUpdate
selector:
matchLabels:
test.service: file-upload-service
template:
metadata:
labels:
test.service: file-upload-service
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: file-upload-service
volumeMounts:
- mountPath: /home/data/files
name: file-storage-data-rw
ports:
- containerPort: 3003
name: "health"
protocol: "TCP"
restartPolicy: Always
volumes:
- name: file-storage-data-rw
persistentVolumeClaim:
claimName: file-storage-data
---
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment