ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ сравнСниС Π½Π° Kubernetes Apply, Replace ΠΈ Patch

Kubernetes ΠΈΠΌΠ° няколко ΠΎΠΏΡ†ΠΈΠΈ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° рСсурси: ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅, корСкция ΠΈ замяна. Има ΠΎΠ±ΡŠΡ€ΠΊΠ²Π°Π½Π΅ относно Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ всСки ΠΎΡ‚ тях ΠΈ ΠΊΠΎΠ³Π° Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. НСка Π΄Π° Π³ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ.

ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ сравнСниС Π½Π° Kubernetes Apply, Replace ΠΈ Patch

Π°ΠΊΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π² Google сС Π½Π°ΠΌΠΈΡ€Π° Ρ„Ρ€Π°Π·Π°Ρ‚Π° β€žkubernetes apply vs replaceβ€œ. ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° StackOverflow, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ. ΠŸΡ€ΠΈ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ β€žkubernetes apply vs patchβ€œ ΠΏΡŠΡ€Π²Π°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠ° Π΅ докумСнтацията Π·Π° kubectl patch, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π° сравнСниС apply ΠΈ patch. Π’Π°Π·ΠΈ статия Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° всяка ΠΎΡ‚ тях.

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ТизнСния Ρ†ΠΈΠΊΡŠΠ» Π½Π° рСсурс Π½Π° Kubernetes (услуга, внСдряванС, Π²Π»ΠΈΠ·Π°Π½Π΅ ΠΈ Ρ‚.Π½.) понякога трябва Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ някои свойства Π½Π° Ρ‚ΠΎΠ·ΠΈ рСсурс. НапримСр, Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Π±Π΅Π»Π΅ΠΆΠΊΠ°, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π½Π°ΠΌΠ°Π»Π΅Ρ‚Π΅ броя Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅.

Kubernetes CLI

Ако Π²Π΅Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ Π½Π° Kubernetes Ρ‡Ρ€Π΅Π· CLI, Π²Π΅Ρ‡Π΅ стС Π·Π°ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ с apply ΠΈ edit. Π•ΠΊΠΈΠΏ apply Ρ‡Π΅Ρ‚Π΅ спСцификацията Π½Π° рСсурса ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΏΡ€Π°Π²ΠΈ "upsert" към ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Kubernetes, Ρ‚.Π΅. създава рСсурса, Π°ΠΊΠΎ Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° ΠΈ Π³ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°, Π°ΠΊΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°. Π•ΠΊΠΈΠΏ edit Ρ‡Π΅Ρ‚Π΅ рСсурс Ρ‡Ρ€Π΅Π· API, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ записва спСцификацията Π½Π° рСсурса Π² Π»ΠΎΠΊΠ°Π»Π΅Π½ Ρ„Π°ΠΉΠ», ΠΊΠΎΠΉΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° сС отваря Π² тСкстов Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΈ Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Π°, kubectl Ρ‰Π΅ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Ρ‡Ρ€Π΅Π· API, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ Ρ‰Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ към рСсурса.

НС всСки Π·Π½Π°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ patch ΠΈ replace. Π•ΠΊΠΈΠΏ patch Π²ΠΈ позволява Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ част ΠΎΡ‚ спСцификация Π½Π° рСсурс, прСдоставяйки само ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π°Ρ‚Π° част Π½Π° командния Ρ€Π΅Π΄. Π•ΠΊΠΈΠΏ replace Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ ΠΊΠ°Ρ‚ΠΎ edit, Π½ΠΎ всичко трябва Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ€ΡŠΡ‡Π½ΠΎ: трябва Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия Π½Π° спСцификацията Π½Π° рСсурса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ kubectl get -o yaml, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ Π³ΠΎ ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ replace Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° рСсурс спорСд ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π° спСцификация. Π•ΠΊΠΈΠΏ replace няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π°ΠΊΠΎ Π½Π°ΡΡ‚ΡŠΠΏΡΡ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ ΠΈ подмяната Π½Π° рСсурса.

API Π½Π° Kubernetes

ВСроятно стС Π·Π°ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ CoreV1().Pods().Update(), replaceNamespacedService ΠΈΠ»ΠΈ patch_namespaced_deployment, Π°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ Ρ‡Ρ€Π΅Π· клиСнтска Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° Kubernetes API ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ някакъв Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Ρ‡Ρ€Π΅Π· HTTP заявки, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ PUT ΠΈ PATCH... ΠŸΡ€ΠΈ Ρ‚ΠΎΠ²Π° update ΠΈ replace употрСбяван PUTИ patch, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π½ΠΎ Π΄Π° Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° PATCH.

ЗаслуТава Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ kubectl ΡΡŠΡ‰ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ Ρ‡Ρ€Π΅Π· API. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, kubectlΠ΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π²ΡŠΡ€Ρ…Ρƒ клиСнтската Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° Π΅Π·ΠΈΠΊΠ° Go, която Π΄ΠΎ голяма стСпСн прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° прСдоставянС Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΠΏΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π° ΠΈ Ρ‡Π΅Ρ‚Π»ΠΈΠ²Π° Ρ„ΠΎΡ€ΠΌΠ° Π² допълнСниС към стандартнитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° API. НапримСр, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π²Π΅Ρ‡Π΅ стС забСлязали, ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ apply Π½Π΅ бСшС спомСнато ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π² прСдходния ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° (ΠΌΠ°ΠΉ 2020 Π³. ΠΏΡ€ΠΈΠ±Π». ΠΏΡ€Π΅Π²ΠΎΠ΄Π°Ρ‡) цялата Π»ΠΎΠ³ΠΈΠΊΠ° kubectl apply, Ρ‚.Π΅. създаванС Π½Π° Π½Π΅ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ рСсурси ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ, Ρ€Π°Π±ΠΎΡ‚ΠΈ изцяло ΠΎΡ‚ страна Π½Π° ΠΊΠΎΠ΄Π° kubectl. ΠŸΠΎΠ»Π°Π³Π°Ρ‚ сС усилия Π½Π° логичСски трансфСр apply към страната Π½Π° API, Π½ΠΎ всС ΠΎΡ‰Π΅ Π΅ Π² Π±Π΅Ρ‚Π° вСрсия. По-Π΄ΠΎΠ»Ρƒ Ρ‰Π΅ пиша ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

ΠŸΠ°Ρ‡ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅

Най-Π΄ΠΎΠ±Ρ€Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ patch, Π°ΠΊΠΎ искатС Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ рСсурса. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΈ Π΄Π²Π΅Ρ‚Π΅ клиСнтски Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ работят Π²ΡŠΡ€Ρ…Ρƒ Kubernetes API ΠΈ kubectl (Π½Π΅ Π΅ ΠΈΠ·Π½Π΅Π½Π°Π΄Π²Π°Ρ‰ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π΅ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° клиСнтската Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΏΡ€ΠΈΠ±Π». ΠΏΡ€Π΅Π²ΠΎΠ΄Π°Ρ‡).

Π Π°Π±ΠΎΡ‚Π΅Ρ‚Π΅ стратСгичСски

Всички ΠΎΡ‚Π±ΠΎΡ€ΠΈ kubectl apply, edit ΠΈ patch ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° PATCH Π² HTTP заявки Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ рСсурс. Ако сС Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΡ‚Π΅ Π² ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π° всички Ρ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° корСкция Π½Π° стратСгичСско сливанС Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° рСсурситС, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° patch ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ (ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ). ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡŠΡ‚ Π·Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π΅ Π½Π° стратСгичСско сливанС сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° "ΠΎΠΏΡ€Π°Π²ΠΈ Π½Π΅Ρ‰Π°Ρ‚Π°" Ρ‡Ρ€Π΅Π· сливанС Π½Π° прСдоставСната спСцификация със ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π°Ρ‚Π° спСцификация. По-ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Ρ‚ΠΎΠΉ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ масиви, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ са склонни Π΄Π° сС добавят. НапримСр изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° patch с Π½ΠΎΠ²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° срСдата Π² спСцификацията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π° pod, ΠΊΠ°Ρ€Π° Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° срСдата Π΄Π° бъдС Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата, вмСсто Π΄Π° Π³ΠΈ прСзаписва. Π—Π° Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ Ρ‡Ρ€Π΅Π· Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, трябва Π΄Π° ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅ стойността Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π΄Π° бъдС Π½ΡƒΠ»Π° Π² прСдоставСната спСцификация. Кой ΠΎΡ‚ ΠΎΡ‚Π±ΠΎΡ€ΠΈΡ‚Π΅ kubectl Най-Π΄ΠΎΠ±Ρ€Π΅ Π»ΠΈ Π΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅?

Ако ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΈ управляватС своитС рСсурси с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° kubectl apply, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° kubectl applyΠ—Π° kubectl ΠΌΠΎΠΆΠ΅ Π΄Π° управлява конфигурацията ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° прослСдява исканитС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ прСдимство apply Π΅, Ρ‡Π΅ Ρ‚ΠΎΠΉ слСди ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Π° спСцификация, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΡƒ позволява Π΄Π° Π·Π½Π°Π΅ ΠΊΠΎΠ³Π° свойствата Π½Π° спСцификацията ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° масива са ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ. Π’ΠΎΠ²Π° Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ apply Π·Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° свойства ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° масив, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ стратСгичСско сливанС няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π•ΠΊΠΈΠΏΠΈ edit ΠΈ patch Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°ΠΉΡ‚Π΅ Π±Π΅Π»Π΅ΠΆΠΊΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ kubectl apply ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° прослСдяванС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ си, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС прослСдяват ΠΈ правят Ρ‡Ρ€Π΅Π· API Π½Π° Kubernetes, Π½ΠΎ сС правят Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ edit ΠΈ patch, Π½Π΅Π²ΠΈΠ΄ΠΈΠΌ Π·Π° слСдващитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ applyΠ’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ apply Π½Π΅ Π³ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ Π½Π΅ сС появяват във Π²Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° спСцификация Π·Π° apply (ДокумСнтацията ΠΊΠ°Π·Π²Π° Ρ‚ΠΎΠ²Π° edit ΠΈ patch ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ Π±Π΅Π»Π΅ΠΆΠΊΠΈ apply, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° - Π½Π΅).

Ако Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° apply, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ editИ patch, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, която Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ отговаря Π½Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π°Ρ‚Π° промяна. ΠšΠΎΠ³Π°Ρ‚ΠΎ добавятС ΠΈ промСнятС свойства Π½Π° BOM, Π΄Π²Π°Ρ‚Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° са ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Π΄Π½Π°ΠΊΠ²ΠΈ. ΠŸΡ€ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° свойства Π½Π° спСцификация ΠΈΠ»ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° масив edit сС Π΄ΡŠΡ€ΠΆΠΈ ΠΊΠ°Ρ‚ΠΎ Π΅Π΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ стартиранС apply, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ прослСдяванС ΠΊΠ°ΠΊΠ²Π° Π΅ Π±ΠΈΠ»Π° спСцификацията ΠΏΡ€Π΅Π΄ΠΈ ΠΈ слСд Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΉ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ свойства ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° масив ΠΎΡ‚ рСсурс. Врябва ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ стойността Π½Π° свойството Π½Π° Π½ΡƒΠ»Π° Π² спСцификацията Π·Π° patchΠ·Π° Π΄Π° Π³ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ ΠΎΡ‚ рСсурса. ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ масив Ρ‡Ρ€Π΅Π· корСкция Π½Π° стратСгичСско сливанС Π΅ ΠΏΠΎ-слоТно, Π·Π°Ρ‰ΠΎΡ‚ΠΎ изисква ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΈ Π·Π° сливанС. Π’ΠΈΠΆΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Π·Π° Π½Π°Π΄Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Π·Π° ΠΏΠΎ-ТизнСспособни Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈ.

Π—Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π² клиСнтската Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΊΠΎΠΈΡ‚ΠΎ сС Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ΠΏΠΎ-Π³ΠΎΡ€Π΅ kubectl, трябва Π΄Π° сС Π·Π°Π΄Π°Π΄Π΅ Π² заявкитС content-type Π² application/strategic-merge-patch+json. Ако искатС Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ свойства Π² спСцификация, трябва ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ стойности Π½Π° null ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ kubectl patch. Ако трябва Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ масив, трябва Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΈ Π·Π° сливанС Π² спСцификацията Π·Π° актуализация ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅.

Π”Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Kubernetes ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅: ΠšΠΎΡ€Π΅ΠΊΡ†ΠΈΡ Π·Π° сливанС Π½Π° JSON ΠΈ JSON ΠΏΠ°Ρ‡. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡŠΡ‚ Π·Π° корСкция Π½Π° сливанС JSON ΠΏΡ€ΠΈΠ΅ΠΌΠ° частична спСцификация Π½Π° Kubernetes ΠΊΠ°Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° обСдиняванС Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π½Π° корСкция Π½Π° стратСгичСско сливанС. Π Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π΅Ρ‚Π΅ Π΅, Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° само замяна Π½Π° масив, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ масива Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π² спСцификацията Π½Π° pod. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ корСкция Π·Π° сливанС Π½Π° JSON, трябва Π΄Π° прСдоставитС пълни спСцификации Π·Π° всички ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π² случай Ρ‡Π΅ някоС свойство Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ ΠΈ Π΄Π° Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊΠ° Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π·Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ масив Π² BOM. Π’ командния Ρ€Π΅Π΄ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ корСкция Π·Π° сливанС Π½Π° JSON с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° kubectl patch --type=merge. ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с Kubernetes API, трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π° заявка PATCH ΠΈ ΠΌΠΎΠ½Ρ‚Π°ΠΆ content-type Π² application/merge-patch+json.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡŠΡ‚ Π·Π° корСкция Π½Π° JSON, вмСсто Π΄Π° прСдоставя частична спСцификация Π½Π° рСсурс, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° прСдоставянСто Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ искатС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π² рСсурса, ΠΊΠ°Ρ‚ΠΎ масив, Π² ΠΊΠΎΠΉΡ‚ΠΎ всСки Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ масива прСдставлява описаниС Π½Π° промяната, която сС ΠΏΡ€Π°Π²ΠΈ Π² рСсурса. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅ ΠΏΠΎ-гъвкав ΠΈ ΠΌΠΎΡ‰Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° изразяванС Π½Π° Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π½ΠΎ с Ρ†Π΅Π½Π°Ρ‚Π° Π½Π° изброяванС Π½Π° Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ Kubernetes, вмСсто ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° частична спСцификация Π½Π° рСсурса. IN kubectl ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ JSON корСкция с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° kubectl patch --type=json. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Kubernetes API, Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π° заявка PATCH ΠΈ ΠΌΠΎΠ½Ρ‚Π°ΠΆ content-type Π² application/json-patch+json.

ИмамС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ увСрСност - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ replace

Π’ някои случаи трябва Π΄Π° стС сигурни, Ρ‡Π΅ Π½Π΅ са Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π΄Π°Π΄Π΅Π½ рСсурс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π΅ΡΡƒΡ€ΡΡŠΡ‚ Π΅ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½, ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, трябва Π΄Π° стС сигурни, Ρ‡Π΅ всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π°Ρ‚ΠΎΠΌΠ΅Π½. Π’ Ρ‚ΠΎΠ·ΠΈ случай, Π·Π° Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ рСсурситС, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ replace. НапримСр, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ConfigMap с брояч, ΠΊΠΎΠΉΡ‚ΠΎ сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΎΡ‚ мноТСство ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ, трябва Π΄Π° стС сигурни, Ρ‡Π΅ Π΄Π²Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ брояча Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π°Π³ΡƒΠ±Π° Π½Π° актуализацията. Π—Π° Π΄Π° дСмонстриратС, прСдставСтС си ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° patch:

  • A ΠΈ B ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° рСсурса ΠΎΡ‚ API
  • ВсСки Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ спСцификацията, ΠΊΠ°Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° брояча с Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΈ добавя ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ β€žAβ€œ ΠΈΠ»ΠΈ β€žBβ€œ към Π±Π΅Π»Π΅ΠΆΠΊΠ°Ρ‚Π° β€žΠ°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚β€œ.
  • И Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° рСсурса ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ
  • B Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° рСсурса

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° актуализация A сС Π³ΡƒΠ±ΠΈ. ПослСдна опСрация patch ΠΏΠ΅Ρ‡Π΅Π»ΠΈ, Π±Ρ€ΠΎΡΡ‡ΡŠΡ‚ сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° с Π΅Π΄Π½ΠΎ вмСсто с Π΄Π²Π΅ ΠΈ стойността Π½Π° Π±Π΅Π»Π΅ΠΆΠΊΠ°Ρ‚Π° "Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚" Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° с "B" ΠΈ Π½Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° "A". НСка сравним Π³ΠΎΡ€Π½ΠΎΡ‚ΠΎ с Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ сС случва, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° replace:

  • A ΠΈ B ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° рСсурса ΠΎΡ‚ API
  • ВсСки Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ спСцификацията, ΠΊΠ°Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° брояча с Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΈ добавя ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ β€žAβ€œ ΠΈΠ»ΠΈ β€žBβ€œ към Π±Π΅Π»Π΅ΠΆΠΊΠ°Ρ‚Π° β€žΠ°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚β€œ.
  • И Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° рСсурса ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ
  • B сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° рСсурса, Π½ΠΎ актуализацията Π΅ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½Π° ΠΎΡ‚ API, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ вСрсията Π½Π° рСсурса Π΅ Π² спСцификацията replace Π½Π΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия Π½Π° рСсурса Π² Kubernetes, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ вСрсията Π½Π° рСсурса Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° ΠΎΡ‚ опСрацията Π·Π° замяна Π½Π° A.

Π’ горния случай B Ρ‰Π΅ трябва Π΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ рСсурса, Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΈ Π΄Π° ΠΎΠΏΠΈΡ‚Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ replace. Π’ΠΎΠ²Π° Ρ‰Π΅ Π½Π°ΠΊΠ°Ρ€Π° брояча Π΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ с Π΄Π²Π΅ ΠΈ Π±Π΅Π»Π΅ΠΆΠΊΠ°Ρ‚Π° β€žΠ°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚β€œ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° β€ž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 -

Π‘Ρ‚Ρ€ΡƒΠ²Π° си Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ слСднитС Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, изпълнСни послСдоватСлно, Ρ‰Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ 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, трябва Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ Π΄Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡŠΡ€Π²ΠΎ трябва Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ рСсурса, ΠΊΠ°Ρ‚ΠΎ настроитС Π·Π° Π½Π΅Π³ΠΎ gracePeriodSeconds Π΄ΠΎ Π½ΡƒΠ»Π° (0) ΠΈ propagationPolicy във β€žΠ€ΠΎΠ½β€œ ΠΈ слСд Ρ‚ΠΎΠ²Π° ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Ρ‚ΠΎΠ·ΠΈ рСсурс с ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° спСцификация.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ опасСн ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ страната Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°

ΠšΠ°ΠΊΡ‚ΠΎ Π±Π΅ спомСнато ΠΏΠΎ-Π³ΠΎΡ€Π΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Kubernetes работят Π²ΡŠΡ€Ρ…Ρƒ внСдряванСто Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° apply Π½Π° kubectl Π² API Π½Π° Kubernetes. Π›ΠΎΠ³ΠΈΠΊΠΈ 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, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ самостоятСлно написани скриптовС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ клиСнтски Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚

Надявам сС, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΊΡ€Π°Ρ‚ΡŠΠΊ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° рСсурси Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ Π΅ Π±ΠΈΠ» ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π·Π° вас. Π”ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Π΅ Π½Π΅ Π΅ просто ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ срСщу замяна; възмоТно Π΅ Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ рСсурс Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅, корСкция ΠΈΠ»ΠΈ замяна. Π’ края Π½Π° ΠΊΡ€Π°ΠΈΡ‰Π°Ρ‚Π°, ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ всСки ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠΌΠ° своя област Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π—Π° Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ замСстванСто Π΅ Π·Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½Π΅; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ корСкция Π·Π° стратСгичСско сливанС Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅. Най-ΠΌΠ°Π»ΠΊΠΎΡ‚ΠΎ ΠΎΡ‡Π°ΠΊΠ²Π°ΠΌ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Google ΠΈΠ»ΠΈ StackOerflow, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‚ΡŠΡ€ΡΠΈΡ‚Π΅ β€žkubernetes apply vs replaceβ€œ. ПонС Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ статия Π½Π΅ Π·Π°ΠΌΠ΅Π½ΠΈ тСкущия ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€.

ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ сравнСниС Π½Π° Kubernetes Apply, Replace ΠΈ Patch

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€