Add nfs-server

master
guppy 2023-05-23 21:38:14 +02:00
parent 829cc1777e
commit aa55278e47
4 changed files with 177 additions and 0 deletions

View File

@ -0,0 +1,49 @@
kind: Service
apiVersion: v1
metadata:
name: nfs-service
spec:
clusterIP: 10.100.10.10
selector:
role: nfs
ports:
# Open the ports required by the NFS server
# Port 2049 for TCP
- name: tcp-2049
port: 2049
protocol: TCP
# Port 111 for UDP
- name: udp-111
port: 111
type: ClusterIP
---
kind: Pod
apiVersion: v1
metadata:
name: nfs-server
labels:
role: nfs
spec:
containers:
- name: nfs-server
image: cpuguy83/nfs-server
securityContext:
privileged: true
args:
# Pass the paths to share to the Docker image
- /exports
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs-k8s
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: nfs
parameters:
server: 10.100.10.10
path: /share
readOnly: "false"
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer

View File

@ -0,0 +1,36 @@
kind: Service
apiVersion: v1
metadata:
name: nfs-service
spec:
clusterIP: 10.100.10.10
selector:
role: nfs
ports:
# Open the ports required by the NFS server
# Port 2049 for TCP
- name: tcp-2049
port: 2049
protocol: TCP
# Port 111 for UDP
- name: udp-111
port: 111
type: ClusterIP
---
kind: Pod
apiVersion: v1
metadata:
name: nfs-server
labels:
role: nfs
spec:
containers:
- name: nfs-server
image: cpuguy83/nfs-server
securityContext:
privileged: true
args:
# Pass the paths to share to the Docker image
- /exports

View File

@ -0,0 +1,71 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: nginx-pv
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
capacity:
storage: 1Gi
nfs:
server: 10.100.10.10
path: /share
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nginx-pvc
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
volumeMounts:
- mountPath: /var/www
name: nginx-pv
volumes:
- name: nginx-pv
persistentVolumeClaim:
claimName: nginx-pvc
---
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx
name: nginx-svc
spec:
allocateLoadBalancerNodePorts: true
ports:
- nodePort:
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancer

View File

@ -0,0 +1,21 @@
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
spec:
securityContext:
fsGroup: 1005
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
volumeMounts:
- name: nfs-pv
mountPath: /usr/share/nginx/html
volumes:
- name: nfs-pv
persistentVolumeClaim:
claimName: nfs-pvc