[삽질의 추억] 쿠버네티스 추가 볼륨, 추가 콘피그맵이 안붙을 때
라즈베리파이에 쿠버네티스를 올리면서 삽질했던 것들을 기억나는대로 올려봅니다.
쿠버네티스에서 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
다른 분들은 삽질하지 않기를 바라며 작성했습니다.