formol/test/01-deployment.yaml~

93 lines
1.6 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: demo
labels:
app: nginx
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
imagePullSecrets:
- name: regcred
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
volumeMounts:
- name: demo-data
mountPath: /data
volumes:
- name: demo-data
persistentVolumeClaim:
claimName: demo-pvc
---
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config-demo
namespace: demo
labels:
app: postgres
data:
POSTGRES_DB: demopostgres
POSTGRES_USER: demopostgres
POSTGRES_PASSWORD: password123!
---
apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: demo
labels:
app: postgres
spec:
ports:
- port: 5432
name: postgres
clusterIP: None
selector:
app: postgres
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgres-demo
namespace: demo
spec:
serviceName: "postgres"
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:12
envFrom:
- configMapRef:
name: postgres-config-demo
ports:
- containerPort: 5432
name: postgredb
volumeMounts:
- name: postgredb
mountPath: /var/lib/postgresql/data
volumes:
- name: postgredb