더북(TheBook)

3.4.2 컨피그맵

컨피그맵(ConfigMap)은 이름 그대로 설정(config)을 목적으로 사용하는 오브젝트입니다. MetalLB를 구성할 때 컨피그맵을 사용해 봤습니다. 인그레스에서는 설정을 위해 오브젝트를 인그레스로 선언했는데, 왜 MetalLB에서는 컨피그맵을 사용했을까요? 명확하게 규정하기는 어려운데 인그레스는 오브젝트가 인그레스로 지정돼 있지만, MetalLB는 프로젝트 타입으로 정해진 오브젝트가 없어서 범용 설정으로 사용되는 컨피그맵을 지정했습니다.

컨피그맵으로 작성된 MetalLB의 IP 설정을 변경해 봅시다.

1. 테스트용 디플로이먼트를 cfgmap이라는 이름으로 생성합니다.

[root@m-k8s ~]# kubectl create deployment cfgmap --image=sysnet4admin/echo-hname
deployment.apps/cfgmap created

2. cfgmap을 로드밸런서(MetalLB)를 통해 노출하고 이름은 cfgmap-svc로 지정합니다.

[root@m-k8s ~]# kubectl expose deployment cfgmap --type=LoadBalancer --name=cfgmap-svc --port=80
service/cfgmap-svc exposed

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.