TP-IaC-Kubernetes/exemples/simple-nginx-deploymentv2.yaml

80 lines
1.4 KiB
YAML

apiVersion: v1
kind: PersistentVolume
metadata:
name: nginx-pv
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
hostPath:
path: "/data"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nginx-pvc
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
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: /usr/share/nginx/html/
name: nginx-pv
volumes:
- name: nginx-pv
persistentVolumeClaim:
claimName: nginx-pvc
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: name
operator: In
values:
- k8s-worker-node2
---
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