Southbridge в ЧСлябинск и Bitrix в Kubernetes

Π’ ЧСлябинскС сС ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‚ ΠΌΠΈΡ‚Π°ΠΏΠΈ Π·Π° систСмни администратори Sysadminka, ΠΈ Π½Π° послСдния ΠΎΡ‚ тях прСдставих Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с прилоТСния Π½Π° 1C-Bitrix Π² Kubernetes.

Bitrix, Kubernetes, Ceph β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Π° комбинация?

НСка Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΡΡŠΠ±Ρ€Π°Ρ…ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ всичко Ρ‚ΠΎΠ²Π°.

Π”Π° Ρ‚Ρ€ΡŠΠ³Π²Π°ΠΌΠ΅!

Southbridge в ЧСлябинск и Bitrix в Kubernetes

ΠœΠΈΡ‚Π°ΠΏΡŠΡ‚ сС ΡΡŠΡΡ‚ΠΎΡ Π½Π° 18 Π°ΠΏΡ€ΠΈΠ» Π² ЧСлябинск. Π—Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΌΠΈΡ‚Π°ΠΏΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π² Timepad ΠΈ Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚Π΅ Π½Π° YouTube.

Ако искатС Π΄Π° сС ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ с Π΄ΠΎΠΊΠ»Π°Π΄ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚ΠΎ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π» β€” заповядайтС, ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π° vadim.isakanov@gmail.com ΠΈ Π² Telegram t.me/vadimisakanov.

ΠœΠΎΡΡ‚ Π΄ΠΎΠΊΠ»Π°Π΄

Southbridge в ЧСлябинск и Bitrix в Kubernetes

Π‘Π»Π°ΠΉΠ΄ΠΎΠ²Π΅

РСшСниС Β«Bitrix Π² Kubernetes, вСрсия Southbridge 1.0Β»

Π©Π΅ Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° Π·Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Β«Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ Π² KubernetesΒ», ΠΊΠ°ΠΊΡ‚ΠΎ бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ Π½Π° ΠΌΠΈΡ‚Π°ΠΏΠ°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌ, Ρ‡Π΅ Π΄ΡƒΠΌΠΈΡ‚Π΅ Bitrix, Docker, Kubernetes, Ceph са Π²ΠΈ извСстни ΠΏΠΎΠ½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ статии Π² Wikipedia.

Какво наистина ΠΈΠΌΠ° Π³ΠΎΡ‚ΠΎΠ²ΠΎ Π·Π° Bitrix Π² Kubernetes?

Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΎ информация Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° прилоТСнията с Bitrix Π² Kubernetes.
НамСрих само Ρ‚Π°ΠΊΠΈΠ²Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ:

Π”ΠΎΠΊΠ»Π°Π΄ ΠΎΡ‚ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Π‘Π΅Ρ€Π±ΡƒΠ» ΠΈ Антон Π’ΡƒΠ·Π»ΡƒΠΊΠΎΠ² ΠΎΡ‚ Qsoft:

ΠŸΡƒΡΠ½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ

ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° Π³ΠΎ ΠΈΠ·ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° собствСно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» serkyron Π½Π° Π₯Π°Π±Ρ€Π°.
НамСрих ΠΎΡ‰Π΅ Ρ‚Π°ΠΊΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π˜ΠΈΠΈΠΈβ€¦ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚, Ρ‚ΠΎΠ²Π° Π΅ всичко.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π²Π°ΠΌ, качСството Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π° ΠΏΠΎ Π»ΠΈΠ½ΠΊΠΎΠ²Π΅Ρ‚Π΅ Π³ΠΎΡ€Π΅ Π½Π΅ Π΅ провСрявано πŸ™‚
ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰ΡƒΠ²Π°Ρ… с ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Π‘Π΅Ρ€Π±ΡƒΠ», Ρ‚ΠΎΠ³Π°Π²Π° нСговият Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ‰Π΅ Π½Π΅ бСшС Π³ΠΎΡ‚ΠΎΠ², Π·Π°Ρ‚ΠΎΠ²Π° Π² ΠΌΠΎΠΈΡ‚Π΅ слайдовС ΠΈΠΌΠ° ΠΏΡƒΠ½ΠΊΡ‚ Β«Bitrix Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° KubernetesΒ».

Но Π·Π°Ρ‚ΠΎΠ²Π° пък Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ Docker ΠΎΠ±Ρ€Π°Π·ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Bitrix Π² Docker Π²Π΅Ρ‡Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ: https://hub.docker.com/search?q=bitrix&type=image

Π”ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π»ΠΈ са Ρ‚Π΅ Π·Π° създаванС Π½Π° пълно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° Bitrix Π² Kubernetes?
НС. Има ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° сС Ρ€Π΅ΡˆΠ°Ρ‚.

Какви са ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с Bitrix Π² Kubernetes?

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ β€” Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π·ΠΈ ΠΎΡ‚ Dockerhub Π½Π΅ са подходящи Π·Π° Kubernetes.

Ако искамС Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌ микросСрвизна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° (Π° Π² Kubernetes ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ искамС), ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² Kubernetes трябва Π΄Π° сС раздСля Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π΄Π° сС стрСмим всСки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π΄Π° изпълнява Π΅Π΄Π½Π° ΠΌΠ°Π»ΠΊΠ° функция (ΠΈ Π΄Π° я изпълнява Π΄ΠΎΠ±Ρ€Π΅). Π—Π°Ρ‰ΠΎ само Π΅Π΄Π½Π°? Ако Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ β€” ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-просто, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ.
Ако искатС ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ β€” моля, Π²ΠΈΠΆΡ‚Π΅ Ρ‚Π°Π·ΠΈ статия ΠΈ Π²ΠΈΠ΄Π΅ΠΎ: https://habr.com/ru/company/southbridge/blog/426637/

Docker ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅ Π² Dockerhub основно са ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° «всичко Π² Π΅Π΄Π½ΠΎΒ», Π·Π°Ρ‚ΠΎΠ²Π° сС Π½Π°Π»ΠΎΠΆΠΈ всС ΠΏΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ свой вСлосипСд ΠΈ Π΄ΠΎΡ€ΠΈ Π΄Π° измислим ΠΎΠ±Ρ€Π°Π·ΠΈ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°.

Вторият β€” ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° сайта сС промСня ΠΎΡ‚ административната ΠΏΠ°Π½Π΅Π».

Π‘ΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ Π½ΠΎΠ² Ρ€Π°Π·Π΄Π΅Π» Π½Π° сайта β€” ΠΊΠΎΠ΄ΡŠΡ‚ Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ (Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ дирСктория с ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° новия Ρ€Π°Π·Π΄Π΅Π»).

ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈΡ…ΠΌΠ΅ свойствата Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΎΡ‚ администраторския ΠΏΠ°Π½Π΅Π» β€” ΠΊΠΎΠ΄ΡŠΡ‚ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½.

Kubernetes β€žΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅β€œ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ нСизмСняСми (Stateless).

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: всСки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (ΠΏΠΎΠ΄) Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° само част ΠΎΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Ако ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄Π° само Π² Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (ΠΏΠΎΠ΄), Ρ‚ΠΎ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΊΠΎΠ΄ΡŠΡ‚ Ρ‰Π΅ бъдС Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½, ΡΠ°ΠΉΡ‚ΡŠΡ‚ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Ρ‰Π΅ сС ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ вСрсии Π½Π° сайта. Π’ΠΎΠ²Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°.

Π’Ρ€Π΅Ρ‚Π°Ρ‚Π° β€” трябва Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ Π²ΡŠΠΏΡ€ΠΎΡΠ° с дСплоя.

Ако ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ ΠΈ Π΅Π΄ΠΈΠ½ β€žΠΊΠ»Π°ΡΠΈΡ‡Π΅ΡΠΊΠΈβ€œ ΡΡŠΡ€Π²ΡŠΡ€, всичко Π΅ ΠΌΠ½ΠΎΠ³ΠΎ просто: Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°ΠΌΠ΅ Π½ΠΎΠ²Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π°, ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ миграция Π½Π° Π‘Π”, прСнасочвамС Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° ΠΊΠΎΠ΄Π°. ΠŸΡ€Π΅Π½Π°ΡΠΎΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΎ.
Ако ΡΠ°ΠΉΡ‚ΡŠΡ‚ Π½ΠΈ Π΅ Π² Kubernetes, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° микросСрвиси, ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ с ΠΊΠΎΠ΄ β€” ΠΎΠΉ. Врябва Π΄Π° ΡΡŠΠ±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ с Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° ΠΊΠΎΠ΄Π°, Π΄Π° Π³ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΠΌ вмСсто старитС, Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΠΌ миграция Π½Π° Π‘Π” ΠΈ, Π² идСалния случай, Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° Π½Π΅Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ Π·Π° посСтитСлитС. Π—Π° щастиС, Kubernetes Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π² Ρ‚ΠΎΠ²Π°, прСдоставяйки мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π΄Π΅ΠΏΠ»ΠΎΠΉ.

Π§Π΅Ρ‚Π²ΡŠΡ€Ρ‚Π°Ρ‚Π° β€” трябва Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ Π²ΡŠΠΏΡ€ΠΎΡΠ° с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° статичнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

Ако Π²Π°ΡˆΠΈΡΡ‚ сайт Π΅ β€žΡΠ°ΠΌΠΎβ€œ 10 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° ΠΈ Π³ΠΎ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ изцяло Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ с Ρ‚Π΅Π³Π»ΠΎ ΠΎΡ‚ 10 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ сС внСдряват Π²Π΅Ρ‡Π½ΠΎ.
Врябва Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ Π½Π°ΠΉ β€žΡ‚Π΅ΠΆΠΊΠΈΡ‚Π΅β€œ части Π½Π° сайта извън ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅, ΠΈ възниква Π²ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ.

Какво липсва Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

ЦСлият ΠΊΠΎΠ΄ Π½Π° Битрикс Π½Π΅ Π΅ разрязан Π½Π° ΠΌΠΈΠΊΡ€ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ/микросСрвиси (Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ рСгистрацията Π΄Π° Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ, ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ Π·Π° ΠΎΠ½Π»Π°ΠΉΠ½ ΠΌΠ°Π³Π°Π·ΠΈΠ½ Π΄Π° Π΅ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΈ Ρ‚.Π½.). Цялата ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° я ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ Π² всСки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ напълно.

Π‘Π°Π·Π°Ρ‚Π° Π² Kubernetes ΡΡŠΡ‰ΠΎ Π½Π΅ я ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ (ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Π» съм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с Π±Π°Π·Π° Π² Kubernetes Π·Π° срСдитС Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π½ΠΎ Π½Π΅ ΠΈ Π·Π° продукция).

АдминистраторитС Π½Π° сайта всС ΠΏΠ°ΠΊ Ρ‰Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Ρ‚, Ρ‡Π΅ ΡΠ°ΠΉΡ‚ΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Kubernetes. Ѐункцията β€žΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚Π°β€œ Π½Π΅Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΎ, Π·Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° сайта ΠΎΡ‚ администраторския ΠΏΠ°Π½Π΅Π» ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° натиснСтС Π±ΡƒΡ‚ΠΎΠ½Π° β€žΠΈΡΠΊΠ°ΠΌ Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌ ΠΊΠΎΠ΄Π°β€œ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ бяха Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ, нСобходимостта ΠΎΡ‚ микросСрвисна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° бСшС установСна, Ρ†Π΅Π»Ρ‚Π° Π΅ ясна β€” Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° систСма Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с прилоТСния Π½Π° Битрикс Π² Kubernetes, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Битрикс, Ρ‚Π°ΠΊΠ° ΠΈ прСдимствата Π½Π° Kubernetes. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ рСализацията.

АрхитСктура

Много 'Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ' ΠΏΠΎΠ΄ΠΎΠ²Π΅ с ΡƒΠ΅Π±ΡΡŠΡ€Π²ΡŠΡ€ (Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ).
Π•Π΄ΠΈΠ½ ΠΏΠΎΠ΄ с ΠΊΡ€ΠΎΠ½-Π·Π°Π΄Π°Ρ‡ΠΈ (Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ само Π΅Π΄ΠΈΠ½).
Π•Π΄ΠΈΠ½ ΠΏΠΎΠ΄ Π·Π° ΡŠΠΏΠ³Ρ€Π΅ΠΉΠ΄ Π·Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° сайта ΠΎΡ‚ Π°Π΄ΠΌΠΈΠ½ ΠΏΠ°Π½Π΅Π»Π° (ΡΡŠΡ‰ΠΎ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ само Π΅Π΄ΠΈΠ½).

Southbridge в ЧСлябинск и Bitrix в Kubernetes

РСшавамС Π²ΡŠΠΏΡ€ΠΎΡΠΈΡ‚Π΅:

  • КъдС Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ сСсиитС?
  • КъдС Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ кСша?
  • КъдС Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ статиката? НС Π΅ ΡƒΠ΄Π°Ρ‡Π½ΠΎ Π΄Π° поставямС Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ΠΈ статични Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² мноТСство ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.
  • Как Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ?

Docker ΠΎΠ±Ρ€Π°Π·

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ със ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Docker ΠΎΠ±Ρ€Π°Π·.

Π˜Π΄Π΅Π°Π»Π½ΠΈΡΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ унивСрсалСн ΠΎΠ±Ρ€Π°Π·, ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΊΠ°ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅, Ρ‚Π°ΠΊΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ с ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΡŠΠΏΠ³Ρ€Π΅ΠΉΠ΄ ΠΏΠΎΠ΄ΠΎΠ²Π΅.

Π‘ΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΡŠΠ² ΠΎΠ±Ρ€Π°Π·..

Π’ Π½Π΅Π³ΠΎ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ nginx, apache/php-fpm (ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π±Π΅Ρ€Π΅ ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ), msmtp Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅ΠΉΠ»ΠΈ ΠΈ cron.

ΠŸΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π·Π°, цСлият ΠΊΠΎΠ΄ΠΎΠ² Π±Π°Π·Π° Π½Π° сайта сС ΠΊΠΎΠΏΠΈΡ€Π° Π² дирСктория /app (с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅Π·ΠΈ части, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ изнСсСм Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ сподСлСно Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅).

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΠΎΡΡ‚, услуги

Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅:

  • ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с nginx + ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ apache/php-fpm + msmtp
  • НС успяхмС Π΄Π° изнСсСм msmtp Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ микросСрвис, Битрикс Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° сС ΠΎΠΏΠ»Π°ΠΊΠ²Π°, Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ ΠΈΠΌΠ΅ΠΉΠ».
  • Π’ΡŠΠ² всСки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π΅ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° цСлия ΠΊΠΎΠ΄ΠΎΠ² Π±Π°Π·Π°.
  • Π—Π°Π±Ρ€Π°Π½Π° Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅.

cron ΠΏΠΎΠ΄:

  • ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с apache, php, cron
  • Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π° Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° цСлия ΠΊΠΎΠ΄ΠΎΠ² Π±Π°Π·Π°
  • Π·Π°Π±Ρ€Π°Π½Π° Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅

upgrade ΠΏΠΎΠ΄:

  • ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с nginx + ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ apache/php-fpm + msmtp
  • няма Π·Π°Π±Ρ€Π°Π½Π° Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅

Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° сСсиитС

Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° кСша Π·Π° Битрикс

Π’Π°ΠΆΠ½ΠΎ Π΅ ΡΡŠΡ‰ΠΎ: ΠΏΠ°Ρ€ΠΎΠ»ΠΈΡ‚Π΅ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π΄ΠΎ всичко, ΠΎΡ‚ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π΄ΠΎ ΠΈΠΌΠ΅ΠΉΠ»ΠΈ, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ Π² Kubernetes secrets. ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ бонус, ΠΏΠ°Ρ€ΠΎΠ»ΠΈΡ‚Π΅ са Π²ΠΈΠ΄ΠΈΠΌΠΈ само Π·Π° Ρ‚Π΅Π·ΠΈ, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π°Π²Π°ΠΌΠ΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ сСкрСтитС, Π° Π½Π΅ Π·Π° всички, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ‚Π° Π±Π°Π·Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° статиката

МоТС Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° всичко: ceph, nfs (Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌΠ΅ nfs Π·Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΈ срСди), ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΎΡ‚ 'ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ' доставчици ΠΈ Ρ‚.Π½.

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ трябва Π΄Π° бъдС ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π² дирСктория /upload/ Π½Π° сайта ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ със статични Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

Π‘Π°Π·Π° Π΄Π°Π½Π½ΠΈ

Π—Π° удобство ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌΠ΅ Π±Π°Π·Π°Ρ‚Π° Π΄Π° бъдС извън Kubernetes. Π‘Π°Π·Π°Ρ‚Π° Π² Kubernetes Π΅ ΠΎΡ‚Π΄Π΅Π»Π½Π° слоТна Π·Π°Π΄Π°Ρ‡Π°, тя Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ схСмата ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-слоТна.

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° сСсиитС

ИзползвамС memcached πŸ™‚

Π’ΠΎΠΉ сС справя Π΄ΠΎΠ±Ρ€Π΅ с ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° сСсии, ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈΠ·ΠΈΡ€Π° сС ΠΈ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° "Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ" ΠΊΠ°Ρ‚ΠΎ session.save_path Π² php. Π’Π°Π·ΠΈ систСма Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π»Π° ΠΏΡ€Π΅Π· ΠΌΠ½ΠΎΠ³ΠΎ тСстовС Π² класичСската ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Ρ…ΠΌΠ΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ с мноТСство ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€ΠΈ. Π—Π° внСдряванС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ helm.

$ helm install stable/memcached --name session

php.ini β€” Ρ‚ΡƒΠΊ Π² ΠΎΠ±Ρ€Π°Π·Π° са Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ настройкитС Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° сСсии Π² memcached

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Environment Variables Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° хостовСтС с memcached https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/.
Π’ΠΎΠ²Π° позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ ΠΊΠΎΠ΄ Π² срСдитС dev, stage, test, prod (ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° хостовСтС memcached Π² тях Ρ‰Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚, Π·Π°Ρ‚ΠΎΠ²Π° Π·Π° всяка срСда трябва Π΄Π° ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΌΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° хостовСтС Π·Π° сСсиитС).
Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° кСш Битрикс

НуТдаСм сС ΠΎΡ‚ устойчива систСма Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Π² която всички ΠΏΠΎΠ΄ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° записват ΠΈ ΠΎΡ‚ която ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Ρ‡Π΅Ρ‚Π°Ρ‚.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ memcached.
Π’ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π°Π½ΠΎ ΠΎΡ‚ самия Битрикс.

$ helm install stable/memcached --name cache

bitrix/.settings_extra.php β€” Ρ‚ΡƒΠΊ Π² Битрикс сС Π·Π°Π΄Π°Π²Π° къдС сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° кСша

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Environment Variables.

ΠšΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈ

Има Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Π·Π° изпълнСниС Π½Π° ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π² Kubernetes.

  • ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ‚ с ΠΏΠΎΠ΄ Π·Π° изпълнСниС Π½Π° ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅
  • cronjob Π·Π° изпълнСниС Π½Π° ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ (Π°ΠΊΠΎ Π΅ ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β€” с wget https://$host$cronjobname, ΠΈΠ»ΠΈ kubectl exec Π²ΡŠΡ‚Ρ€Π΅ Π² Π΅Π΄ΠΈΠ½ ΠΎΡ‚ worker ΠΏΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Ρ‚.Π½.)
  • ΠΈ Ρ‚.Π½.

МоТСм Π΄Π° спорим Π·Π° Π½Π°ΠΉ-добрия Π½Π°Ρ‡ΠΈΠ½, Π½ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° "ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ‚ с ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π·Π° ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅".

Как Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ:

  • ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ добавямС Ρ‡Ρ€Π΅Π· ConfigMap ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π· Ρ„Π°ΠΉΠ»Π° config/addcron
  • възлагамС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с Π΅Π΄ΠΈΠ½ СкзСмпляр, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Π½Π° worker ΠΏΠΎΠ΄Π° + Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π² Π½Π΅Π³ΠΎ
  • ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сС ΡΡŠΡ‰Π°Ρ‚Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π°, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° унификацията, ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΅ просто

Какви прСдимства ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅:

  • ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈ Π² срСда, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° Π½Π° Ρ‚Π°Π·ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ (docker)
  • ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π½Π΅ трябва Π΄Π° сС "прСписват" Π·Π° Kubernetes, Ρ‚Π΅ работят ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ ΠΈ със ΡΡŠΡ‰Π°Ρ‚Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ
  • ΠΊΡ€ΠΎΠ½ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° добавят всички Ρ‡Π»Π΅Π½ΠΎΠ²Π΅ Π½Π° Π΅ΠΊΠΈΠΏΠ° с ΠΏΡ€Π°Π²Π° Π·Π° commit Π² производствСната ΠΊΠ»ΠΎΠ½ΠΊΠ°, Π° Π½Π΅ само администраторитС

ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ Southbridge K8SDeploy ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° ΠΎΡ‚ Π°Π΄ΠΌΠΈΠ½ ΠΏΠ°Π½Π΅Π»Π°

НиС Π³ΠΎΠ²ΠΎΡ€ΠΈΡ…ΠΌΠ΅ Π·Π° ΡŠΠΏΠ³Ρ€Π΅ΠΉΠ΄ Π½Π° ΠΏΠΎΠ΄Π°?
А ΠΊΠ°ΠΊ Π΄Π° насочим Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ‚Π°ΠΌ?
Π£Ρ€Π°, написахмС ΠΌΠΎΠ΄ΡƒΠ» Π·Π° Ρ‚ΠΎΠ²Π° Π½Π° php πŸ™‚ Π’ΠΎΠ²Π° Π΅ малък класичСски ΠΌΠΎΠ΄ΡƒΠ» Π·Π° Битрикс. ΠžΡ‰Π΅ Π½Π΅ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ, Π½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ.
ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ сС инсталира ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ» Π² Битрикс:

Southbridge в ЧСлябинск и Bitrix в Kubernetes

И ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

Southbridge в ЧСлябинск и Bitrix в Kubernetes

Π’ΠΎΠΉ позволява Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ cookie, която ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° администратора Π½Π° сайта ΠΈ позволява Π½Π° Kubernetes Π΄Π° насочва Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към Π°ΠΏΠ΄Π΅ΠΉΡ‚ ΠΏΠΎΠ΄Π°.

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ са Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ, трябва Π΄Π° натиснСтС git push, ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΠΊΠΎΠ΄Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ Π² git, слСд Ρ‚ΠΎΠ²Π° систСмата Ρ‰Π΅ създадС ΠΎΠ±Ρ€Π°Π· с Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° ΠΊΠΎΠ΄Π° ΠΈ β€žΡ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Ρβ€œ нСя ΠΏΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, замСняйки старитС ΠΏΠΎΠ΄ΠΎΠ²Π΅.

Π”Π°, ΠΌΠ°Π»ΠΊΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ, Π½ΠΎ Ρ‚Π°ΠΊΠ° Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ микросСрвисната Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ Π½Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ°ΠΌΠ΅ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Битрикс Π»ΡŽΠ±ΠΈΠΌΠ°Ρ‚Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° поправят ΠΊΠΎΠ΄Π° ΠΎΡ‚ Π°Π΄ΠΌΠΈΠ½ ΠΏΠ°Π½Π΅Π»Π°. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, Ρ‚ΠΎΠ²Π° Π΅ опция, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π·Π° корСкция Π½Π° ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π΅ΡˆΠ΅Π½Π° ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½.

Helm Ρ‡Π°Ρ€Ρ‚

Π—Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° прилоТСния Π² Kubernetes ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ пакСтния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Helm.
Π—Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Битрикс Π² Kubernetes, Π‘Π΅Ρ€Π³Π΅ΠΉ Π‘ΠΎΠ½Π΄Π°Ρ€Π΅Π², Π½Π°ΡˆΠΈΡΡ‚ Π²ΠΎΠ΄Π΅Ρ‰ систСмСн администратор, Π΅ написал спСциалСн Helm Ρ‡Π°Ρ€Ρ‚.

Π’ΠΎΠΉ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° worker, upgrade, cron ΠΏΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅, настройва ingress'ΠΈ, услуги, ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΡ‚ Kubernetes secrets Π² ΠΏΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅.

Кода ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ Π² Gitlab ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° стартирамС ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Helm ΠΎΡ‚ Gitlab.

Ако ΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Ρ‚ΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°

$ helm upgrade --install project .helm --set image=registrygitlab.local/k8s/bitrix -f .helm/values.yaml --wait --timeout 300 --debug --tiller-namespace=production

Helm ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° позволява Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ β€žΠ±Π΅Π·ΡˆΠ΅Π²Π΅Π½β€œ ΠΎΡ‚ΠΊΠ°Ρ‚, Π°ΠΊΠΎ Π½Π΅Ρ‰ΠΎ сС ΠΎΠ±ΡŠΡ€ΠΊΠ° ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅ Π² ΠΏΠ°Π½ΠΈΠΊΠ° β€žΠΏΠΎΠΏΡ€Π°Π²ΡΡ‚Π΅ ΠΊΠΎΠ΄Π° ΠΏΠΎ ftp, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΄ Π΅ ΠΏΠ°Π΄Π½Π°Π»β€œ, Π° Kubernetes Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, Π±Π΅Π· Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°.

Π”Π΅ΠΏΠ»ΠΎΠΉ

Π”Π°, Π½ΠΈΠ΅ смС Ρ„Π΅Π½ΠΎΠ²Π΅ Π½Π° Gitlab & Gitlab CI, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π³ΠΎ πŸ™‚
ΠŸΡ€ΠΈ ΠΊΠΎΠΌΠΈΡ‚ Π² Gitlab Π² рСпозитория Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Gitlab стартира ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½, ΠΊΠΎΠΉΡ‚ΠΎ изпълнява Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° срСдата.

Π•Ρ‚Π°ΠΏΠΈ:

  • build (ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ Π½ΠΎΠ² Docker ΠΎΠ±Ρ€Π°Π·)
  • test (тСствамС)
  • clean up (ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°ΠΌΠ΅ тСстовата срСда)
  • push (ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΠΌΠ΅ Π³ΠΎ Π² Docker registry)
  • deploy (Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² Kubernetes Ρ‡Ρ€Π΅Π· Helm).

Southbridge в ЧСлябинск и Bitrix в Kubernetes

Π£Ρ€Π°, Π³ΠΎΡ‚ΠΎΠ²ΠΎ, внСдрявамС!
Или Π·Π°Π΄Π°Π²Π°ΠΌΠ΅ Π²ΡŠΠΏΡ€ΠΎΡΠΈ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅.

И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅

ΠžΡ‚ тСхничСска Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°:

  • Π΄ΠΎΠΊΠ΅Ρ€ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ Битрикс;
  • β€žΡ€Π°Π·Ρ€ΡΠ·Π°Ρ…ΠΌΠ΅β€œ Битрикс Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ изпълнява ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;
  • постигнахмС stateless ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅;
  • Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с актуализацията Π½Π° Битрикс Π² Kubernetes;
  • всички Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Битрикс ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ…Π° Π΄Π° работят (ΠΏΠΎΡ‡Ρ‚ΠΈ всички);
  • ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ…ΠΌΠ΅ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π² Kubernetes ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиитС.

ΠžΡ‚ бизнСс Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°:

  • отказоустойчивост;
  • инструмСнти Π½Π° Kubernetes (лСсна интСграция с Gitlab CI, бСзшСвСн Π΄Π΅ΠΏΠ»ΠΎΠΉ, ΠΈ Π΄Ρ€.);
  • ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π² Ρ‚Π°ΠΉΠ½ΠΈ (Π²ΠΈΠ΄ΠΈΠΌΠΈ само Π·Π° Ρ‚Π΅Π·ΠΈ, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ прСдоставСн Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΠΈΡ‚Π΅);
  • ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ срСди (Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, тСстовС ΠΈ Π΄Ρ€.) Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄ΠΈΠ½Π½Π° инфраструктура.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster