ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

    댓글

Designed by Tistory.