개발
kubernetes - Configmap 생성하기
kwony
2022. 6. 10. 20:23
kubernetes에서 configmap 을 생성하는 여러가지 방법이 있는데 여기선 파일을 이용한 두가지 방식을 다뤄보려고 한다. 아래 game.properties 라는 파일을 컨피그맵에 추가한다고 해보자
➜ ~ cat game.properties
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
secret.code.passphrase=UUDDLRLRBABAS
secret.code.allowed=true
secret.code.lives=30%
파일 그 자체를 value로 넣고 싶다면 컨피그 생성 옵션으로 --from-file을 넣는다. 그러면 game.properties 라는 키 값과 파일 내부에 값이 추가가 된다.
➜ ~ kubectl create configmap game-config --from-file=./game.properties
➜ ~ kubectl describe configmap game-config
Name: game-config
Namespace: holic
Labels: <none>
Annotations: <none>
Data
====
game.properties:
----
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
secret.code.passphrase=UUDDLRLRBABAS
secret.code.allowed=true
secret.code.lives=30
Events: <none>
그런데 이런 방식 말고 환경 변수의 셋을 넘기고 싶은 경우가 있다. 예를 들어 game.properties 라는 파일이 환경 변수인 것이고 내부에 enemies.cheat 라는 키 값과 true 라는 값을 가진 config를 생성하고 싶다고 하자. 이런 경우에는 --from-env-file 옵션으로 생성이 가능하다. 생성후 game-config 출력 값이 위와 다른데 이는 key-value 셋이 달라졌기 때문이다.
➜ ~ kubectl create configmap game-config --from-env-file=./game.properties
➜ ~ kubectl describe configmap game-config
Name: game-config
Namespace: holic
Labels: <none>
Annotations: <none>
Data
====
enemies:
----
aliens
enemies.cheat:
----
true
enemies.cheat.level:
----
noGoodRotten
lives:
----
3
secret.code.allowed:
----
true
secret.code.lives:
----
30
secret.code.passphrase:
----
UUDDLRLRBABAS
Events: <none>