apiVersion: apps/v1 kind: Deployment metadata: name: ${RELEASE_NAME} labels: app.kubernetes.io/name: ${RELEASE_NAME} app.kubernetes.io/managed-by: "jenkins" watcher.project: "10e41ace-9d37-4839-b6f3-e6d4987486ec" watcher.nodeId: "25082bef-b7a9-41d3-aeeb-30472b03ecd5" watcher.role: "agent" 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: "10e41ace-9d37-4839-b6f3-e6d4987486ec" watcher.nodeId: "25082bef-b7a9-41d3-aeeb-30472b03ecd5" watcher.role: "agent" watcher.branch: ${BRANCH_NAME} annotations: watcher.enabled: "true" spec: imagePullSecrets: - name: cr-pull containers: - name: app image: ${FULL_IMAGE} imagePullPolicy: IfNotPresent ports: - name: http containerPort: 80 env: - name: TZ value: "Asia/Seoul" # 기본 probe (필요 없으면 제거/수정) readinessProbe: httpGet: path: / port: http initialDelaySeconds: 3 periodSeconds: 5 timeoutSeconds: 2 failureThreshold: 6 livenessProbe: httpGet: path: / port: http initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 2 failureThreshold: 6 resources: requests: cpu: "50m" memory: "128Mi" limits: cpu: "500m" memory: "512Mi"