Kubernetes CronJob 에서 CronBark 쓰기
Kubernetes의 CronJob 리소스와 CronBark을 연동하는 방법입니다.
방법 1 — command를 CLI로 감싸기
apiVersion: batch/v1
kind: CronJob
metadata:
name: daily-backup
spec:
schedule: "0 2 * * *"
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: backup
image: myregistry/backup:latest
env:
- name: CRONBARK_TOKEN
valueFrom:
secretKeyRef:
name: cronbark-secrets
key: backup-token
command: ["cronbark", "exec", "/app/backup.sh"]이미지에 Python과 cronbark 패키지가 설치돼 있어야 합니다.
방법 2 — 컨테이너 안에서 curl
이미지에 Python을 추가하고 싶지 않다면 curl로 감쌉니다.
command:
- /bin/sh
- -c
- |
TOKEN=$CRONBARK_TOKEN
BASE=https://api.cronbark.com/api/v1/ping/$TOKEN
curl -sS "$BASE/start" && /app/backup.sh && curl -sS "$BASE/success" || curl -sS "$BASE/fail"Secret 관리
토큰을 하드코딩하지 말고 Kubernetes Secret으로:
kubectl create secret generic cronbark-secrets \
--from-literal=backup-token=abc123자세한 내용 준비 중
- Helm chart 예제
- sidecar 패턴으로 log_content 전송