Helm: Helm ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ConfigMap ์—…๊ทธ๋ ˆ์ด๋“œ์— ์‹คํŒจ ํ•จ

์— ๋งŒ๋“  2017๋…„ 05์›” 23์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: helm/helm

helm upgrade ์—์„œ ConfigMaps๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜๊ตฌ์  ์ธ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์žฌํ˜„ ๋ฐฉ๋ฒ•์„ ์ •ํ™•ํžˆ ์„ค๋ช… ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜๊ตฌ์  ์ธ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๋ง์€ ConfigMaps๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ ํ•ญ์ƒ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋ฐœ์ƒํ•˜๋ฉด ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ๋ช‡ ๋ฒˆ์ด๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ’์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ํ•˜๋ ค๋Š” ๊ฒƒ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ConfigMap์ด ์žˆ์Šต๋‹ˆ๋‹ค. APP_DOMAIN ์˜ ๊ฐ’์„ test.mydomain.com ์—์„œ develop.europa.mydomain.com ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

kubectl describe cm jupiter-config
Name:       jupiter-config
Namespace:  develop
Labels:     <none>
Annotations:    kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","data":{"API_URL":"http://node-services","APP_DOMAIN":"test.mydomain.com","LOG_LEVEL":"info",...

Data
====
SHOW_ADS:
----
true
API_URL:
----
http://node-services
APP_DOMAIN:
----
test.mydomain.com
HTTP_DEBUG:
----
true
LOG_LEVEL:
----
info

์ด ๊ฐ’์„ develop.europa.mydomain.com ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด helm upgrade ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Helm์˜ ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ๋Š” ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์ง€๋งŒ ConfigMap์€ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

helm version ์ถœ๋ ฅ

Client: &version.Version{SemVer:"v2.4.1", GitCommit:"46d9ea82e2c925186e1fc620a8320ce1314cbb02", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.4.1", GitCommit:"46d9ea82e2c925186e1fc620a8320ce1314cbb02", GitTreeState:"clean"}

helm upgrade ์ถœ๋ ฅ

REVISION: 61
RELEASED: Tue May 23 15:11:34 2017
CHART: jupiter-0.1.0
USER-SUPPLIED VALUES:
cluster: europa
config:
  API_URL: http://node-services
  APP_DOMAIN: develop.europa.mydomain.com
  HTTP_DEBUG: "true"
  LOG_LEVEL: info
  SHOW_ADS: "true"
resources:
  limits:
    cpu: 500m
    memory: 500Mi
  requests:
    cpu: 100m
    memory: 100Mi
scaling:
  maxReplicas: 4
  minReplicas: 2
version: 1

COMPUTED VALUES:
cluster: europa
config:
  API_URL: http://node-services
  APP_DOMAIN: develop.europa.mydomain.com
  HTTP_DEBUG: "true"
  LOG_LEVEL: info
  SHOW_ADS: "true"
resources:
  limits:
    cpu: 500m
    memory: 500Mi
  requests:
    cpu: 100m
    memory: 100Mi
scaling:
  maxReplicas: 4
  minReplicas: 2
version: 1

HOOKS:
MANIFEST:

---
# Source: jupiter/templates/config.yaml
kind: ConfigMap
apiVersion: v1
metadata:
  name: jupiter-config
data:
  API_URL: http://node-services
  APP_DOMAIN: develop.europa.mydomain.com
  HTTP_DEBUG: "true"
  LOG_LEVEL: info
  SHOW_ADS: "true"
questiosupport

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋™์ผํ•œ ๋ฌธ์ œ๋กœ ์ธํ•ด helm์ด configmap์„ ์—…๋ฐ์ดํŠธํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์„ ์•Œ์•„๋‚ด๋Š” ๋ฐ ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๊ฒƒ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งค์šฐ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ณ  kubectl๋กœ configmap์„ ์ˆ˜์ •ํ•˜๋ฉด 1) helm configmap ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ 2) configmap์„ ์‚ญ์ œํ•˜๊ณ  helm์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ --force ํ”Œ๋ž˜๊ทธ๋ฅผ ์ธ์‹ํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค๋กœ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰์ค‘์ธ ๊ฒƒ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  3 ๋Œ“๊ธ€

configmap์ด kubectl๋กœ ์ˆ˜์ • ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Helm์€ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰์ค‘์ธ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค์—์„œ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์˜ˆ, ๊ทธ๋Ÿด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋น ๋ฅธ ๋‹ต๋ณ€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๋™์ผํ•œ ๋ฌธ์ œ๋กœ ์ธํ•ด helm์ด configmap์„ ์—…๋ฐ์ดํŠธํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์„ ์•Œ์•„๋‚ด๋Š” ๋ฐ ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๊ฒƒ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งค์šฐ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ณ  kubectl๋กœ configmap์„ ์ˆ˜์ •ํ•˜๋ฉด 1) helm configmap ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ 2) configmap์„ ์‚ญ์ œํ•˜๊ณ  helm์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ --force ํ”Œ๋ž˜๊ทธ๋ฅผ ์ธ์‹ํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค๋กœ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰์ค‘์ธ ๊ฒƒ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰