-
[ConfigMap] edit 시 파일 내용이 문자열로 변환되는 표현 버그 수정 방법Open Source/Kubernetes 2024. 4. 3. 11:37반응형
업무를 하면서 쿠버네티스 ConfigMap 을 많이 사용하게 되는데
사내 솔루션을 여기저기 배포하면서, 항상 드는 의문점이 있었다.
분명히 예쁘게(pretty) 구성해서 configmap 을 적용했는데,
kubectl describe 하면 예쁘게(pretty) 보이던 콘텐츠 내용들이
이상하게 kubectl edit 을 하면 하나의 문자열로 합쳐지는 것이다.
업무에 바쁘다보니 해결책이 쉽게 나오지 않아서 그냥 사용했었다.
이번에 새로 입사한 동료가 이 부분에 대해서 질문을 하면서, 이 문제를 해결하기 위해 찾아보았다.
다행히도, 아주 간단한 원인과 해결책을 알게 되었다.
같은 문제를 겪고 잇는 다른 분들에게 도움이 되길 바란다.
문제의 표현 버그
아래 내용처럼 configmap 을 구성해서 적용했다.
apiVersion: v1 kind: ConfigMap metadata: name: test-cm namespace: test data: application.yml: | abc: aa: bb: 234 cc: 345
그런데 위 configmap 을 edit 을 해서 수정을 하려고 보면 자꾸 아래처럼 변환되는 것이다.
apiVersion: v1 kind: ConfigMap metadata: name: test-cm namespace: test data: application.yml: "abc:\n aa: \n bb: 234\n cc: 345"
지금 예제처럼 짧으면 잘보고 수정이 되지만,,, 길어지면 답이 없다.
정말 정말 간단한 해결 방법
위에 잘못 표현된 부분을 자세히 보면 알겠지만, aa 키의 값이 없는걸 표현하다 보니 공백 문자가 들어간 것을 볼 수 있다.
aa: \n
이 부분에 꼬리에 따라오는 공백 문자를 제거 후 저장하면 다음 kubectl edit 부터는 예쁘게 수정 할 수 있다!
aa:\n
값이 있든 없든 마지막에 따라오는 공백문자를 조심 해야한다.
추가로 탭 도 문제가 될 수 있으니 조심하시길.
고마운 사람들 링크
- https://github.com/kubernetes/kubernetes/issues/36222
- https://www.reddit.com/r/kubernetes/comments/1937dld/my_configmap_comes_out_in_this_scattered_yaml/
여담
쿠버네티스 커밋터는 해결책 없이,
버그가 아니라고, 이슈만 닫아서 👎 버튼을 많이 받았다...ㅋㅋㅋ
반응형'Open Source > Kubernetes' 카테고리의 다른 글
[Kubernetes] kubectl 기본 사용 예제 (0) 2023.01.13