ç§ãã¡ïŒãããŠç§ãã¡ã ãã§ã¯ãããŸããïŒãé·ãéåŸ
ã£ãŠããããšãèµ·ãããŸããïŒ
éåžžã«çãå Žåã¯ã WERF_THREE_WAY_MERGE=enabled
â 次ã®ããã«ããããã€ã¡ã³ãããååŸããŸã kubectl apply
"ãæ¢åã® Helm 2 ã€ã³ã¹ããŒã«ãšããã«äºææ§ããããŸãã
ããããçè«ããå§ããŸãããã3 ãŠã§ã€ ããŒãž ããããšã¯äžäœäœãªã®ãã人ã
ã¯ã©ã®ããã«ããŠããããçæããã¢ãããŒããæãã€ããã®ãããããŠãªã Kubernetes ããŒã¹ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã䜿çšãã CI/CD ããã»ã¹ã«ãããŠéèŠãªã®ã§ããããã ãã®åŸãwerf ã«ããã 3-way-merge ãšã¯äœããããã©ã«ãã§äœ¿çšãããã¢ãŒããããã³ãã®ç®¡çæ¹æ³ãèŠãŠã¿ãŸãããã
3-way ããŒãž ããããšã¯äœã§ãã?
ããã§ãYAML ãããã§ã¹ãã«èšè¿°ããããªãœãŒã¹ã Kubernetes ã«ããŒã«ã¢ãŠãããã¿ã¹ã¯ããå§ããŸãããã
ãªãœãŒã¹ãæäœããããã«ãKubernetes API ã¯ãäœæããããé©çšã眮æãåé€ãšããåºæ¬æäœãæäŸããŸãã 圌ãã®å©ããåããŠãã¯ã©ã¹ã¿ãŒãžã®ãªãœãŒã¹ã®äŸ¿å©ãªç¶ç¶çãªããŒã«ã¢ãŠããæ§ç¯ããå¿ èŠããããšæ³å®ãããŸãã ã©ããã£ãŠïŒ
kubectl åœä»€åã³ãã³ã
Kubernetes ã§ãªããžã§ã¯ãã管çããæåã®ã¢ãããŒãã¯ãkubectl åœä»€åã³ãã³ãã䜿çšããŠããããã®ãªããžã§ã¯ããäœæãå€æŽãåé€ããããšã§ãã ç°¡åã«èšãã°ïŒ
- ããŒã
kubectl run
ãããã€ã¡ã³ããŸãã¯ãžã§ããå®è¡ã§ããŸããkubectl run --generator=deployment/apps.v1 DEPLOYMENT_NAME --image=IMAGE
- ããŒã
kubectl scale
â ã¬ããªã«ã®æ°ãå€æŽããŸããkubectl scale --replicas=3 deployment/mysql
- ç
ãã®ã¢ãããŒãã¯äžèŠãããšäŸ¿å©ã«èŠãããããããŸããã ãã ãã次ã®ãããªåé¡ããããŸãã
- ããã¯é£ãã èªåå.
- Ðак æ§æãåæ ãã Gitã§ïŒ ã¯ã©ã¹ã¿ãŒã«èµ·ãã£ãå€æŽã確èªããã«ã¯ã©ãããã°ããã§ãã?
- æäŸæ¹æ³ åçŸæ§ åèµ·åæã®èšå®?
- ...
ãã®ã¢ãããŒãããã¢ããªã±ãŒã·ã§ã³ãšã€ã³ãã©ã¹ãã©ã¯ãã£ãã³ãŒããšããŠä¿åããããš (IaCããŸãã¯
äœæãååŸã眮æãåé€ã®æäœ
ãã©ã€ããªãŒä»ã ã®äœæ ç°¡åã§ã: ãããã§ã¹ãããªãã¬ãŒã·ã§ã³ã«éä¿¡ããŸã create
kube API ãšãªãœãŒã¹ãäœæãããŸããã ãããã§ã¹ãã® YAML è¡šçŸã¯ Git ã«ä¿åãã次ã®ã³ãã³ãã䜿çšããŠäœæã§ããŸãã kubectl create -f manifest.yaml
.
С åé€ ãããç°¡åã§ã: åããã®ã眮ãæããŸã manifest.yaml
Git ããããŒã ãž kubectl delete -f manifest.yaml
.
æäœ replace
ãªãœãŒã¹ãåäœæããããšãªãããªãœãŒã¹æ§æãæ°ãããã®ã«å®å
šã«çœ®ãæããããšãã§ããŸãã ããã¯ããªãœãŒã¹ã«å€æŽãå ããåã«ã次ã®æäœã§çŸåšã®ããŒãžã§ã³ãã¯ãšãªããããšãè«ççã§ããããšãæå³ããŸãã get
ãå€æŽããæäœã§æŽæ°ããŸãã replace
ã kube APIãµãŒããŒãçµã¿èŸŒãŸããŠããŸã get
ãªããžã§ã¯ããå€æŽãããŠããæäœãè¡ããã replace
éããªãã ããã
èšå®ã Git ã«ä¿åããreplace ã䜿çšããŠæŽæ°ããã«ã¯ã次ã®æäœãè¡ãå¿
èŠããããŸãã get
ãGit ããã®èšå®ãåãåã£ããã®ãšããŒãžããå®è¡ããŸã replace
ã ããã©ã«ãã§ã¯ãkubectl ã¯æ¬¡ã®ã³ãã³ãã®ã¿ã䜿çšã§ããŸãã kubectl replace -f manifest.yaml
ã©ã manifest.yaml
â ã€ã³ã¹ããŒã«ããå¿
èŠãããããã§ã«å®å
šã«æºåããã (ãã®å Žåã¯ããŒãžããã) ãããã§ã¹ãã ãŠãŒã¶ãŒã¯ããŒãž ãããã§ã¹ããå®è£
ããå¿
èŠãããããšãããããŸããããããã¯ç°¡åãªåé¡ã§ã¯ãããŸãã...
ãŸãã泚ç®ã«å€ããã®ã¯ã manifest.yaml
ãªããžã§ã¯ãã Git ã«ä¿åãããŠããå Žåããªããžã§ã¯ããäœæããå¿
èŠãããã®ãââæŽæ°ããå¿
èŠãããã®ãââãäºåã«ç¥ãããšã¯ã§ããŸãããããã¯ãŠãŒã¶ãŒ ãœãããŠã§ã¢ã«ãã£ãŠå®è¡ããå¿
èŠããããŸãã
åèšïŒ ç¶ç¶çãªå±éãæ§ç¯ã§ããã äœæã眮æãåé€ã®ã¿ã䜿çšããŠãã€ã³ãã©ã¹ãã©ã¯ãã£æ§æãã³ãŒãããã³äŸ¿å©ãª CI/CD ãšãšãã«ç¢ºå®ã« Git ã«ä¿åãããããã«ããŸãã?
ååãšããŠãç§ãã¡ã¯æ¬¡ã®ããšãè¡ãããšãã§ããŸã... ããŒãžæäœãå®è£ ããå¿ èŠããããŸã ãããã§ã¹ããšæ¬¡ã®ãããªãã€ã³ãã£ã³ã°:
- ã¯ã©ã¹ã¿ãŒå ã®ãªããžã§ã¯ãã®ååšã確èªããŸãã
- åæãªãœãŒã¹äœæãå®è¡ããŸãã
- æŽæ°ãŸãã¯åé€ããŸãã
ã¢ããããŒãã®éã¯ã泚æãã ãã ãªãœãŒã¹ãå€æŽãããå¯èœæ§ããããŸã ååãã get
ãªããã£ãã¹ãã£ã㯠ããã¯ã®ã±ãŒã¹ãèªåçã«åŠçããæŽæ°ãç¹°ãè¿ãè©Šè¡ããŸãã
ããããkube-apiserver ããªãœãŒã¹ãæŽæ°ããå¥ã®æ¹æ³ãã€ãŸããªãã¬ãŒã·ã§ã³ãæäŸããŠããã®ã«ããªãè»èŒªã®åçºæãããå¿
èŠãããã®ã§ããããã patch
ãããã«ããã説æãããŠããåé¡ã®äžéšããŠãŒã¶ãŒãã解æŸãããŸãã?
ããã
ããŠããããã®è©±ã«å ¥ããŸãã
ãããã¯ãKubernetes ã®æ¢åã®ãªããžã§ã¯ãã«å€æŽãé©çšããäž»ãªæ¹æ³ã§ãã æè¡ patch
ããã¯ãã®ããã«åäœããŸãïŒ
- kube-apiserver ãŠãŒã¶ãŒã¯ JSON 圢åŒã§ããããéä¿¡ãããªããžã§ã¯ããæå®ããå¿ èŠããããŸãã
- ãããŠãapiserver èªäœããªããžã§ã¯ãã®çŸåšã®ç¶æ ãåŠçãããããå¿ èŠãªåœ¢åŒã«ããŸãã
ãã®å Žåã楜芳çããã¯ã¯å¿ èŠãããŸããã ãã®æäœã¯çœ®æããã宣èšçã§ãããæåã¯éã«èŠãããããããŸããã
ãããã£ãŠïŒ
- æäœã䜿çšããŠ
create
Git ã®ãããã§ã¹ãã«åŸã£ãŠãªããžã§ã¯ããäœæããŸãã - çµç±
delete
â ãªããžã§ã¯ããäžèŠã«ãªã£ãå Žåã¯åé€ããŸãã - çµç±
patch
â ãªããžã§ã¯ããå€æŽããŠãGit ã§èšè¿°ããã圢åŒã«ããŸãã
ãã ãããããè¡ãã«ã¯ã æ£ããããã!
Helm 2 ã§ã®ãããã®ä»çµã¿: åæ¹åããŒãž
åããŠãªãªãŒã¹ãã€ã³ã¹ããŒã«ãããšãã«ãHelm ãæäœãå®è¡ããŸãã create
ãã£ãŒããªãœãŒã¹ã®å Žåã
åãªãœãŒã¹ã® Helm ãªãªãŒã¹ãæŽæ°ããå Žå:
- åã®ãã£ãŒãã®ãªãœãŒã¹ ããŒãžã§ã³ãšçŸåšã®ãã£ãŒã ããŒãžã§ã³ã®éã®ããããèæ ®ããŸãã
- ãã®ããããé©çšããŸãã
ãã®ããããããããšåŒã³ãŸã åæ¹åããŒãžãããããã®äœæã«ã¯ 2 ã€ã®ãããã§ã¹ããé¢ä¿ããŠããããã§ãã
- 以åã®ãªãªãŒã¹ã®ãªãœãŒã¹ ãããã§ã¹ãã
- çŸåšã®ãªãœãŒã¹ããã®ãªãœãŒã¹ ãããã§ã¹ãã
æäœãåé€ããå Žå delete
kube ã§ã¯ã以åã®ãªãªãŒã¹ã§ã¯å®£èšãããããçŸåšã®ãªãªãŒã¹ã§ã¯å®£èšãããŠããªããªãœãŒã¹ã«å¯Ÿã㊠apiserver ãåŒã³åºãããŸãã
2 æ¹åã®ããŒãž ãããã®ã¢ãããŒãã«ã¯åé¡ããããŸãã ã¯ã©ã¹ã¿ãŒå ã®ãªãœãŒã¹ã®å®éã®ç¶æ ããã³ Git ã®ãããã§ã¹ããšåæããŠããŸãã.
äŸã«ããåé¡ã®å³è§£
- Git ã§ã¯ããã£ãŒãã«ã¯ãã£ãŒã«ããå«ãŸãããããã§ã¹ããä¿åãããŸãã
image
å°å ¥ã«é¢ããäºéubuntu:18.04
. - ãŠãŒã¶ãŒçµç±
kubectl edit
ãã®ãã£ãŒã«ãã®å€ã次ã®ããã«å€æŽããŸããubuntu:19.04
. - Helm ãã£ãŒããåãããã€ããå Žå ãããã¯çæãããŸããããã£ãŒã«ããªã®ã§
image
以åã®ããŒãžã§ã³ã®ãªãªãŒã¹ãšçŸåšã®ãã£ãŒãã§ã¯åãã§ãã - åé
ååŸ
image
éºäœubuntu:19.04
ããã£ãŒãã«ã¯æ¬¡ã®ããã«æžãããŠããŸãããubuntu:18.04
.
éåæãçºçãã宣èšæ§ã倱ãããŸããã
åæãªãœãŒã¹ãšã¯äœã§ãã?
äžè¬çã«èšãã° ãã« å®è¡äžã®ã¯ã©ã¹ã¿ãŒå ã®ãªãœãŒã¹ ãããã§ã¹ããš Git ããã®ãããã§ã¹ãã®éã§äžèŽãååŸããããšã¯äžå¯èœã§ãã å®éã®ãããã§ã¹ãã«ã¯ãäžéšã®ã³ã³ãããŒã©ãŒã«ãã£ãŠãªãœãŒã¹ã«åçã«è¿œå ããã³åé€ããããµãŒãã¹ã®æ³šé/ã©ãã«ãè¿œå ã®ã³ã³ãããŒãããã³ãã®ä»ã®ããŒã¿ãååšããå¯èœæ§ãããããã§ãã ãã®ããŒã¿ã Git ã«ä¿åããããšã¯ã§ããŸããããä¿åããããããŸããã ãã ããGit ã§æ瀺çã«æå®ãããã£ãŒã«ãã«ã¯ãããŒã«ã¢ãŠãæã«é©åãªå€ãèšå®ãããããã«ããå¿ èŠããããŸãã
ããã¯éåžžã«äžè¬çã§ããããšãããããŸãã åæãªãœãŒã¹ã«ãŒã«: ãªãœãŒã¹ãããŒã«ã¢ãŠããããšãã«ãGit ã®ãããã§ã¹ãã§æ瀺çã«æå®ãããŠãã (ãŸãã¯ã以åã®ããŒãžã§ã³ã§æå®ãããçŸåšã¯åé€ãããŠãã) ãã£ãŒã«ãã®ã¿ãå€æŽãŸãã¯åé€ã§ããŸãã
åæ¹åããŒãžããã
äžå¿ææ³
- ã¿ãŒã²ãã ããŒãžã§ã³ã«è¿œå ãããæ°ãããã£ãŒã«ãã¯ãããã䜿çšããŠè¿œå ãããŸãã
- æåŸã«é©çšãããããŒãžã§ã³ã«ä»¥åã«ååšããã¿ãŒã²ãã ããŒãžã§ã³ã«ååšããªããã£ãŒã«ãã¯ããããã䜿çšããŠãªã»ãããããŸãã
- ãããã§ã¹ãã®ã¿ãŒã²ãã ããŒãžã§ã³ãšç°ãªããªããžã§ã¯ãã®çŸåšã®ããŒãžã§ã³ã®ãã£ãŒã«ãã¯ããããã䜿çšããŠæŽæ°ãããŸãã
ãã®åçã«åºã¥ããŠããããçæãããŸãã kubectl apply
:
- ãããã§ã¹ãã®æåŸã«é©çšãããããŒãžã§ã³ã¯ãªããžã§ã¯ãèªäœã®ã¢ãããŒã·ã§ã³ã«ä¿åãããŸãã
- target - æå®ããã YAML ãã¡ã€ã«ããååŸãããŸãã
- çŸåšã®ãã®ã¯å®è¡äžã®ã¯ã©ã¹ã¿ãŒããã®ãã®ã§ãã
çè«ãæŽçããã®ã§ã次㯠werf ã§äœããããã説æããŸãã
werf ãžã®å€æŽã®é©çš
以åãwerf ã¯ãHelm 2 ãšåæ§ã«ãåæ¹åããŒãž ãããã䜿çšããŠããŸããã
修埩ããã
æ°ããã¿ã€ãã®ããã - 3-way-merge - ã«åãæ¿ããããã®æåã®ã¹ããããšããŠããããã 修埩ããã.
ãããã€æã«ã¯ãæšæºã® 2-way ããŒãž ãããã䜿çšãããŸãããwerf ã¯ããã«ããªãœãŒã¹ã®å®éã®ç¶æ ãš Git ã«æžã蟌ãŸããå 容ãåæããããããçæããŸã (ãã®ãããªãããã¯ãäžã§èª¬æããã®ãšåãåæãªãœãŒã¹ ã«ãŒã«ã䜿çšããŠäœæãããŸã)ã ã
éåæãçºçããå Žåããããã€ã¡ã³ãã®æåŸã«ããŠãŒã¶ãŒã¯å¯Ÿå¿ããã¡ãã»ãŒãžãå«ãèŠåãšããªãœãŒã¹ãåæããã圢åŒã«ããããã«é©çšããå¿
èŠãããããããåãåããŸãã ãã®ãããã¯ç¹å¥ãªã¢ãããŒã·ã§ã³ã«ãèšé²ãããŠããŸã werf.io/repair-patch
ã ãŠãŒã¶ãŒã®æã«ãããã®ãšæ³å®ãããŸãã 圌èªèº« ã¯ãã®ããããé©çšããŸãããwerf ã¯ããããŸã£ããé©çšããŸããã
修埩ãããã®çæã¯ã3 æ¹åããŒãžã®ååã«åºã¥ããŠãããã®äœæãå®éã«ãã¹ãã§ããããã«ããäžæçãªæ段ã§ããããããã®ããããèªåçã«é©çšãããããã§ã¯ãããŸããã çŸæç¹ã§ã¯ããã®åäœã¢ãŒãã¯ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸãã
æ°ãããªãªãŒã¹å°çšã® 3-way-merge ããã
1 幎 2019 æ XNUMX æ¥ãããwerf ã®ããŒã¿çãšã¢ã«ãã¡çãéå§ãããŸã ããã©ã«ã㧠æ¬æ Œç㪠3-way ããŒãž ãããã䜿çšããŠãwerf ãéããŠå±éãããæ°ãã Helm ãªãªãŒã¹ã«ã®ã¿å€æŽãé©çšããŸãã æ¢åã®ãªãªãŒã¹ã§ã¯ãåŒãç¶ãåæ¹åã®ããŒãž + ãããã®ä¿®åŸ©ã¢ãããŒãã䜿çšãããŸãã
ãã®åäœã¢ãŒãã¯ãèšå®ã«ãã£ãŠæ瀺çã«æå¹ã«ããããšãã§ããŸãã WERF_THREE_WAY_MERGE_MODE=onlyNewReleases
ä»
泚æ: ãã®æ©èœã¯ããã€ãã®ãªãªãŒã¹ã«ããã£ãŠ werf ã«ç»å ŽããŸãã: ã¢ã«ãã¡ ãã£ãã«ã§ã¯ããŒãžã§ã³ã§æºåãæŽããŸãã
ãã¹ãŠã®ãªãªãŒã¹ã® 3-way ããŒãž ããã
15 幎 2019 æ 3 æ¥ä»¥éãwerf ã®ããŒã¿çãšã¢ã«ãã¡çã§ã¯ããã¹ãŠã®ãªãªãŒã¹ã«å€æŽãé©çšããããã«ãããã©ã«ãã§å®å šãª XNUMX-way ããŒãž ãããã䜿çšããå§ããŸãã
ãã®åäœã¢ãŒãã¯ãèšå®ã«ãã£ãŠæ瀺çã«æå¹ã«ããããšãã§ããŸãã WERF_THREE_WAY_MERGE_MODE=enabled
ä»
ãªãœãŒã¹ã®èªåã¹ã±ãŒãªã³ã°ãã©ãããã?
Kubernetes ã®èªåã¹ã±ãŒãªã³ã°ã«ã¯ãHPA (æ°Žå¹³) ãš VPA (åçŽ) ã® 2 çš®é¡ããããŸãã
æ°Žå¹³æ¹åã§ã¯ã¬ããªã«ã®æ°ãèªåçã«éžæãããåçŽæ¹åã§ã¯ãªãœãŒã¹ã®æ°ãéžæãããŸãã ã¬ããªã«ã®æ°ãšãªãœãŒã¹èŠä»¶ã¯äž¡æ¹ãšããªãœãŒã¹ ãããã§ã¹ãã§æå®ãããŸã (ãªãœãŒã¹ ãããã§ã¹ããåç
§)ã spec.replicas
ãŸã㯠spec.containers[].resources.limits.cpu
, spec.containers[].resources.limits.memory
О
åé¡: ãŠãŒã¶ãŒããªãœãŒã¹ãŸãã¯ã¬ããªã«ã«ç¹å®ã®å€ãæå®ããããã«ãã£ãŒãå ã®ãªãœãŒã¹ãæ§æãããã®ãªãœãŒã¹ã«å¯ŸããŠãªãŒãã¹ã±ãŒã©ãŒãæå¹ã«ãªã£ãŠããå Žåãåãããã€ã¡ã³ã㧠werf ããããã®å€ããã£ãŒã ãããã§ã¹ãã«æžã蟌ãŸããå€ã«ãªã»ããããŸãã ã
ãã®åé¡ã«ã¯ XNUMX ã€ã®è§£æ±ºçããããŸãã ãŸãããã£ãŒã ãããã§ã¹ãã§èªåã¹ã±ãŒã«å€ãæ瀺çã«æå®ããªãããšãæåã§ãã ãã®ãªãã·ã§ã³ãäœããã®çç±ã§é©åã§ãªãå Žå (ããšãã°ããã£ãŒãå ã®åæãªãœãŒã¹å¶éãšã¬ããªã«ã®æ°ãèšå®ããã®ã䟿å©ãªãã)ãwerf ã¯æ¬¡ã®æ³šéãæäŸããŸãã
-
werf.io/set-replicas-only-on-creation=true
-
werf.io/set-resources-only-on-creation=true
ãã®ãããªã¢ãããŒã·ã§ã³ãååšããå Žåãwerf ã¯åãããã€ã¡ã³ãã§å¯Ÿå¿ããå€ããªã»ããããããªãœãŒã¹ãæåã«äœæããããšãã«ã®ã¿èšå®ããŸãã
詳现ã«ã€ããŠã¯ããããžã§ã¯ãã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
3-way-merge ãããã®äœ¿çšãçŠæ¢ãã
ãŠãŒã¶ãŒã¯çŸåšãç°å¢å€æ°ã䜿çšã㊠werf ã§ã®æ°ãããããã®äœ¿çšãçŠæ¢ã§ããŸãã WERF_THREE_WAY_MERGE_MODE=disabled
ã ãã ããéå§ 1 幎 2020 æ XNUMX æ¥ä»¥éããã®çŠæ¢ã¯é©çšãããªããªããŸãã ãŸãã3-way-merge ãããã®ã¿ã䜿çšã§ããŸãã
werf ã§ã®ãªãœãŒã¹ã®æ¡ââçš
3-way ããŒãž ãããã§å€æŽãé©çšããæ¹æ³ãç¿åŸããããšã§ãã¯ã©ã¹ã¿ãŒå ã«ååšãããªãœãŒã¹ã Helm ãªãªãŒã¹ã«æ¡çšãããªã©ã®æ©èœãããã«å®è£ ã§ããããã«ãªããŸããã
Helm 2 ã«ã¯åé¡ããããŸããã¯ã©ã¹ã¿ãŒå
ã«æ¢ã«ååšãããã£ãŒã ãããã§ã¹ãã«ãªãœãŒã¹ãè¿œå ããã«ã¯ããã®ãªãœãŒã¹ãæåããåäœæããå¿
èŠããããŸã (ãHelm XNUMXããåç
§)ã kubectl edit
):
"werf.io/allow-adoption-by-release": RELEASE_NAME
ããã§ãªãœãŒã¹ããã£ãŒãã«èšè¿°ããå¿ èŠãããã次å werf ãé©åãªååã®ãªãªãŒã¹ããããã€ãããšãã«ãæ¢åã®ãªãœãŒã¹ããã®ãªãªãŒã¹ã«åãå ¥ãããããã®å¶åŸ¡äžã«æ®ããŸãã ããã«ããªãœãŒã¹ã®è§£æŸãåãå ¥ããããã»ã¹ã§ãwerf ã¯ãåã 3 ãŠã§ã€ ããŒãž ããããšåæããããªãœãŒã¹ ã«ãŒã«ã䜿çšããŠãå®è¡äžã®ã¯ã©ã¹ã¿ãŒããã®ãªãœãŒã¹ã®çŸåšã®ç¶æ ããã£ãŒãã§èª¬æãããŠããç¶æ ã«ããŸãã
泚æïŒèšå® WERF_THREE_WAY_MERGE_MODE
ãªãœãŒã¹ã®æ¡ââçšã«ã¯åœ±é¿ããŸãããæ¡çšã®å Žåã¯ãåžžã« 3-way ããŒãž ãããã䜿çšãããŸãã
詳现 - ã§
çµè«ãšä»åŸã®èšç»
ãã®èšäºãèªãã åŸã3-way ããŒãž ããããšã¯äœãããããŠãªããã®ããããå°å ¥ãããã®ããããæ確ã«ãªã£ãããšãé¡ã£ãŠããŸãã werf ãããžã§ã¯ãã®éçºã®å®éçãªèŠ³ç¹ããèŠããšããã®å®è£ 㯠Helm ã®ãããªå±éãæ¹åããããã®æ°ããªäžæ©ã§ããã ããã§ãHelm 2 ã®äœ¿çšæã«ããçºçããæ§æã®åæã«é¢ããåé¡ãå¿ããããšãã§ããŸããåæã«ãæ¢ã«ããŠã³ããŒãããã Kubernetes ãªãœãŒã¹ãæ¡çšãããšããæ°ãã䟿å©ãªæ©èœã Helm ãªãªãŒã¹ã«è¿œå ãããŸããã
Helm ã®ãããªãããã€ã¡ã³ãã«ã¯ãGo ãã³ãã¬ãŒãã®äœ¿çšãªã©ã®åé¡ã課é¡ããŸã ããã€ããããŸããããããã«ã€ããŠã¯åŒãç¶ãåãçµãã§ãããŸãã
ãªãœãŒã¹ã®æŽæ°æ¹æ³ãšæ¡çšã«é¢ããæ
å ±ã¯ã次ã®å Žæã«ããããŸãã
ãã«ã 3
ç¹çã«å€ãã
Werf åŽã§ã¯ãçŸåš Tiller ã®äœ¿çšãå»æ¢ãã3-way-merge ã«åãæ¿ããŠè¿œå ããŸããã
ãã ããwerf ãã Helm 3 ã³ãŒãããŒã¹ãžã®åãæ¿ãã¯é¿ãããããè¿ãå°æ¥ã«è¡ãããäºå®ã§ãã ããããããã㯠werf 1.1 ãŸã㯠werf 1.2 ã«ãªããŸã (çŸæç¹ã§ã¯ãwerf ã®ã¡ã€ã³ ããŒãžã§ã³ã¯ 1.0 ã§ããwerf ããŒãžã§ã³ç®¡çããã€ã¹ã®è©³çŽ°ã«ã€ããŠã¯ããwerf ããŒãžã§ã³ç®¡çããã€ã¹ããåç
§ããŠãã ãã)ã
PS
ç§ãã¡ã®ããã°ããèªã¿ãã ãã:
- werf ã®ã€ãããŒã·ã§ã³ã«é¢ããäžé£ã®ã¡ã¢:
- «
wef ã䜿çšããŠè€é㪠Helm ãã£ãŒããå±éãã "; - «
werf ã§ã®ã¢ããªããžããªãšãã«ããªããžããªã®ãµããŒããšãDocker ã¬ãžã¹ããªã¯ãããšäœã®é¢ä¿ããããŸãã "; - «
éåžžã® Dockerfile ã䜿çšããŠãwerf 㧠Docker ã€ã¡ãŒãžãæ§ç¯ã§ããããã«ãªããŸãã 'ã
- «
- «
werf - Kubernetes ã® CI / CD çšããŒã« (æŠèŠãšãããªã¬ããŒã) "; - «
werf ãš GitLab CI ã䜿çšããŠåãã¿ã€ãã®ãã€ã¯ããµãŒãã¹ãæ§ç¯ããŠãããã€ãã "; - «
Helm 3 ã®çŽ¹ä» 'ã
åºæïŒ habr.com