Files
templates/k8s/deployment.jenkins.yaml.j2
changmin hyeon ecd32e800f tcp
2026-04-01 14:50:01 +09:00

63 lines
1.7 KiB
Django/Jinja

apiVersion: apps/v1
kind: Deployment
metadata:
name: ${RELEASE_NAME}
labels:
app.kubernetes.io/name: ${RELEASE_NAME}
app.kubernetes.io/managed-by: "jenkins"
watcher.project: "{{ project_id }}"
watcher.nodeId: "{{ node_id }}"
watcher.role: "{{ node_type }}"
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: ${RELEASE_NAME}
template:
metadata:
labels:
app.kubernetes.io/name: ${RELEASE_NAME}
app.kubernetes.io/managed-by: "jenkins"
watcher.project: "{{ project_id }}"
watcher.nodeId: "{{ node_id }}"
watcher.role: "{{ node_type }}"
watcher.branch: ${BRANCH_NAME}
annotations:
watcher.enabled: "true"
spec:
{% if image_pull_secret %}
imagePullSecrets:
- name: {{ image_pull_secret }}
{% endif %}
containers:
- name: app
image: ${FULL_IMAGE}
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: {{ app_port | default(80) }}
env:
- name: TZ
value: "Asia/Seoul"
# TCP probe — Agent(/) MCP(/mcp) 구분 없이 포트 오픈 여부만 확인
readinessProbe:
tcpSocket:
port: http
initialDelaySeconds: 3
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 6
livenessProbe:
tcpSocket:
port: http
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 6
resources:
requests:
cpu: "50m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "512Mi"