ConfigMap 마운트

2024. 5. 4. 08:30k8s

ConfigMap을 이용해서 mount하는 경우, 실제 디렉토리에 존재하는 파일이 없어지지는 않음

파일이 하나인 경우

apiVersion: v1
kind: ConfigMap
metadata:
  name: {config}
  namespace: {config}
data:
  {file1}: |
    {내용}
---
      containers:
      - name: {pod}
        image: {image}
        ports:
        - containerPort: {port}
        volumeMounts:
          - name: {volume}
            mountPath: {directory}/{file1}
            # 특정 파일을 하나만 mount하는 경우, subPath를 기술해야 함
            # 기술하지 않으면, 기존 디렉토리 전체를 삭제하고 해당 파일만 생성됨
            subPath: {file1}
      imagePullSecrets:
        - name: {pod}
      volumes:
        - name: {volume}
          configMap:
            name: {config}

파일이 2개 이상인 경우

apiVersion: v1
kind: ConfigMap
metadata:
  name: {config}
  namespace: {config}
data:
  {file1}: |
    {내용}
  {file2}: |
    {내용}    
---
      containers:
      - name: {pod}
        image: {image}
        ports:
        - containerPort: {port}
        volumeMounts:
          - name: {volume1}
            mountPath: {directory}/{file1}
            subPath: {file1}
          - name: {volume2}
            mountPath: {directory}/{file2}
            subPath: {file2}
      imagePullSecrets:
        - name: {pod}
      volumes:
        - name: {volume1}
          configMap:
            name: {config}
            items:
            - key: {file1}
              path: {file1}
        - name: {volume2}
          configMap:
            name: {config}
            items:
            - key: {file2}
              path: {file2}

ConfigMap 적용하기

# apply를 수행해도 pod에서 변경된 configMap을 참조하지 않음
kubctl apply -f {yml 파일}

# pod를 재기동해야 함
# 삭제하면 자동으로 새로 생성됨
kubectl delete {pod} -n {namespace}

TS

  • Pod "postgres-0" is invalid: [spec.volumes[1].name: Invalid value: "pg_hba": a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?'), spec.containers[0].volumeMounts[2].name: Not found: "pg_hba"]

volume이름에는 '.', '_'를 사용할 수 없음

'k8s' 카테고리의 다른 글

docker registry 조회 명령  (0) 2024.07.06
디버깅에 유용한 명령어  (0) 2024.05.05
initContainers 사용하기  (1) 2024.04.28
Minikube docker registry 설치  (0) 2024.04.16
Minikube addon registry 설정  (0) 2024.04.10