Miscellaneous

[삽질의 추억] 쿠버네티스 추가 볼륨, 추가 콘피그맵이 안붙을 때

[혜안] 2022. 8. 22. 16:47
728x90

라즈베리파이에 쿠버네티스를 올리면서 삽질했던 것들을 기억나는대로 올려봅니다.

쿠버네티스에서 yaml 파일 작성할때에,

분명 첫번째 콘피그맵, 또는 퍼시스턴스 볼륨은 잘 붙었는데,

추가로 작성했을 경우 안붙는 케이스가 있었습니다.

한참을 삽질했는데, 원인은 단순합니다.

volumeMounts: 혹은 volumes: 가 pod spec 목록 하위에 중복으로 작성되었을 경우입니다.

 

아래의 yaml 파일을 보시면,

    spec:
      containers:
      - image: private.repo:8888/home-server:0.3
        name: home-server
        env:
        - name: TZ
          value: Asia/Seoul
        volumeMounts:
          - name: homeconfig
            mountPath: /usr/src/app/conf
        volumeMounts:
          - name: homelogs
            mountPath: /usr/src/app/logs
      volumes:
      - name: homeconfig
        configMap:
          name: home-config
      - name: homelogs
        persistentVolumeClaim:
          claimName: pvc-homelogs

 

기존에 homeconfig를 작성하고 정상 동작을 했었습니다.

그런데 이후에 이 설정을 복사해서 homelogs 를 추가했더니 homeconfig가 동작하지 않았습니다.

        volumeMounts:
          - name: homeconfig
            mountPath: /usr/src/app/conf
        volumeMounts:
          - name: homelogs
            mountPath: /usr/src/app/logs

volumeMounts가 두번 들어가면서 첫번째 volumeMounts가 무시된 경우입니다.

Copy & Paste의 병폐라고 할 수 있겠죠.

저 상태로 apply하면 쿠버네티스에서 에러가 나지 않습니다.

그래서 더욱 삽질하기 쉬운 케이스입니다.

아래와 같이 수정해줘야 맞습니다.

        volumeMounts:
          - name: homeconfig
            mountPath: /usr/src/app/conf
          - name: homelogs
            mountPath: /usr/src/app/logs

 

다른 분들은 삽질하지 않기를 바라며 작성했습니다.

728x90