Kubernetes ã«ã¯ããªãœãŒã¹ãæŽæ°ããããã®ããã€ãã®ãªãã·ã§ã³ (é©çšãç·šéããããã眮æ) ããããŸãã ãããããäœãããã®ãããã€äœ¿çšããã®ãã«ã€ããŠã¯æ··ä¹±ããããŸãã ãããçè§£ããŸãããã

ãã ãkubernetes apply vs replaceããšãããã¬ãŒãºãèŠã€ãããŸãã ãããã¯æ£ãããããŸããã ãkubernetes apply vs patchãæåã®ãªã³ã¯ã¯ã次ã®ããã¥ã¡ã³ãã§ãã kubectl patchãæ¯èŒã¯å«ãŸããŸãã apply О patchã ãã®èšäºã§ã¯ãããŸããŸãªãªãã·ã§ã³ãšããããã®é©åãªäœ¿ç𿹿³ã«ã€ããŠèª¬æããŸãã
Kubernetes ãªãœãŒã¹ã®ã©ã€ããµã€ã¯ã« (ãµãŒãã¹ããããã€ãã€ã³ã°ã¬ã¹ãªã©) äžã«ããã®ãªãœãŒã¹ã®äžéšã®ããããã£ã倿Žã远å ãåé€ããå¿ èŠãããå ŽåããããŸãã ããšãã°ãã¡ã¢ã远å ããããã¬ããªã«ã®æ°ã墿žãããããŸãã
Kubernetes CLI
ãã§ã« CLI çµç±ã§ Kubernetes ã¯ã©ã¹ã¿ãŒãæäœããŠããå Žåã¯ããã§ã«æ
£ããŠããã¯ãã§ãã apply О edit. ããŒã apply ãã¡ã€ã«ãããªãœãŒã¹ä»æ§ãèªã¿åããKubernetes ã¯ã©ã¹ã¿ãŒã«å¯ŸããŠãupsertããå®è¡ããŸãã ãªãœãŒã¹ãååšããªãå Žåã¯äœæããååšããå Žåã¯æŽæ°ããŸãã ããŒã edit API ãä»ããŠãªãœãŒã¹ãèªã¿åãããªãœãŒã¹ä»æ§ãããŒã«ã« ãã¡ã€ã«ã«æžã蟌ã¿ããã®ãã¡ã€ã«ãããã¹ã ãšãã£ã¿ã§éããŸãã ãã¡ã€ã«ãç·šéããŠä¿åãããã kubectl ã¯è¡ããã倿Žã API çµç±ã§éãè¿ãããããã®å€æŽããªãœãŒã¹ã«æ
éã«é©çšããŸãã
誰ããã³ãã³ããç¥ã£ãŠããããã§ã¯ãããŸãã patch О replace. ããŒã patch ãªãœãŒã¹ä»æ§ã®äžéšã倿Žãã倿Žãããéšåã®ã¿ãã³ãã³ãã©ã€ã³ã«æå®ã§ããŸãã ããŒã replace ãšåãããã«æ©èœããŸã editãã ãããã¹ãŠãæåã§è¡ãå¿
èŠããããŸããããšãã°ã次ã®ããã«ããŠãªãœãŒã¹ä»æ§ã®çŸåšã®ããŒãžã§ã³ãããŠã³ããŒãããå¿
èŠããããŸãã kubectl get -o yamlç·šéããŠãã䜿çšããŠãã ãã replace 倿Žããã仿§ã«åŸã£ãŠãªãœãŒã¹ãæŽæ°ããŸãã ããŒã replace ãªãœãŒã¹ã®èªã¿åããšçœ®æã®éã«å€æŽãçºçããå Žåãæ©èœããŸããã
Kubernetes API
ããªãã¯ãããããã®æ¹æ³ã«ç²ŸéããŠããã§ããã CoreV1().Pods().Update(), replaceNamespacedService ãŸã㯠patch_namespaced_deploymentãã¯ã©ã¹ã¿ãŒã䜿çšããŠäœæ¥ããå Žåã¯ã äœããã®ããã°ã©ãã³ã°èšèªã䜿çšããŠã ã©ã€ãã©ãªã¯ã次ã®ã¡ãœããã䜿çšã㊠HTTP ãªã¯ãšã¹ãçµç±ã§ãããã®ã¡ãœãããåŠçããŸãã PUT О PATCHã ãã®å Žåã¯ã update О replace 䜿çšãã PUTãš patchããšããããã©ããªã«äºçްãªããšã§ãã£ãŠãã PATCH.
ããã¯ãããšã¯æ³šç®ã«å€ããŸã kubectl API çµç±ã§ã¯ã©ã¹ã¿ãŒãšã飿ºããŸãã èšãæãããšã kubectl㯠Go èšèªã®ã¯ã©ã€ã¢ã³ã ã©ã€ãã©ãªäžã®ã©ãããŒã§ãããæšæºã® API æ©èœã«å ããŠãããã³ã³ãã¯ãã§èªã¿ããã圢åŒã§ãµãã³ãã³ããæäŸããæ©èœãäž»ã«æäŸããŸãã ããšãã°ããã§ã«ãæ°ã¥ããããããŸãããããã®ã¡ãœãã㯠apply åã®æ®µèœã§ã¯èšåãããŠããŸããã§ããã çŸåšïŒ2020幎XNUMXæïŒ çŽã 翻蚳è
) ãã¹ãŠã®ããžã㯠kubectl applyãã€ãŸãååšããªããªãœãŒã¹ã®äœæãšæ¢åã®ãªãœãŒã¹ã®æŽæ°ã¯ãå®å
šã«ã³ãŒãåŽã§æ©èœããŸã kubectlã åãçµã¿ãè¡ãããŠããŸã apply API åŽã§ããããŸã ããŒã¿çã§ãã 以äžã«è©³ããæžããŸãã
ããã©ã«ãã§ããããé©çšãã
æããã䜿ããã patchããªãœãŒã¹ãæŽæ°ããå Žåã ãã®ããã«ããŠãäž¡æ¹ã®ã¯ã©ã€ã¢ã³ã ã©ã€ãã©ãªã Kubernetes API äžã§åäœãã kubectl (ããã¯ã¯ã©ã€ã¢ã³ã ã©ã€ãã©ãªã®ã©ãããŒãªã®ã§åœç¶ã®ããšã§ããã çŽã 翻蚳è
).
æŠç¥çã«åãçµã
ãã¹ãŠã®ããŒã kubectl apply, edit О patch æ¹æ³ã䜿ã PATCH HTTP ãªã¯ãšã¹ãã§æ¢åã®ãªãœãŒã¹ãæŽæ°ããŸãã ã³ãã³ãã®å®è£
ãããã«è©³ãã調ã¹ããšããã¹ãŠã®ã³ãã³ãã§æ¬¡ã®ã¢ãããŒãã䜿çšãããŸãã ãªãœãŒã¹ãæŽæ°ããã«ã¯ãã³ãã³ã patch ä»ã®ã¢ãããŒãã䜿çšããããšãã§ããŸã (ããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸã)ã æŠç¥çããŒãž ãããé©çšã¢ãããŒãã§ã¯ãæäŸããã仿§ãæ¢åã®ä»æ§ãšããŒãžããããšã§ãæ£ããçè§£ãããããšã詊ã¿ãŸãã ããå
·äœçã«ã¯ããªããžã§ã¯ããšé
åã®äž¡æ¹ãçµåããããšããŸããããã¯ã倿Žã远å çã«ãªãåŸåãããããšãæå³ããŸãã ããšãã°ã次ã®ã³ãã³ããå®è¡ãããšã patch ããã ã³ã³ãããŒä»æ§ã«æ°ããç°å¢å€æ°ã䜿çšãããšããã®ç°å¢å€æ°ã¯æ¢åã®ç°å¢å€æ°ãäžæžãããã®ã§ã¯ãªããæ¢åã®ç°å¢å€æ°ã«è¿œå ãããŸãã ãã®ã¢ãããŒãã䜿çšããŠåé€ããã«ã¯ãæå®ããã仿§ã§ãã©ã¡ãŒã¿å€ã匷å¶çã« null ã«ããå¿
èŠããããŸãã ã©ã®ããŒã ã kubectl ã¢ããããŒãã«äœ¿çšããã®ãæé©ã§ãã?
ã䜿çšããŠãªãœãŒã¹ãäœæããã³ç®¡çããå Žåã kubectl applyãæŽæ°ãããšãã¯åžžã«äœ¿çšããããšããå§ãããŸã kubectl applyã« kubectl æ§æã管çããã¢ããªã±ãŒã·ã§ã³ããšã«èŠæ±ããã倿Žãé©åã«è¿œè·¡ã§ããŸãã åžžã«äœ¿çšããå©ç¹ apply ããã¯ã以åã«é©çšããã仿§ã远跡ãã仿§ã®ããããã£ãšé
åèŠçŽ ããã€æç€ºçã«åé€ãããããç¥ãããšãã§ãããšããããšã§ãã ããã«ããã䜿çšã§ããããã«ãªããŸã apply ããããã£ãšé
åèŠçŽ ãåé€ããã«ã¯ãéåžžã®æŠç¥çããŒãžã¯æ©èœããŸããã ããŒã edit О patch ããŒããæŽæ°ããªãã§ãã ãã kubectl apply ã䜿çšããŠå€æŽã远跡ããããã倿Žã¯ Kubernetes API ãéããŠè¿œè·¡ããã³è¡ãããŸãããã³ãã³ããéããŠè¡ãããŸãã edit О patchãåŸç¶ã®ã³ãã³ãã«ã¯è¡šç€ºãããŸãã applyã€ãŸãã apply ã®å
¥å仿§ã«çŸããªãå Žåã§ãããããã¯åé€ãããŸããã apply (ããã¥ã¡ã³ãã«ã¯ããæžããŠãããŸã) edit О patch 䜿çšããã¡ã¢ãæŽæ°ãã applyããããå®éã«ã¯ - ãããïŒã
ã³ãã³ãã䜿çšããªãå Žå applyããšããŠäœ¿çšã§ããŸã editãš patchãè¡ãããŠãã倿Žã«æãé©ããã³ãã³ããéžæããŸãã BOM ããããã£ã远å ããã³å€æŽããå Žåãã©ã¡ãã®ã¢ãããŒããã»ãŒåãã§ãã 仿§ããããã£ãŸãã¯é
åèŠçŽ ãåé€ããå Žå edit XNUMXåéãã®èµ·åã®ããã«åäœããŸã applyããã«ã¯ã仿§ãç·šéãããååŸã§ã©ã®ããã«ãªã£ãŠãããã远跡ããããšãå«ãŸããŸããããã«ããããªãœãŒã¹ããããããã£ãé
åèŠçŽ ãæç€ºçã«åé€ã§ããŸãã ã®ä»æ§ã§ããããã£å€ãæç€ºçã« null ã«èšå®ããå¿
èŠããããŸãã patchãªãœãŒã¹ããåé€ããŸãã æŠç¥çããŒãž ãããã䜿çšããŠé
åèŠçŽ ãåé€ããå Žåã¯ãããŒãž ãã£ã¬ã¯ãã£ãã䜿çšããå¿
èŠããããããããè€éã«ãªããŸãã ããå®è¡å¯èœãªä»£æ¿æ¡ã«ã€ããŠã¯ã以äžã®ä»ã®ã¢ããã°ã¬ãŒã ã¢ãããŒããåç
§ããŠãã ããã
äžèšã®ã³ãã³ããšåæ§ã«åäœããæŽæ°ã¡ãœãããã¯ã©ã€ã¢ã³ã ã©ã€ãã©ãªã«å®è£
ããã«ã¯ kubectlããªã¯ãšã¹ãã§èšå®ããå¿
èŠããããŸã content-type в application/strategic-merge-patch+jsonã 仿§å
ã®ããããã£ãåé€ãããå Žåã¯ãåæ§ã®æ¹æ³ã§ãããã®å€ãæç€ºçã« null ã«èšå®ããå¿
èŠããããŸãã kubectl patchã é
åèŠçŽ ãåé€ããå¿
èŠãããå Žåã¯ãæŽæ°ä»æ§ã«ããŒãž ãã£ã¬ã¯ãã£ããå«ããããæŽæ°ã«å¥ã®ã¢ãããŒãã䜿çšããå¿
èŠããããŸãã
ã¢ããããŒãã«å¯Ÿãããã®ä»ã®ã¢ãããŒã
Kubernetes ã¯ãä»ã® XNUMX ã€ã®æŽæ°ã¢ãããŒãããµããŒãããŠããŸãã О ã JSON ããŒãž ããã ã¢ãããŒãã¯ãéšåç㪠Kubernetes 仿§ãå
¥åãšããŠåãåããæŠç¥çããŒãž ãããé©çšã¢ãããŒããšåæ§ã®ãªããžã§ã¯ãã®ããŒãžããµããŒãããŸãã XNUMX ã€ã®éãã¯ãããã仿§ã®ã³ã³ããé
åãå«ãé
åã®çœ®æã®ã¿ããµããŒãããŠããããšã§ãã ããã¯ãJSON ããŒãž ãããã䜿çšããå Žåãã³ã³ãããŒã®ããããã£ã倿Žãããå Žåã«åããŠããã¹ãŠã®ã³ã³ãããŒã«å®å
šãªä»æ§ãæäŸããå¿
èŠãããããšãæå³ããŸãã ãããã£ãŠããã®ã¢ãããŒãã¯ãBOM å
ã®é
åããèŠçŽ ãåé€ããå Žåã«åœ¹ç«ã¡ãŸãã ã³ãã³ãã©ã€ã³ã§ã次ã䜿çšã㊠JSON ããŒãž ããããéžæã§ããŸãã kubectl patch --type=mergeã Kubernetes API ã䜿çšããå Žåã¯ããªã¯ãšã¹ã ã¡ãœããã䜿çšããå¿
èŠããããŸãã PATCH ãããŠã€ã³ã¹ããŒã« content-type в application/merge-patch+json.
JSON ãããã®ã¢ãããŒãã§ã¯ããªãœãŒã¹ã®éšå仿§ãæäŸããã®ã§ã¯ãªãããªãœãŒã¹ã«å ããã倿Žãé
åãšããŠæäŸããŸããé
åã®åèŠçŽ ã¯ããªãœãŒã¹ã«å ãããã倿Žã®èª¬æã衚ããŸãã ãã®ã¢ãããŒãã¯ãè¡ããã倿Žã衚çŸããããã®ããæè»ã§åŒ·åãªæ¹æ³ã§ãããéšåçãªãªãœãŒã¹ä»æ§ãéä¿¡ããã®ã§ã¯ãªããè¡ããã倿Žãå¥ã®é Kubernetes 圢åŒã§ãªã¹ããããšããã³ã¹ããããããŸãã ã§ kubectl ã䜿çšããŠJSONããããéžæã§ããŸã kubectl patch --type=jsonã Kubernetes API ã䜿çšããå Žåããã®ã¢ãããŒãã¯ãªã¯ãšã¹ã ã¡ãœããã䜿çšããŠæ©èœããŸãã PATCH ãããŠã€ã³ã¹ããŒã« content-type в application/json-patch+json.
èªä¿¡ãå¿ èŠã§ã - replace ã䜿çšããŠãã ãã
å Žåã«ãã£ãŠã¯ããªãœãŒã¹ãèªã¿åãããŠããæŽæ°ããããŸã§ã®éã«ãªãœãŒã¹ã«å€æŽãå ããããŠããªãããšã確èªããå¿
èŠããããŸãã èšãæããã°ããã¹ãŠã®å€æŽã次ã®ããã«è¡ãããããšã確èªããå¿
èŠããããŸãã ååã ãã®å ŽåããªãœãŒã¹ãæŽæ°ããã«ã¯æ¬¡ã䜿çšããå¿
èŠããããŸã replaceã ããšãã°ãè€æ°ã®ãœãŒã¹ã«ãã£ãп޿°ãããã«ãŠã³ã¿ãŒãå«ã ConfigMap ãããå ŽåãXNUMX ã€ã®ãœãŒã¹ãåæã«ã«ãŠã³ã¿ãŒãæŽæ°ããŠãæŽæ°ã倱ãããããšããªãããã«ããå¿
èŠããããŸãã å®èšŒããã«ã¯ã次ã®ã¢ãããŒãã䜿çšããŠäžé£ã®ã€ãã³ããæ³åããŠãã ããã patch:
- A ãš B 㯠API ãããªãœãŒã¹ã®çŸåšã®ç¶æ ãååŸããŸã
- ãããããã«ãŠã³ã¿ãŒã XNUMX ã€ã€ã³ã¯ãªã¡ã³ããããæŽæ°è ãã¡ã¢ã«ãããããAããŸãã¯ãBãã远å ããããšã§ä»æ§ãããŒã«ã«ã«æŽæ°ããŸãã
- ãããŠããªãœãŒã¹ã®æŽæ°ãå°ãéããªããŸã
- B ã¯ãªãœãŒã¹ãæŽæ°ããŸã
ãã®çµæãæŽæ° A ã¯å€±ãããŸãã æåŸã®æäœ patch åå©ãããšãã«ãŠã³ã¿ãŒã¯ XNUMX ã§ã¯ãªã XNUMX ãã€å¢å ãããæŽæ°è
ãããŒãã®å€ã¯ãBãã§çµããããAãã¯å«ãŸããŸããã äžèšãããã®ã¢ãããŒãã䜿çšããŠæŽæ°ãè¡ãããå Žåã«äœãèµ·ãããæ¯èŒããŠã¿ãŸãããã replace:
- A ãš B 㯠API ãããªãœãŒã¹ã®çŸåšã®ç¶æ ãååŸããŸã
- ãããããã«ãŠã³ã¿ãŒã XNUMX ã€ã€ã³ã¯ãªã¡ã³ããããæŽæ°è ãã¡ã¢ã«ãããããAããŸãã¯ãBãã远å ããããšã§ä»æ§ãããŒã«ã«ã«æŽæ°ããŸãã
- ãããŠããªãœãŒã¹ã®æŽæ°ãå°ãéããªããŸã
- B ã¯ãªãœãŒã¹ãæŽæ°ããããšããŸãããããªãœãŒã¹ã®ããŒãžã§ã³ã仿§ã«å«ãŸããŠãããããæŽæ°ã¯ API ã«ãã£ãŠæåŠãããŸããã
replaceãªãœãŒã¹ã®ããŒãžã§ã³ã¯ A ã®çœ®ææäœã«ãã£ãŠå¢å ããããããKubernetes ã®ãªãœãŒã¹ã®çŸåšã®ããŒãžã§ã³ãšäžèŽããŸããã
äžèšã®å ŽåãB ã¯ãªãœãŒã¹ãåãã§ããããæ°ããç¶æ
ã«å€æŽãå ããŠå詊è¡ããå¿
èŠããããŸãã replaceã ããã«ãããã«ãŠã³ã¿ãŒã XNUMX ã€å¢å ãããæŽæ°è
ãããŒãã®æåŸã«ãABããå«ãŸããŸãã
äžèšã®äŸã¯ãå®è¡æã« replace ãªãœãŒã¹å
šäœãå®å
šã«çœ®ãæããããŸãã 䜿çšããã仿§ replaceãéšåçãŸãã¯éšåçã§ãã£ãŠã¯ãªããŸããã applyããã ã远å ãå«ããŠå®äº resourceVersion 仿§ã¡ã¿ããŒã¿ã«çµã¿èŸŒãŸããŸãã æå¹ã«ããŠããªãå Žå resourceVersion ãŸãã¯ãæäŸãããããŒãžã§ã³ãææ°ã§ã¯ãªãå Žåã亀æã¯æåŠãããŸãã ãããã£ãŠã䜿çšããæè¯ã®ã¢ãããŒãã¯æ¬¡ã®ãšããã§ã replace â ãªãœãŒã¹ãèªã¿åããæŽæ°ããããã«çœ®ãæããŸãã 䜿çšãã kubectlãæ¬¡ã®ããã«ãªããŸãã
$ kubectl get deployment my-deployment -o json
| jq '.spec.template.spec.containers[0].env[1].value = "new value"'
| kubectl replace -f -次㮠XNUMX ã€ã®ã³ãã³ããé çªã«å®è¡ãããšãæ£åžžã«å®è¡ãããããšã«æ³šæããŠãã ããã deployment.yaml ããããã£ãå«ãŸããŠããŸãã .metadata.resourceVersion
$ kubectl create -f deployment.yaml
$ kubectl replace -f deployment.yamlããã¯äžã§è¿°ã¹ãããšãšççŸããŠããããã«èŠããŸãã ã远å resourceVersion 仿§ã®ã¡ã¿ããŒã¿ã«è¿œå ããŸããããšããèšãæ¹ã¯ééã£ãŠããŸãã? ããããããã§ã¯ãããŸããã kubectl æå®ããŠããªãããšã«æ°ã¥ããŸãã resourceVersionããªãœãŒã¹ãããããèªã¿åããæå®ãã仿§ã«è¿œå ããŠããå®è¡ããŸãã replaceã ã¢ãããã¯æ§ã«äŸåãããšæœåšçã«å±éºãªãããéæ³ã¯å®å
šã«ãµã€ãã§æ©èœããŸãã kubectlãAPI ã§åäœããã¯ã©ã€ã¢ã³ã ã©ã€ãã©ãªã䜿çšããå Žåã¯ãããã«äŸåããªãã§ãã ããã ãã®å ŽåãçŸåšã®ãªãœãŒã¹ä»æ§ãèªã¿åããæŽæ°ããŠããå®è¡ããå¿
èŠããããŸãã PUT ãªã¯ãšã¹ãã
ããããé©çšããããšã¯ã§ããŸããã亀æãè¡ããŸã
å Žåã«ãã£ãŠã¯ãAPI ã§ã¯åŠçã§ããªã倿Žãå ããå¿
èŠãããå ŽåããããŸãã ãã®ãããªå ŽåããªãœãŒã¹ãåé€ããŠåäœæããããšã§ããªãœãŒã¹ã匷å¶çã«çœ®ãæããããšãã§ããŸãã ããã¯æ¬¡ã䜿çšããŠè¡ãããŸã kubectl replace --forceã ã³ãã³ããå®è¡ãããšããªãœãŒã¹ããã ã¡ã«åé€ãããæäŸããã仿§ãããªãœãŒã¹ãåäœæãããŸãã API ã«ã¯ã匷å¶çœ®æããã³ãã©ãŒããããŸãããAPI ãéããŠãããè¡ãã«ã¯ãXNUMX ã€ã®æäœãå®è¡ããå¿
èŠããããŸãã ãŸãããªãœãŒã¹ãèšå®ããŠåé€ããå¿
èŠããããŸã gracePeriodSeconds ãŒã (0) ãš propagationPolicy ãããã¯ã°ã©ãŠã³ããã§ãã®ãªãœãŒã¹ãåäœæããå¿
èŠãªä»æ§ã§ãã®ãªãœãŒã¹ãåäœæããŸãã
èŠå: ãã®ã¢ãããŒãã¯æœåšçã«å±éºã§ãããæªå®çŸ©ã®ç¶æ ã«ã€ãªããå¯èœæ§ããããŸãã
ãµãŒããŒåŽã§é©çšãã
åè¿°ããããã«ãKubernetes éçºè
ã¯ããžãã¯ã®å®è£
ã«åãââçµãã§ããŸãã apply ã® kubectl Kubernetes API ã§ã ããžã㯠apply Kubernetes 1.18 ã§å©çšå¯èœ kubectl apply --server-side ãŸãã¯ã¡ãœããã䜿çšã㊠API çµç±ã§ PATCH Ñ content-type application/apply-patch+YAML.
泚: JSON ãæå¹ãª YAML ã§ãããããæ¬¡ã®ãããªå Žåã§ã仿§ã JSON ãšããŠéä¿¡ã§ããŸãã
content-typeæå¿application/apply-patch+yaml.
ãã®ããžãã¯ã®ã»ãã« kubectl APIçµç±ã§èª°ã§ãå©çšã§ããããã«ãªãã apply ãµãŒããŒåŽã§ã¯ã仿§å
ã®ãã£ãŒã«ãã®è²¬ä»»è
ã远跡ããç«¶åã®ãªãç·šéã®ããã®å®å
šãªè€æ°ã¢ã¯ã»ã¹ãå¯èœã«ããŸãã èšãæããã°ããã apply ãµãŒããŒåŽã§ã®æ©èœãããã«æ®åãããšãããŸããŸãªã¯ã©ã€ã¢ã³ã (kubectlãPulumi ãŸã㯠TerraformãGitOpsãã¯ã©ã€ã¢ã³ã ã©ã€ãã©ãªã䜿çšããèªå·±äœæã¹ã¯ãªãããªã©) çšã®ãŠãããŒãµã«ã§å®å
šãªãªãœãŒã¹ç®¡çã€ã³ã¿ãŒãã§ã€ã¹ãç»å Žããã§ãããã
çµæ
ã¯ã©ã¹ã¿ãŒå ã®ãªãœãŒã¹ãæŽæ°ããããŸããŸãªæ¹æ³ã«é¢ãããã®çãæŠèŠãã圹ã«ç«ãŠã°å¹žãã§ãã é©çšãšçœ®æã ãã§ã¯ãªããé©çšãç·šéããããããŸãã¯çœ®æã䜿çšããŠãªãœãŒã¹ãæŽæ°ã§ããããšãç¥ã£ãŠãããšäŸ¿å©ã§ãã çµå±ã®ãšãããååãšããŠãåã¢ãããŒãã«ã¯ç¬èªã®é©çšåéããããŸãã ã¢ãããã¯ãªå€æŽã®å Žåã¯ã眮æããããšããå§ãããŸããããã以å€ã®å Žåã¯ãé©çšã«ããæŠç¥çããŒãž ãããã䜿çšããå¿ èŠããããŸãã å°ãªããšãããkubernetes apply vs replaceããæ€çŽ¢ããå ŽåãGoogle ã StackOerflow ãä¿¡é Œã§ããªãããšã¯çè§£ããŠããã ãããšæããŸãã å°ãªããšããã®èšäºãçŸåšã®åçã眮ãæãããŸã§ã¯ã

åºæïŒ habr.com
