Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Kubernetes

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Kubernetes

ΠœΠΎΠ΄Π΅Ρ€Π½ΠΈΡΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ към ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π»Π΅ΠΆΠ°Ρ‰ΠΈ бизнСс ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ оркСстраторитС улСсняват ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ с всякаква слоТност, опростяват пусканСто Π½Π° Π½ΠΎΠ²ΠΈ вСрсии, правят Π³ΠΈ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ, Π½ΠΎ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡΡ‚ΡŠΡ‚, Π½Π° ΠΏΡŠΡ€Π²ΠΎ място, сС Π³Ρ€ΠΈΠΆΠΈ Π·Π° своя ΠΊΠΎΠ΄: Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, качСство, производитСлност, СлСгантност - Π° Π½Π΅ ΠΊΠ°ΠΊ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Kubernetes ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ тСства ΠΈ отстранява Π³Ρ€Π΅ΡˆΠΊΠΈ, слСд ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ Π΄ΠΎΡ€ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ съвсСм СстСствСно, Ρ‡Π΅ инструмСнтитС Π·Π° Kubernetes сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ, ΠΏΠΎΠΌΠ°Π³Π°ΠΉΠΊΠΈ Π΄Π° сС Ρ€Π΅ΡˆΠ°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π΄ΠΎΡ€ΠΈ Π½Π° Π½Π°ΠΉ-β€žΠ°Ρ€Ρ…Π°ΠΈΡ‡Π½ΠΈΡ‚Π΅β€œ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΈ ΠΈΠΌ позволява Π΄Π° сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡Π°Ρ‚ Π²ΡŠΡ€Ρ…Ρƒ основното.

Π’ΠΎΠ·ΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄ прСдоставя ΠΊΡ€Π°Ρ‚ΠΊΠ° информация Π·Π° някои ΠΎΡ‚ инструмСнтитС, ΠΊΠΎΠΈΡ‚ΠΎ улСсняват ΠΆΠΈΠ²ΠΎΡ‚Π° Π½Π° програмист, Ρ‡ΠΈΠΉΡ‚ΠΎ ΠΊΠΎΠ΄ сС изпълнява Π² pod'ax Π½Π° Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€.

ΠŸΡ€ΠΎΡΡ‚ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΡ†ΠΈ

Kubectl-debug

  • Долния Ρ€Π΅Π΄: Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ своя ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ към Pod ΠΈ Π²ΠΈΠΆΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ сС случва Π² Π½Π΅Π³ΠΎ.
  • GitHub.
  • ΠšΡ€Π°Ρ‚ΠΊΠ° статистика Π½Π° GH: 715 Π·Π²Π΅Π·Π΄ΠΈ, 54 ангаТирания, 9 ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ†ΠΈ.
  • Π•Π·ΠΈΠΊ: Go.
  • Π›ΠΈΡ†Π΅Π½Π·: Apache License 2.0.

Π’ΠΎΠ·ΠΈ плъгин Π·Π° kubectl Π²ΠΈ позволява Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²ΡŠΡ‚Ρ€Π΅ Π² интСрСсуващия Π²ΠΈ ΠΏΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ сподСля пространството ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° Π½Π° процСса с Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Π’ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° отстраняватС Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π°: Π΄Π° провСряватС ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, Π΄Π° ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅ мрСТовия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΈΠ· Π½Π° процСса, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ интСрСсува, ΠΈ Ρ‚.Π½.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ към ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π° процСса, ΠΊΠ°Ρ‚ΠΎ стартиратС chroot /proc/PID/root - Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ root shell Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π² манифСста securityContext.runAs.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΡŠΡ‚ Π΅ прост ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π·Π° всСки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. ΠŸΠΈΡΠ°Ρ…ΠΌΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° статия.

Π’Π΅Π»Π΅ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²ΠΈΠ΅

  • Долния Ρ€Π΅Π΄: ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° вашия ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΉΡ‚Π΅ ΠΈ отстранявайтС Π³Ρ€Π΅ΡˆΠΊΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ.
  • ΠœΡΡΡ‚ΠΎ; GitHub.
  • ΠšΡ€Π°Ρ‚ΠΊΠ° GH статистика: 2131 Π·Π²Π΅Π·Π΄ΠΈ, 2712 Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, 33 ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ†ΠΈ.
  • Π•Π·ΠΈΠΊ: Python.
  • Π›ΠΈΡ†Π΅Π½Π·: Apache License 2.0.

Π˜Π΄Π΅ΡΡ‚Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄ΡƒΠ» Π΅ ​​да стартира ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π° Π½Π° локалния ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» ΠΈ Π΄Π° проксира цСлия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‚ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° към Π½Π΅Π³ΠΎ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²ΠΈ позволява Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, ΠΊΠ°Ρ‚ΠΎ просто Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Π»ΡŽΠ±ΠΈΠΌΠ°Ρ‚Π° си IDE: Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π²Π΅Π΄Π½Π°Π³Π°.

ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²Π°Ρ‚Π° Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ изпълнСниС са удобството Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎ обичайния Π½Π°Ρ‡ΠΈΠ½. ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΡŠΡ‚ Π΅, Ρ‡Π΅ Π΅ взискатСлСн към скоростта Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ особСно Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с доста висок RPS ΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. ОсвСн Ρ‚ΠΎΠ²Π° Telepresence ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠΌΠΎΠ²Π΅ Π² Windows, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π΅ΡˆΠ°Π²Π°Ρ‰ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, свикнали с Ρ‚Π°Π·ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма.

Π’Π΅Ρ‡Π΅ сподСлихмС нашия ΠΎΠΏΠΈΡ‚ ΠΎΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Telepresence Ρ‚ΡƒΠΊ.

Ksync

  • Долния Ρ€Π΅Π΄: ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π° синхронизация Π½Π° ΠΊΠΎΠ΄Π° с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.
  • GitHub.
  • ΠšΡ€Π°Ρ‚ΠΊΠ° статистика Π½Π° GH: 555 Π·Π²Π΅Π·Π΄ΠΈ, 362 ангаТирания, 11 ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ†ΠΈ.
  • Π•Π·ΠΈΠΊ: Go.
  • Π›ΠΈΡ†Π΅Π½Π·: Apache License 2.0.

ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π²ΠΈ позволява Π΄Π° синхронизиратС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π° дирСктория с дирСкторията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. Вакъв инструмСнт Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° скриптови Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, Ρ‡ΠΈΠΉΡ‚ΠΎ основСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ доставянСто Π½Π° ΠΊΠΎΠ΄ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Ksync Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π΄Π° ΠΎΠ±Π»Π΅ΠΊΡ‡ΠΈ Ρ‚ΠΎΠ²Π° Π³Π»Π°Π²ΠΎΠ±ΠΎΠ»ΠΈΠ΅.

ΠšΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π° вСднъТ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ksync init Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° сС създава DaemonSet, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° наблюдСниС Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Π½Π° избрания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. На своя Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ изпълнява ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ksync watch, ΠΊΠΎΠΉΡ‚ΠΎ слСди ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ syncthing, ΠΊΠΎΠΉΡ‚ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ синхронизира Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ с ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

ΠžΡΡ‚Π°Π²Π° само Π΄Π° инструктирамС ksync ΠΊΠ°ΠΊΠ²ΠΎ с ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° синхронизира. НапримСр Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°:

ksync create --name=myproject --namespace=test --selector=app=backend --container=php --reload=false /home/user/myproject/ /var/www/myproject/

...Ρ‰Π΅ създадС Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π» с ΠΈΠΌΠ΅ myprojectΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ‚ΡŠΡ€ΡΠΈ ΠΏΠΎΠ΄ с Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ app=backend ΠΈ ΠΎΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ Π΄Π° синхронизиратС Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° дирСктория /home/user/myproject/ с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /var/www/myproject/ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ php.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π±Π΅Π»Π΅ΠΆΠΊΠΈ Π·Π° ksync ΠΎΡ‚ нашия ΠΎΠΏΠΈΡ‚:

  • Врябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΈ възли Π½Π° Kubernetes overlay2 ΠΊΠ°Ρ‚ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π·Π° Docker. ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈ.
  • ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Windows ΠΊΠ°Ρ‚ΠΎ клиСнтска ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма, Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡΡ‚ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ. Π’ΠΎΠ·ΠΈ бъг бСшС забСлязан ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ - с голям Π±Ρ€ΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Π‘ΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π° синхронизиранС, Π½ΠΎ всС ΠΎΡ‰Π΅ няма Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊ ΠΏΠΎ Π½Π΅Π³ΠΎ (ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° юли).
  • Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .stignore Π·Π° Π΄Π° посочитС ΠΏΡŠΡ‚ΠΈΡ‰Π° ΠΈΠ»ΠΈ шаблони Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ трябва Π΄Π° сС синхронизират (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ app/cache ΠΈ .git).
  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ksync Ρ‰Π΅ рСстартира ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡ€ΠΈ всяка промяна Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅. Π—Π° Node.js Ρ‚ΠΎΠ²Π° Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Π·Π° PHP Π΅ напълно излишно. По-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ opcache ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ„Π»Π°Π³Π° --reload=false.
  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡΡ‚Π° Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π° $HOME/.ksync/ksync.yaml.

ΡΠΊΡƒΠΎΡˆ

  • Долния Ρ€Π΅Π΄: отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² процСси Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.
  • GitHub.
  • ΠšΡ€Π°Ρ‚ΠΊΠ° GH статистика: 1154 Π·Π²Π΅Π·Π΄ΠΈ, 279 ангаТирания, 23 ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ†ΠΈ.
  • Π•Π·ΠΈΠΊ: Go.
  • Π›ΠΈΡ†Π΅Π½Π·: Apache License 2.0.

Π’ΠΎΠ·ΠΈ инструмСнт Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² процСси Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² pods. ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π΅ проста ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π²ΠΈ позволява Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ТСлания Π΄Π΅Π±ΡŠΠ³Π΅Ρ€ (Π²ΠΈΠΆ ΠΎΡ‚Π΄ΠΎΠ»Ρƒ) ΠΈ namespace + pod, Π² процСса Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° сС намСситС. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°:

  • delve - Π·Π° Go прилоТСния;
  • GDB - Ρ‡Ρ€Π΅Π· Ρ†Π΅Π»Π΅Π²ΠΎ дистанционно + прСнасочванС Π½Π° ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅;
  • JDWP прСнасочванС Π½Π° ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Java прилоТСния.

ΠžΡ‚ страна Π½Π° IDE ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° само във VScode (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Скспанзия), Π½ΠΎ ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° (2019) Π³ΠΎΠ΄ΠΈΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Eclipse ΠΈ Intellij.

Π—Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² процСси, Squash изпълнява ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ бСзопасСн Ρ€Π΅ΠΆΠΈΠΌ Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със сигурността.

Цялостни Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

НСка Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към Ρ‚Π΅ΠΆΠΊΠ°Ρ‚Π° артилСрия - ΠΏΠΎ-β€žΠΌΠ°Ρ‰Π°Π±Π½ΠΈβ€œ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° отговорят Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅.

NB: Π’ Ρ‚ΠΎΠ·ΠΈ списък, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠΌΠ° място Π·Π° Π½Π°ΡˆΠ°Ρ‚Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ werf (ΠΏΠΎ-Ρ€Π°Π½ΠΎ извСстСн ΠΊΠ°Ρ‚ΠΎ dapp). Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ смС писали ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π·Π° Π½Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ вСднъТ ΠΈ Π·Π°Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° Π½Π΅ Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ Π² ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°. Π—Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ТСлаят Π΄Π° сС запознаят ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ с Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π°Ρ‚/ΡΠ»ΡƒΡˆΠ°Ρ‚ Π΄ΠΎΠΊΠ»Π°Π΄Π° β€œwerf Π΅ Π½Π°ΡˆΠΈΡΡ‚ инструмСнт Π·Π° CI/CD Π² Kubernetes".

DevSpace

  • Долния Ρ€Π΅Π΄: Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ искат Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° Π² Kubernetes, Π½ΠΎ Π½Π΅ искат Π΄Π° сС ровят дълбоко Π² Π΄ΠΆΡƒΠ½Π³Π»Π°Ρ‚Π° ΠΌΡƒ.
  • GitHub.
  • ΠšΡ€Π°Ρ‚ΠΊΠ° статистика Π½Π° GH: 630 Π·Π²Π΅Π·Π΄ΠΈ, 1912 Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, 13 участници.
  • Π•Π·ΠΈΠΊ: Go.
  • Π›ΠΈΡ†Π΅Π½Π·: Apache License 2.0.

РСшСниС ΠΎΡ‚ Π΅Π΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Π°Ρ‚Π° компания, която прСдоставя управлявани ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ с Kubernetes Π·Π° Π΅ΠΊΠΈΠΏΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π΅ създадСна Π·Π° Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ чудСсно с всички Π΄Ρ€ΡƒΠ³ΠΈ.

ΠŸΡ€ΠΈ изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° devspace init Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‰Π΅ Π²ΠΈ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ (ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ):

  • ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π½Π° Kubernetes,
  • ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Dockerfile (ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²), Π·Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ въз основа Π½Π° Π½Π΅Π³ΠΎ,
  • ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π΄Ρ€.

Π‘Π»Π΅Π΄ всички Ρ‚Π΅Π·ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ‚Π΅Π»Π½ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° devspace dev. Π’ΠΎΠΉ Ρ‰Π΅ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‰Π΅ Π³ΠΎ ΠΊΠ°Ρ‡ΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ, Ρ‰Π΅ Ρ€Π°Π·Π³ΡŠΡ€Π½Π΅ внСдряванСто Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΈ Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ прСнасочванС Π½Π° ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅ ΠΈ синхронизиранС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° дирСктория.

По ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Ρ‰Π΅ Π±ΡŠΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ°Π½Π΅Π½ΠΈ Π΄Π° прСмСститС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. НС трябва Π΄Π° ΠΎΡ‚ΠΊΠ°Π·Π²Π°Ρ‚Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² дСйствитСлност ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π²Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° заспиванС ΠΈ Π·Π° Ρ€Π΅Π°Π»Π½ΠΎ тСстванС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ трябва Π΄Π° сС стартира Ρ€ΡŠΡ‡Π½ΠΎ.

И накрая, Π΅ΠΊΠΈΠΏΡŠΡ‚ devspace deploy Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½Π°Ρ‚Π° инфраструктура към ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ всичко Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Π² Π±ΠΎΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ.

Цялата конфигурация Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° във Ρ„Π°ΠΉΠ» devspace.yaml. Π’ допълнСниС към настройкитС Π½Π° срСдата Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π² нСя ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΈ описаниС Π½Π° инфраструктурата, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° стандартнитС манифСсти Π½Π° Kubernetes, само Ρ‡Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ опростСно.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Kubernetes
АрхитСктура ΠΈ основни Π΅Ρ‚Π°ΠΏΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с DevSpace

ОсвСн Ρ‚ΠΎΠ²Π° Π΅ лСсно Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ MySQL DBMS) ΠΈΠ»ΠΈ Helm Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ° към ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π² докумСнтация - Π½Π΅ Π΅ слоТно.

Π‘ΠΊΠ΅Π»Π΅

  • ΠœΡΡΡ‚ΠΎ; GitHub.
  • ΠšΡ€Π°Ρ‚ΠΊΠ° GH статистика: 7423 Π·Π²Π΅Π·Π΄ΠΈ, 4173 Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, 136 ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ†ΠΈ.
  • Π•Π·ΠΈΠΊ: Go.
  • Π›ΠΈΡ†Π΅Π½Π·: Apache License 2.0.

Π’Π°Π·ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΎΡ‚ Google Ρ‚Π²ΡŠΡ€Π΄ΠΈ, Ρ‡Π΅ ΠΏΠΎΠΊΡ€ΠΈΠ²Π° всички Π½ΡƒΠΆΠ΄ΠΈ Π½Π° програмист, Ρ‡ΠΈΠΉΡ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€. Π—Π°ΠΏΠΎΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΡƒ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° лСсно, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ devspace: няма интСрактивност, ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ създаванС Dockerfile Ρ‚ΡƒΠΊ няма Π΄Π° Ρ‚ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚.

Ако ΠΎΠ±Π°Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π½Π΅ Π²ΠΈ плаши, Π΅Ρ‚ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π²ΠΈ позволява Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Skaffold:

  • ΠŸΡ€ΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² изходния ΠΊΠΎΠ΄.
  • Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€Π°ΠΉΡ‚Π΅ Π³ΠΎ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π° капсулата, Π°ΠΊΠΎ Π½Π΅ изисква сглобяванС.
  • Π‘ΡŠΠ±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ с ΠΊΠΎΠ΄, Π°ΠΊΠΎ Π΅Π·ΠΈΠΊΡŠΡ‚ сС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π°, ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°ΠΉΡ‚Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ ΠΈ Π³ΠΈ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°ΠΉΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.
  • ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ изобраТСния сС провСряват Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€-структура-тСст.
  • ΠœΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ ΠΈ ΠΊΠ°Ρ‡Π²Π°Π½Π΅ Π½Π° изобраТСния Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° Docker.
  • Π Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° kubectl, Helm ΠΈΠ»ΠΈ kustomize.
  • Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΏΠΎΡ€Ρ‚.
  • ΠžΡ‚ΡΡ‚Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² прилоТСния, написани Π½Π° Java, Node.js, Python.

Работният процСс Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π΅ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ описан във Ρ„Π°ΠΉΠ»Π° skaffold.yaml. Π—Π° Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ няколко ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°, Π² ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ частично ΠΈΠ»ΠΈ напълно Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Ρ‚Π°ΠΏΠΈΡ‚Π΅ Π½Π° сглобяванС ΠΈ внСдряванС. НапримСр, Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, посочСтС Π±Π°Π·ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π° Π·Π° поставянС ΠΈ производство - ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ (+ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ securityContext ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ бъдС Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ).

Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΎ: Π² Google Cloud Build ΠΈΠ»ΠΈ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Канико. Bazel ΠΈ Jib Maven/Gradle ΡΡŠΡ‰ΠΎ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚. Π—Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Skaffold ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎ стратСгии: Ρ‡Ρ€Π΅Π· git commit Ρ…Π΅Ρˆ, Π΄Π°Ρ‚Π°/час, sha256-сума ΠΎΡ‚ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ ΠΈ Ρ‚.Π½.

ΠžΡ‚Π΄Π΅Π»Π½ΠΎ, заслуТава Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° тСстванС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Π’Π΅Ρ‡Π΅ спомСнатата Ρ€Π°ΠΌΠΊΠ° Π·Π° тСстванС Π½Π° структура Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° слСднитС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°:

  • ИзпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² контСкста Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с прослСдяванС Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ статуси ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° тСкстовия ΠΈΠ·Ρ…ΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с посочСнитС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ.
  • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ (ENV, ENTRYPOINT, VOLUMES ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ).
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° Π½Π° Π»ΠΈΡ†Π΅Π½Π·Π°.

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΠΎ Π½Π°ΠΉ-оптималния Π½Π°Ρ‡ΠΈΠ½: Skaffold просто създава Π°Ρ€Ρ…ΠΈΠ² с ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅, ΠΊΠΎΠΏΠΈΡ€Π° Π³ΠΎ ΠΈ Π³ΠΎ Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° (трябва Π΄Π° бъдС инсталиран tar). Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ, Π°ΠΊΠΎ основната Π²ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π΅ синхронизиранСто Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅, ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ към спСциализирано Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ (ksync).

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Kubernetes
Основни Π΅Ρ‚Π°ΠΏΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Skaffold

ΠšΠ°Ρ‚ΠΎ цяло ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΡŠΡ‚ Π½Π΅ Π²ΠΈ позволява Π΄Π° сС абстрахиратС ΠΎΡ‚ манифСститС Π½Π° Kubernetes ΠΈ няма Π½ΠΈΠΊΠ°ΠΊΠ²Π° интСрактивност, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Ρ€ΡƒΠ΄Π΅Π½ Π·Π° овладяванС. Но Ρ‚ΠΎΠ²Π° Π΅ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ прСдимство - ΠΏΠΎ-голяма свобода Π½Π° дСйствиС.

Π“Ρ€Π°Π΄ΠΈΠ½Π°

  • ΠœΡΡΡ‚ΠΎ; GitHub.
  • ΠšΡ€Π°Ρ‚ΠΊΠ° GH статистика: 1063 Π·Π²Π΅Π·Π΄ΠΈ, 1927 Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, 17 ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ†ΠΈ.
  • Π•Π·ΠΈΠΊ: TypeScript (ΠΏΠ»Π°Π½ΠΈΡ€Π° сС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΄Π° бъдС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° няколко ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, някои ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π² Go, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ SDK Π·Π° създаванС Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π² TypeScript/JavaScript ΠΈ Go).
  • Π›ΠΈΡ†Π΅Π½Π·: Apache License 2.0.

Подобно Π½Π° Skaffold, Garden ΠΈΠΌΠ° Π·Π° Ρ†Π΅Π» Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° процСситС Π½Π° доставянС Π½Π° ΠΊΠΎΠ΄ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ към ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° K8s. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° ΠΎΠΏΠΈΡˆΠ΅Ρ‚Π΅ структурата Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² YAML Ρ„Π°ΠΉΠ» ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° garden dev. Вя Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ цялата магия:

  • Π‘ΡŠΠ±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ части ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • ΠŸΡ€ΠΎΠ²Π΅ΠΆΠ΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π½ΠΈ тСстовС, Π°ΠΊΠΎ ΠΈΠΌΠ° описани Ρ‚Π°ΠΊΠΈΠ²Π°.
  • Π Π°Π·Π³Ρ€ΡŠΡ‰Π° всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° към ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.
  • Ако изходният ΠΊΠΎΠ΄ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎΠ²Π° Ρ‰Π΅ рСстартира цСлия ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€.

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ фокус ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ инструмСнт Π΅ сподСлянСто Π½Π° ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ с Π΅ΠΊΠΈΠΏ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π’ Ρ‚ΠΎΠ·ΠΈ случай, Π°ΠΊΠΎ някои ΠΎΡ‚ ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈ тСстванС Π²Π΅Ρ‡Π΅ са Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ, Ρ‚ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‰Π΅ ускори цСлия процСс, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Garden Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ.

ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° Maven, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ° Π½Π° Helm, манифСст Π·Π° kubectl apply ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ функция OpenFaaS. ОсвСн Ρ‚ΠΎΠ²Π° всСки ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ ΠΎΡ‚ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΎ Git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π•Π΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ» ΠΌΠΎΠΆΠ΅ ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° услуги, Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ тСстовС. УслугитС ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠΌΠ°Ρ‚ зависимости, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ послСдоватСлността Π½Π° внСдряванС Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° услуга ΠΈ Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ стартиранСто Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ тСстовС.

Garden прСдоставя Π½Π° потрСбитСля красиво Ρ‚Π°Π±Π»ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ (Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π² СкспСримСнтално ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅), ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, послСдоватСлност Π½Π° сглобяванС, изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ тСстовС, Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ зависимости. Направо Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Π΄Π°Π΄Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‡Ρ€Π΅Π· HTTP (Π°ΠΊΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π·Π° Π½Π΅Π³ΠΎ Π΅ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π½ Π²Ρ…ΠΎΠ΄Π΅Π½ рСсурс).

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Kubernetes
ПанСл Π·Π° Π³Ρ€Π°Π΄ΠΈΠ½Π°

Π’ΠΎΠ·ΠΈ инструмСнт ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π³ΠΎΡ€Π΅Ρ‰ΠΎ ΠΏΡ€Π΅Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, ΠΊΠΎΠΉΡ‚ΠΎ просто синхронизира ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² скрипта с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ускорява процСса Π½Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π“Ρ€Π°Π΄ΠΈΠ½Π° ΠΈΠΌΠ° Π΄ΠΎΠ±ΡŠΡ€ докумСнтация ΠΈ Π½Π΅ Π΅ лошо Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π±ΡŠΡ€Π·ΠΎ Π΄Π° свикнСтС с Π½Π΅Π³ΠΎ ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, съвсСм наскоро ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…ΠΌΠ΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° статия ΠΎΡ‚ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚ΠΎΠ·ΠΈ списък с инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ ΠΈ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² прилоТСния Π² Kubernetes Π½Π΅ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° Π΄ΠΎ. Има ΠΎΡ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ заслуТават, Π°ΠΊΠΎ Π½Π΅ ΠΎΡ‚Π΄Π΅Π»Π½Π° статия, Ρ‚ΠΎ ΠΏΠΎΠ½Π΅ спомСнаванС. Π Π°Π·ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π½ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅, ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ стС срСщали ΠΈ ΠΊΠ°ΠΊ стС Π³ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»ΠΈ!

PS

ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π² нашия Π±Π»ΠΎΠ³:

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

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