Reloader는 Kubernetes에서 ConfigMap이나 Secret의 변경 사항을 감지하고, 이와 연관된 파드를 자동으로 재시작하는 오픈소스 도구입니다. Stakater에서 개발한 Reloader는 애플리케이션이 최신 설정을 자동으로 로드하여 설정 변경 후 수동으로 파드를 재시작해야 하는 번거로움을 해소해줍니다.
Reloader는 Helm을 통해 쉽게 설치할 수 있습니다.
helm repo add stakater https://stakater.github.io/stakater-charts
helm repo update
helm install reloader stakater/reloader --namespace reloader --create-namespace
Reloader를 활용하기 위해서는 Deployment의 어노테이션에 ConfigMap 또는 Secret을 명시합니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
annotations:
reloader.stakater.com/auto: "true" # Reloader 자동 감지 활성화
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app-image
envFrom:
- configMapRef:
name: my-configmap
위와 같이 설정하면, my-configmap
의 값이 변경될 때마다 Reloader가 자동으로 해당 파드를 재시작합니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
annotations:
reloader.stakater.com/auto: "true"
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app-image
envFrom:
- secretRef:
name: my-secret
이 설정을 통해 Secret 값이 변경되면 파드가 자동으로 최신 설정으로 재기동됩니다.
Reloader는 Kubernetes 환경에서 설정 변경 시 애플리케이션의 자동 재시작을 편리하게 만들어 주는 매우 유용한 도구입니다. 수동 관리 작업을 줄이고 효율적인 운영 환경을 구축하려는 DevOps 팀에게 강력히 추천되는 도구입니다.