Configmap 내용 변경 시 pod 적용 여부 확인하기

작성자 김아름 수정일 2023-02-08 11:21

#kubernetes, #쿠버네티스, #configmap, #pod, #deploy

들어가며

  • pod를 배포할 때 여러 volume mount를 지정할 수 있습니다.

  • 만일 mount 한 데이터가 변동이 생긴다면, pod를 항상 재시작 해야 하는지 알아보겠습니다.



데이터 확인하기

현재 pod의 mount옵션은 아래와 같습니다.

cm-test라는 configmap과 컨테이너 내부의 /root/와 마운트 설정이 되어있습니다.

   volumeMounts:
     - name: cm-test
       mountPath: /root/
volumes:
  - name: cm-test
  configMap:
  name: cm-test


cm-test 이름의 configmap은 아래와 같습니다.

test.sh 파일을 Data로 가지고 있으며, 해당 내용은 first 라고 작성되어 있습니다.

kubectl describe cm cm-test 
Name:         cm-test
Namespace:    default
Labels:       <none>
Annotations:  <none>

Data
====
test.sh:
----
first

Events:  <none>

위 내용을 기반으로 현재 pod 내부의 test.sh 스크립트 내용은 아래와 같습니다.

kubectl exec -it POD_NAME -- cat /root/test.sh 
first



데이터 변경하기

test.sh 내용을 변경한 후 configmap을 재생성 합니다.

vi test.sh
first
second!!

kubectl delete cm cm-test
configmap "cm-test" deleted
kubectl create configmap cm-test --from-file /root/test.sh
configmap/cm-test created

kubectl describe cm cm-test 
Name:         cm-test
Namespace:    default
Labels:       <none>
Annotations:  <none>

Data
====
test.sh:
----
first
second!!

Events:  <none>


이후 pod의 재기동 없이, 컨테이너 내부의 /root/test.sh 파일 내용을 확인합니다.

kubectl exec -it POD_NAME -- cat /root/test.sh 
first
second!!


위 결과로 알 수 있는 사실은, configmap의 내용이 변경이 되더라도 pod는 재기동 할 필요 없이 실시간 반영된다는 것입니다.



마무리

  • configmap 등 pod에 mount 되어 있는 data가 변경이 되면, 변경된 내용이 pod에 자동 적용이 됨을 알아보았습니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300