Files
kubernetes/py-deploy/template/nginx01/deployment.yaml
2026-03-23 10:33:13 +08:00

95 lines
2.3 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ deployment_name }}
namespace: {{ namespace }}
spec:
replicas: {{ replicas }}
selector:
matchLabels:
app: {{ deployment_name }}
template:
metadata:
labels:
app: {{ deployment_name }}
spec:
containers:
- name: {{ deployment_name }}
image: {{ image }}
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: {{ limits_cpu }}
memory: {{ limits_memory }}
requests:
cpu: {{ requests_cpu }}
memory: {{ requests_memory }}
ports:
- containerPort: 80
protocol: TCP
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: 80
timeoutSeconds: 1
volumeMounts:
- mountPath: /etc/localtime
name: localtime
- mountPath: /usr/local/nginx/conf/nginx.conf
name: nginx
subPath: nginx.conf
- mountPath: /usr/local/nginx/conf/conf.d/{{ deployment_name }}.conf
name: {{ deployment_name }}
subPath: {{ deployment_name }}.conf
imagePullSecrets:
- name: {{ imageSecret }}
volumes:
- hostPath:
path: /etc/localtime
type: ''
name: localtime
- configMap:
defaultMode: 420
name: nginx
name: nginx
- configMap:
defaultMode: 420
name: configmap-{{ deployment_name }}
name: {{ deployment_name }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ deployment_name }}
namespace: {{ namespace }}
spec:
ports:
- name: server-port
port: 80
targetPort: 80
selector:
app: {{ deployment_name }}
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ deployment_name }}
namespace: {{ namespace }}
spec:
ingressClassName: {{ ingressClassName }}
rules:
- host: {{ superDomain }}
http:
paths:
- backend:
service:
name: {{ deployment_name }}
port:
number: 80
path: /nginx01
pathType: ImplementationSpecific