Southbridge αž“αŸ… Chelyabinsk αž“αž·αž„ Bitrix αž“αŸ… Kubernetes

αž€αžΆαžšαž‡αž½αž”αž”αŸ’αžšαž‡αž»αŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Sysadminka αž€αŸ†αž–αž»αž„αž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžαž‘αŸ…αž“αŸ… Chelyabinsk αž αžΎαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž•αŸ’αžŠαž›αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž’αŸ†αž–αžΈαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαž”αžŸαŸ‹αž™αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎ 1C-Bitrix αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”

Bitrix, Kubernetes, Ceph - αž›αŸ’αž”αžΆαž™αžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™?

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž„αžΆαžšαž–αžΈαž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αŸ”

αžαŸ„αŸ‡αž‘αŸ…!

Southbridge αž“αŸ… Chelyabinsk αž“αž·αž„ Bitrix αž“αŸ… Kubernetes

αž€αžΆαžšβ€‹αž‡αž½αž”β€‹αž‚αŸ’αž“αžΆβ€‹αž“αŸαŸ‡β€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž‘αžΎαž„β€‹αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αž‘αžΈ 18 αžαŸ‚β€‹αž˜αŸαžŸαžΆβ€‹αž“αŸ… Chelyabinsk αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž’αžΆαž“αž’αŸ†αž–αžΈαž€αž·αž…αŸ’αž…αž”αŸ’αžšαž‡αž»αŸ†αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ… αž•αŸ’αž‘αžΆαŸ†αž„αž–αŸαž›αžœαŸαž›αžΆ αž αžΎαž™αž˜αžΎαž› αž™αžΌαž’αžΌαž”.

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž˜αž€αžšαž€αž™αžΎαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž¬αž‡αžΆαž’αŸ’αž“αž€αžŸαŸ’αžαžΆαž”αŸ‹ - αžŸαžΌαž˜αžŸαŸ’αžœαžΆαž‚αž˜αž“αŸ, αžŸαžšαžŸαŸαžšαž‘αŸ… [αž’αŸŠαžΈαž˜αŸ‚αž›αž€αžΆαžšαž–αžΆαžš] αž“αž·αž„αž“αŸ…αž›αžΎ Telegram t.me/vadimisakanov αŸ”

αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†

Southbridge αž“αŸ… Chelyabinsk αž“αž·αž„ Bitrix αž“αŸ… Kubernetes

αžŸαŸ’αž›αžΆαž™

αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ "Bitrix αž€αŸ’αž“αž»αž„ Kubernetes αž€αŸ†αžŽαŸ‚ Southbridge 1.0"

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹ "αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžαŸ‹αž…αŸαŸ‡αžŸαŸ„αŸ‡αž€αŸ’αž“αž»αž„ Kubernetes" αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž“αŸ…αž―αž€αž·αž…αŸ’αž…αž”αŸ’αžšαž‡αž»αŸ†αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆαž’αŸ’αž“αž€αžŸαŸ’αž‚αžΆαž›αŸ‹αž–αžΆαž€αŸ’αž™ Bitrix, Docker, Kubernetes, Ceph αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž“αŸ…αž€αž˜αŸ’αžšαž·αžαž“αŸƒαž’αžαŸ’αžαž”αž‘αž“αŸ…αž›αžΎαžœαž·αž‚αžΈαž—αžΈαžŒαžΆαŸ”

αžαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαŸ€αž˜β€‹αžšαž½αž…β€‹αž‡αžΆβ€‹αžŸαŸ’αžšαŸαž…β€‹αž’αŸ†αž–αžΈ Bitrix αž“αŸ…β€‹αž€αŸ’αž“αž»αž„ Kubernetes?

αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αžαž·αž…αžαž½αž…αžŽαžΆαžŸαŸ‹αž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαž‘αžΆαŸ†αž„αž˜αžΌαž›αž’αŸ†αž–αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Bitrix αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”
αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαž€αžƒαžΎαž‰αžαŸ‚αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ–

αžšαžΆαž™αž€αžΆαžšαžŽαŸαžŠαŸ„αž™ Alexander Serbul, 1C-Bitrix, αž“αž·αž„ Anton Tuzlukov αž–αžΈ Qsoft:

αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αžŸαŸ’αžαžΆαž”αŸ‹αžœαžΆαŸ”

αž”αž„αŸ’αž€αžΎαžαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž–αžΈαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžŸαžΊαž‚αžΈαžšαŸ‰αž»αž“ αž“αŸ…αž›αžΎ Habre.
αž”αžΆαž“αžšαž€αžƒαžΎαž‰αž…αŸ’αžšαžΎαž“αž‘αŸ€αž αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αŸ‚αž”αž“αŸαŸ‡.

Aaand... αžαžΆαž˜αž–αž·αžαž‘αŸ… αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αžαŸ’αž‰αž»αŸ†β€‹αžŸαžΌαž˜β€‹αž–αŸ’αžšαž˜αžΆαž“β€‹αž’αŸ’αž“αž€ αž™αžΎαž„β€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž‚αž»αžŽαž—αžΆαž–β€‹αž“αŸƒβ€‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αž€αŸ’αž“αž»αž„β€‹αžαŸ†αžŽβ€‹αžαžΆαž„β€‹αž›αžΎ :)
αž“αž·αž™αžΆαž™αž’αžΈαž‰αŸ’αž…αžΉαž„ αž–αŸαž›αžšαŸ€αž”αž…αŸ†αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαž”αžŸαŸ‹αž™αžΎαž„ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž‡αžΆαž˜αž½αž™ Alexander Serbul αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αž˜αž·αž“αž‘αžΆαž“αŸ‹αž›αŸαž…αž…αŸαž‰αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž›αžΆαž™αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž’αžΆαžαž» "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 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž‡αžΆαž…αž˜αŸ’αž”αž„αž›αžΎαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ all-in-one αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™αž™αžΎαž„αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž€αž„αŸ‹αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž™αžΎαž„ αž αžΎαž™αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž–αžΈαž‘αž‘αŸαž‘αŸ€αžαž•αž„αŸ”

αž‘αžΈαž–αžΈαžš - αž€αžΌαžŠαž‚αŸαž αž‘αŸ†αž–αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž–αžΈαž”αž“αŸ’αž‘αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„

αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž•αŸ’αž“αŸ‚αž€αžαŸ’αž˜αžΈαž˜αž½αž™αž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš - αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– (αžαžαžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαž•αŸ’αž“αŸ‚αž€αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜) αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž›αž€αŸ’αžαžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž“αŸƒαžŸαž˜αžΆαžŸαž—αžΆαž‚αž–αžΈαž”αž“αŸ’αž‘αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž›αŸαžαž€αžΌαžŠαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ”

Kubernetes "αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜" αž˜αž·αž“αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž’αž»αž„αž“αŸαŸ‡αž”αžΆαž“αž‘αŸαŸ”

αž αŸαžαž»αž•αž›αŸ– αž€αž»αž„αžαžΊαž“αŸαžšαž“αžΈαž˜αž½αž™αŸ— (αž•αž) αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ‚αž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž…αžšαžΆαž…αžšαžŽαŸαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžαžΌαžšαž›αŸαžαž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ‚αž˜αž½αž™ (αž•αž) αž“αŸ„αŸ‡αž›αŸαžαž€αžΌαžŠαž“αžΉαž„αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž•αžαžƒαŸ‚αžšαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαž»αžŸαž‚αŸ’αž“αžΆ αž αžΎαž™αž€αŸ†αžŽαŸ‚αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž“αŸƒαž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžŠαž›αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ” αž’αŸ’αž“αž€αž˜αž·αž“αž’αžΆαž…αžšαžŸαŸ‹αž“αŸ…αž”αŸ‚αž”αž“αŸ„αŸ‡αž‘αŸαŸ”

αž‘αžΈαž”αžΈ - αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“ monolith αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ "αž”αž»αžšαžΆαžŽ" αž˜αž½αž™ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αžŽαžΆαžŸαŸ‹: αž™αžΎαž„αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαžαŸ’αž˜αžΈ αž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž”αŸ’αžαžΌαžšαž…αžšαžΆαž…αžšαž‘αŸ…αž€αžΆαž“αŸ‹αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž“αŸƒαž€αžΌαžŠαŸ” αž€αžΆαžšαž”αŸ’αžαžΌαžšαž€αžΎαžαž‘αžΎαž„αž—αŸ’αž›αžΆαž˜αŸ—αŸ”
αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“αž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž€αžΆαžαŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„ microservices αž˜αžΆαž“αž’αž»αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž˜αžΆαž“αž›αŸαžαž€αžΌαžŠ - αž’αžΌαŸ” αž’αŸ’αž“αž€β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αŸ’αžšαž˜αžΌαž›β€‹αž€αž»αž„αžαžΊαž“αŸαžšβ€‹αž‡αžΆαž˜αž½αž™β€‹αž€αŸ†αžŽαŸ‚β€‹αžαŸ’αž˜αžΈβ€‹αž“αŸƒβ€‹αž€αžΌαžŠ αžšαž˜αŸ€αž›β€‹αžœαžΆβ€‹αž…αŸαž‰β€‹αž‡αŸ†αž“αž½αžŸβ€‹αž±αŸ’αž™β€‹αž›αŸαžβ€‹αž…αžΆαžŸαŸ‹ αž•αŸ’αž‘αŸαžšβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž±αŸ’αž™β€‹αž”αžΆαž“β€‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž αžΎαž™β€‹αž’αŸ’αžœαžΎβ€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡β€‹αžŠαŸ„αž™β€‹αž’αŸ’αž“αž€β€‹αž‘αžŸαŸ’αžŸαž“αžΆβ€‹αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž€αžαŸ‹β€‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αŸ” αž‡αžΆαžŸαŸ†αžŽαžΆαž„αž›αŸ’αž’ Kubernetes αž‡αž½αž™αž™αžΎαž„αž€αŸ’αž“αž»αž„αžšαžΏαž„αž“αŸαŸ‡ αžŠαŸ„αž™αž‚αžΆαŸ†αž‘αŸ’αžšαž€αŸ’αžšαž»αž˜αž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αŸƒαž”αŸ’αžšαž—αŸαž‘αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž“αŸƒαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αŸ”

αž‘αžΈαž”αž½αž“ - αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸƒαž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‹αž·αžαž·αžœαž“αŸ’αž

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž˜αžΆαž“ "αžαŸ‚" 10 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒ αž αžΎαž™αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžœαžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžš αž’αŸ’αž“αž€αž“αžΉαž„αž”αž‰αŸ’αž…αž”αŸ‹αžŠαŸ„αž™αž’αž»αž„ 10 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒ αžŠαŸ‚αž›αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž‡αžΆαžšαŸ€αž„αžšαž αžΌαžαžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”
αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž•αŸ’αž“αŸ‚αž€ "αž’αŸ’αž„αž“αŸ‹αž”αŸ†αž•αž»αž" αž“αŸƒαž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αŸ…αžαžΆαž„αž€αŸ’αžšαŸ…αž’αž»αž„ αž αžΎαž™αžŸαŸ†αžŽαž½αžšαž€αžΎαžαž‘αžΎαž„αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž’αŸ’αžœαžΎαžœαžΆαž±αŸ’αž™αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ

αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž”αžΆαžαŸ‹αž–αžΈαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαž”αžŸαŸ‹αž™αžΎαž„?

αž›αŸαžαž€αžΌαžŠ Bitrix αž‘αžΆαŸ†αž„αž˜αžΌαž›αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‘αŸ…αž‡αžΆ microfunctions/microservices (αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž‚αžΊαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αž˜αŸ‰αžΌαžŒαž»αž›αž αžΆαž„αž’αž“αž‘αžΆαž‰αž‚αžΊαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ”αž›αŸ”)αŸ” αž™αžΎαž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž»αž„αž“αžΈαž˜αž½αž™αŸ—αŸ”

αž™αžΎαž„αž€αŸαž˜αž·αž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αžαŸ’αž‰αž»αŸ†αž“αŸ…αžαŸ‚αž’αž“αž»αžœαžαŸ’αžαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžšαž·αžŸαŸ’αžαžΆαž“αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž˜αŸ‚αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αž›αž·αžαž€αž˜αŸ’αž˜αž‘αŸ)αŸ”

αžœαžΆαž“αŸ…αžαŸ‚αž’αžΆαž…αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž”αžΆαž“αž…αŸ†αž–αŸ„αŸ‡αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎ Kubernetes αŸ” αž˜αž»αžαž„αžΆαžš "αž–αž·αž“αž·αžαŸ’αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’" αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΌαžŠαž‚αŸαž αž‘αŸ†αž–αŸαžšαž–αžΈαž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž…αž»αž…αž”αŸŠαžΌαžαž»αž„ "αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΌαžŠ" αž‡αžΆαžŠαŸ†αž”αžΌαž„αŸ”

αž”αž‰αŸ’αž αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αžΈαž€αŸ’αžšαžΌαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αž‚αŸ„αž›αžŠαŸ…αž‚αžΊαž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹ - αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž€αžΆαžšαž„αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎ Bitrix αž€αŸ’αž“αž»αž„ Kubernetes αžŠαŸ„αž™αžšαž€αŸ’αžŸαžΆαž”αžΆαž“αž‘αžΆαŸ†αž„αžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹ Bitrix αž“αž·αž„αž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžšαž”αžŸαŸ‹ Kubernetes αŸ” αžαŸ„αŸ‡αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αž“αž»αžœαžαŸ’αžαŸ”

αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜

αž˜αžΆαž“αž•αž "αž’αŸ’αžœαžΎαž€αžΆαžš" αž‡αžΆαž…αŸ’αžšαžΎαž“αž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžš (αž€αž˜αŸ’αž˜αž€αžš)αŸ”
αž€αž·αž…αŸ’αž…αž€αžΆαžšαž˜αž½αž™αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž‡αžΆαž˜αž½αž™ cron (αžαŸ’αžšαžΌαžœαž€αžΆαžšαžαŸ‚αž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡) αŸ”
αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΌαžŠαž‚αŸαž αž‘αŸ†αž–αŸαžšαž–αžΈαž”αž“αŸ’αž‘αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ (αž€αŸαž‘αžΆαž˜αž‘αžΆαžšαžαŸ‚αž˜αž½αž™αž•αž„αžŠαŸ‚αžš) αŸ”

Southbridge αž“αŸ… Chelyabinsk αž“αž·αž„ Bitrix αž“αŸ… Kubernetes

αž™αžΎαž„αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαž½αžšαŸ–

  • αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžœαž‚αŸ’αž‚?
  • αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‘αž»αž€αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹?
  • αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‹αž·αžαž·αžœαž“αŸ’αž αž˜αž·αž“αž˜αŸ‚αž“αžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΆαž€αŸ‹αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαž“αŸƒαž‹αž·αžαž·αžœαž“αŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αž“αŸƒαž’αž»αž„?
  • αžαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…?

αžšαžΌαž”αžαžαžšαž”αžŸαŸ‹ Docker

αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž– Docker αŸ”

αž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸαž›αŸ’αž’αž‚αžΊαžαžΆαž™αžΎαž„αž˜αžΆαž“αžšαžΌαž”αž—αžΆαž–αžŸαž€αž›αž˜αž½αž™ αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžšαž”αžŸαŸ‹αžœαžΆ αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž•αžαžαž›αž€αž˜αŸ’αž˜αž€αžš αž•αžαžƒαŸ‚αžšαž‡αžΆαž˜αž½αž™ Crontasks αž“αž·αž„αžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚αž•αžαŸ”

αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž”αŸ‚αž”αž“αŸαŸ‡.

αžœαžΆαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› nginx, apache/php-fpm (αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αŸ†αž‘αž»αž„αž–αŸαž›αžŸαžΆαž„αžŸαž„αŸ‹) msmtp αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž‰αžΎαžŸαŸ†αž”αž»αžαŸ’αžš αž“αž·αž„ cron αŸ”

αž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αžšαžΌαž”αž—αžΆαž– αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αŸƒαž‚αŸαž αž‘αŸ†αž–αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž˜αŸ’αž›αž„αž‘αŸ…αžαž /app (αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž•αŸ’αž“αŸ‚αž€αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αžŠαŸ‚αž›αž™αžΎαž„αž“αžΉαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€)αŸ”

αžŸαŸαžœαžΆαž˜αžΈαž€αŸ’αžšαžΌ, αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜

αž€αž“αŸ’αžαŸ’αžšαž€αž€αž˜αŸ’αž˜αž€αžšαŸ–

  • αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“ nginx + container apache/php-fpm + msmtp
  • αžœαžΆαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ msmtp αž‘αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαžœαžΆαž˜αžΈαž€αŸ’αžšαžΌαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™ Bitrix αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαžΉαž„αžŠαŸ‚αž›αžœαžΆαž˜αž·αž“αž’αžΆαž…αž•αŸ’αž‰αžΎαžŸαŸ†αž”αž»αžαŸ’αžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹
  • αž’αž»αž„αž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαž–αŸαž‰αž›αŸαž‰αŸ”
  • αž€αžΆαžšαž αžΆαž˜αžƒαžΆαžαŸ‹αž›αžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž›αŸαžαž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

cron αž€αŸ’αžšαŸ„αž˜αŸ–

  • αž’αž»αž„αž‡αžΆαž˜αž½αž™ apache, php, cron
  • αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαž–αŸαž‰αž›αŸαž‰αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›
  • αž αžΆαž˜αžƒαžΆαžαŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„αž’αž»αž„

αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αŸ…αž€αŸ’αžšαŸ„αž˜αŸ–

  • αž’αž»αž„αž•αŸ’αž‘αž»αž€ nginx + apache/php-fpm container + msmtp
  • αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž αžΆαž˜αžƒαžΆαžαŸ‹αž›αžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž›αŸαžαž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαž‘αŸαŸ”

αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžœαž‚αŸ’αž‚

αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ Bitrix

αž…αŸ†αžŽαž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž‘αŸ€αžαŸ– αž™αžΎαž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž’αŸ’αžœαžΈαŸ—αž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„ αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αžŸαŸ†αž”αž»αžαŸ’αžš αž‡αžΆαž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„ kubernetesαŸ” αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ’αžšαžΆαž€αŸ‹αžšαž„αŸ’αžœαžΆαž“αŸ‹αŸ– αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αžαŸ‚αž…αŸ†αž–αŸ„αŸ‡αž’αŸ’αž“αž€αžŠαŸ‚αž›αž™αžΎαž„αž•αŸ’αžαž›αŸ‹αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž αžΎαž™αž˜αž·αž“αž˜αŸ‚αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαžšαž”αžŸαŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸ„αŸ‡αž‘αŸαŸ”

αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‹αž·αžαž·αžœαž“αŸ’αž

αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž’αŸ’αžœαžΈαž€αŸαž”αžΆαž“αŸ– ceph, nfs (αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž˜αž·αž“αžŽαŸ‚αž“αžΆαŸ† nfs αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αž›αž·αž) αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αžŽαŸ’αžαžΆαž‰αž–αžΈαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž–αž–αž€αŸ”αž›αŸ”

αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž—αŸ’αž‡αžΆαž”αŸ‹αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαž‘αŸ…αž€αžΆαž“αŸ‹ /upload/ directory αž“αŸƒαž‚αŸαž αž‘αŸ†αž–αŸαžš αž“αž·αž„αžαžαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΆαžαž·αž€αžΆαž‹αž·αžαž·αžœαž“αŸ’αžαŸ”

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰ αž™αžΎαž„αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αžαžΆαž„αž€αŸ’αžšαŸ… Kubernetes αŸ” αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž‚αžΊαž‡αžΆαž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαŸ’αž˜αž»αž‚αŸ’αžšαžŸαŸ’αž˜αžΆαž‰αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™ αžœαžΆαž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž“αŸƒαž‘αŸ†αž αŸ†αž€αžΆαž“αŸ‹αžαŸ‚αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αŸ”

αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžœαž‚αŸ’αž‚

αž™αžΎαž„αž”αŸ’αžšαžΎ memcached :)

αžœαžΆαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŸαž˜αŸαž™αž”αžΆαž“αž™αŸ‰αžΆαž„αž›αŸ’αž’ αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž‡αžΆαž…αž„αŸ’αž€αŸ„αž˜ αž“αž·αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš "αžŠαžΎαž˜αž€αŸ†αžŽαžΎαž" αž‡αžΆ session.save_path αž€αŸ’αž“αž»αž„ php αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ monolithic αž”αž»αžšαžΆαžŽ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž…αž„αŸ’αž€αŸ„αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž™αžΎαž„αž”αŸ’αžšαžΎαž˜αž½αž€αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ”

$ 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 environments (αžˆαŸ’αž˜αŸ„αŸ‡αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ memcached αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž½αž€αžœαžΆαž“αžΉαž„αžαž»αžŸαž‚αŸ’αž“αžΆ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ sessions αž‘αŸ…αž”αžšαž·αžŸαŸ’αžαžΆαž“αž“αžΈαž˜αž½αž™αŸ—)αŸ”
αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ Bitrix

αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž’αžαŸ‹αž±αž“αž…αŸ†αž–αŸ„αŸ‡αž€αŸ†αž αž»αžŸ αžŠαŸ‚αž›αž•αžαžαž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αžΆαž…αžŸαžšαžŸαŸαžš αž“αž·αž„αž’αžΆαž“αž–αžΈαŸ”

αž™αžΎαž„αž€αŸαž”αŸ’αžšαžΎ memcached αž•αž„αžŠαŸ‚αžšαŸ”
αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŠαŸ„αž™ Bitrix αžαŸ’αž›αž½αž“αžœαžΆαž•αŸ’αž‘αžΆαž›αŸ‹αŸ”

$ helm install stable/memcached --name cache

bitrix/.settings_extra.php - αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž€αŸ’αž“αž»αž„ Bitrix αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€

αž™αžΎαž„αž€αŸαž”αŸ’αžšαžΎ Environment Variables αž•αž„αžŠαŸ‚αžšαŸ”

αž€αŸ’αžšαžΌαž“αžαžΆαžŸαŸ’αž‚αžΈ

αž˜αžΆαž“αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Crontasks αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”

  • αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž‡αžΆαž˜αž½αž™αž•αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Crontasks
  • cronjob αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· crontask (αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž“αŸαŸ‡αž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžŽαŸ’αžαžΆαž‰ - αž‡αžΆαž˜αž½αž™ wget https://$host$cronjobnameឬ kubectl exec αž“αŸ…αžαžΆαž„αž€αŸ’αž“αž»αž„αž•αžαžαž›αž€αž˜αŸ’αž˜αž€αžšαŸ”αž›αŸ”)
  • αž›

αž’αŸ’αž“αž€αž’αžΆαž…αž‡αž‡αŸ‚αž€αžœαŸ‚αž€αž‰αŸ‚αž€αž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž”αŸ†αž•αž»αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž™αžΎαž„αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‡αž˜αŸ’αžšαžΎαžŸ "αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ pods αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Crontasks"

αžαžΎαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…αŸ–

  • αž”αž“αŸ’αžαŸ‚αž˜αž€αž·αž…αŸ’αž…αž€αžΆαžš cron αžαžΆαž˜αžšαž™αŸˆ ConfigMap αž¬αžαžΆαž˜αžšαž™αŸˆαž―αž€αžŸαžΆαžš config/addcron
  • αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαž˜αž½αž™ αž™αžΎαž„αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αž„αžαžΊαž“αŸαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαž”αŸαŸ‡αž”αž·αž‘αž‘αŸ…αž“αžΉαž„αž•αžαžαž›αž€αž˜αŸ’αž˜αž€αžš + αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αž“αž»αžœαžαŸ’αžαž€αž·αž…αŸ’αž…αž€αžΆαžšαž˜αž€αž»αžŠαž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆ
  • αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαžŠαžΌαž…αž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎ αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž”αž„αŸ’αžšαž½αž”αž”αž„αŸ’αžšαž½αž˜ αž€αžΆαžšαž•αŸ’αž‚αž»αŸ†αž€αž»αž„αžαžΊαž“αŸαžšαž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰

αžαžΎαž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž’αŸ’αžœαžΈαž›αŸ’αž’αŸ–

  • αž™αžΎαž„αž˜αžΆαž“αž€αžΆαžšαž„αžΆαžš Crontask αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαž”αŸαŸ‡αž”αž·αž‘αž‘αŸ…αž“αžΉαž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ (docker)
  • Crontasks αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“ "αžŸαžšαžŸαŸαžšαž‘αžΎαž„αžœαž·αž‰" αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kubernetes αž‘αŸ αž–αž½αž€αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž“αž·αž„αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαžŠαžΌαž…αž‚αŸ’αž“αžΆαžŠαžΌαž…αž–αžΈαž˜αž»αž“
  • αž—αžΆαžšαž€αž·αž…αŸ’αž… cron αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ„αž™αžŸαž˜αžΆαž‡αž·αž€αž€αŸ’αžšαž»αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž•αž›αž·αžαž€αž˜αŸ’αž˜ αž˜αž·αž“αž˜αŸ‚αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž‡αžΆαž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ

αž˜αŸ‰αžΌαžŒαž»αž› Southbridge K8SDeploy αž“αž·αž„αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΌαžŠαž–αžΈαž”αž“αŸ’αž‘αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„

αž™αžΎαž„αž€αŸ†αž–αž»αž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αŸ…αž€αŸ’αžšαŸ„αž˜?
αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΉαž€αž“αžΆαŸ†αž…αžšαžΆαž…αžšαžŽαŸαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡?
Hurray αž™αžΎαž„αž”αžΆαž“αžŸαžšαžŸαŸαžšαž˜αŸ‰αžΌαžŒαž»αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„ PHP :) αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αŸ‰αžΌαžŒαž»αž›αž”αž»αžšαžΆαžŽαžαžΌαž…αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Bitrix αŸ” αžœαžΆαž˜αž·αž“αž‘αžΆαž“αŸ‹αž˜αžΆαž“αž‡αžΆαžŸαžΆαž’αžΆαžšαžŽαŸˆαž“αŸ…αž‘αžΎαž™αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž‚αŸ’αžšαŸ„αž„αž“αžΉαž„αž”αžΎαž€αžœαžΆαŸ”
αž˜αŸ‰αžΌαžŒαž»αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αžŠαžΌαž…αž˜αŸ‰αžΌαžŒαž»αž›αž’αž˜αŸ’αž˜αžαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ BitrixαŸ–

Southbridge αž“αŸ… Chelyabinsk αž“αž·αž„ Bitrix αž“αŸ… Kubernetes

αž αžΎαž™αžœαžΆαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

Southbridge αž“αŸ… Chelyabinsk αž“αž·αž„ Bitrix αž“αŸ… Kubernetes

αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αžαžΌαž‚αžΈαžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‚αŸαž αž‘αŸ†αž–αŸαžš αž“αž·αž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™ Kubernetes αž”αž‰αŸ’αž‡αžΌαž“αž…αžšαžΆαž…αžšαžŽαŸαž‘αŸ…αž€αžΆαž“αŸ‹αž•αžαž’αžΆαž”αŸ‹αžŠαŸαžαŸ”

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž…αž»αž… git push αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΌαžŠαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‰αžΎαž‘αŸ…αž€αžΆαž“αŸ‹ git αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž“αŸƒαž€αžΌαžŠ αž αžΎαž™ "roll out" αžœαžΆαž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž…αž„αŸ’αž€αŸ„αž˜αžŠαŸ„αž™αž‡αŸ†αž“αž½αžŸ pods αž…αžΆαžŸαŸ‹αŸ” .

αž”αžΆαž‘ αžœαžΆαž‡αžΆαžˆαžΎαž…αŸ’αžšαžαŸ‹αž”αž“αŸ’αžαž·αž… αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž™αžΎαž„αžšαž€αŸ’αžŸαžΆαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž˜αžΈαž€αŸ’αžšαžΌαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž αžΎαž™αž˜αž·αž“αžŠαž€αž™αž€αž±αž€αžΆαžŸαžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž…αžΌαž›αž…αž·αžαŸ’αžαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž€αžΌαžŠαž–αžΈαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Bitrix αž…αŸαž‰αž–αžΈαž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž“αŸ„αŸ‡αž‘αŸαŸ” αž“αŸ…αž‘αžΈαž”αž‰αŸ’αž…αž”αŸ‹αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαž˜αž½αž™; αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸƒαž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž’αžΈαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ”

αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž˜αž½αž€αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–

αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎ Kubernetes αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž™αžΎαž„αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹ Helm αŸ”
αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ Bitrix αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž›αŸ„αž€ Sergey Bondarev αžŠαŸ‚αž›αž‡αžΆαž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžˆαžΆαž“αž˜αž»αžαž‚αŸαžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžΆαž“αžŸαžšαžŸαŸαžšαžαžΆαžšαžΆαž„ Helm αž–αž·αžŸαŸαžŸαŸ”

αžœαžΆαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αž€αžš, αž€αž˜αŸ’αžšαž·αž, cron pods, αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ ingresses, αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜, αž“αž·αž„αž•αŸ’αž‘αŸαžšαž’αžαŸαžšαž–αžΈ Kubernetes secrets αž‘αŸ… pods αŸ”

αž™αžΎαž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„ Gitlab αž αžΎαž™αž™αžΎαž„αž€αŸαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Helm build αž–αžΈ Gitlab αž•αž„αžŠαŸ‚αžšαŸ”

αž“αž·αž™αžΆαž™αž±αŸ’αž™αžαŸ’αž›αžΈαžœαžΆαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡

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

Helm αž€αŸαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎ rollback "αž‚αŸ’αž˜αžΆαž“αžαŸ’αž“αŸαžš" αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž—αŸ’αž›αžΆαž˜αŸ—αž˜αžΆαž“αž’αŸ’αžœαžΈαž˜αž½αž™αžαž»αžŸαž”αŸ’αžšαž€αŸ’αžšαžαžΈαž€αŸ†αž‘αž»αž„αž–αŸαž›αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αŸ” αžœαžΆαž›αŸ’αž’αžŽαžΆαžŸαŸ‹αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž˜αž·αž“αžŸαŸ’αžαž·αžαž€αŸ’αž“αž»αž„αž—αžΆαž–αž—αŸαž™αžŸαŸ’αž›αž“αŸ‹αžŸαŸ’αž›αŸ„ "αž‡αž½αžŸαž‡αž»αž›αž€αžΌαžŠαžαžΆαž˜αžšαž™αŸˆ ftp αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž•αž›αž·αžαž•αž›αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡" αž”αŸ‰αž»αž“αŸ’αžαŸ‚ Kubernetes αž’αŸ’αžœαžΎαžœαžΆαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž–αŸαž›αžœαŸαž›αžΆαžšαž„αž…αžΆαŸ†αŸ”

αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™

αž”αžΆαž‘ αž™αžΎαž„αž‡αžΆαž’αŸ’αž“αž€αž‚αžΆαŸ†αž‘αŸ’αžš Gitlab & Gitlab CI αž™αžΎαž„αž”αŸ’αžšαžΎαžœαžΆ :)
αž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Gitlab αž‘αŸ…αž€αžΆαž“αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αž‚αž˜αŸ’αžšαŸ„αž„ Gitlab αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžšαž”αŸ’αžšαŸαž„αžŠαŸ‚αž›αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž“αŸƒαž”αžšαž·αžŸαŸ’αžαžΆαž“αŸ”

αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›:

  • build (αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž– Docker αžαŸ’αž˜αžΈ)
  • αžαŸαžŸαŸ’αž (αžŸαžΆαž€αž›αŸ’αž”αž„)
  • αžŸαž˜αŸ’αž’αžΆαž (αž›αž»αž”αž”αžšαž·αž™αžΆαž€αžΆαžŸαžŸαžΆαž€αž›αŸ’αž”αž„)
  • αžšαž»αž‰ (αž™αžΎαž„αž•αŸ’αž‰αžΎαžœαžΆαž‘αŸ…αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡ Docker)
  • αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ (αž™αžΎαž„αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ… Kubernetes αžαžΆαž˜αžšαž™αŸˆ Helm) αŸ”

Southbridge αž“αŸ… Chelyabinsk αž“αž·αž„ Bitrix αž“αŸ… Kubernetes

ហ៊ឺ αžšαž½αž…αžšαžΆαž›αŸ‹αž αžΎαž™ αžαŸ„αŸ‡αž’αž“αž»αžœαžαŸ’αžαžœαžΆ!
αž¬αžŸαž½αžšαžŸαŸ†αžŽαž½αžšαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΎαž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈ

αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαŸ–

  • dockerized Bitrix;
  • "αž€αžΆαžαŸ‹" Bitrix αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž’αž»αž„αž“αžΈαž˜αž½αž™αŸ—αžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž˜αž»αžαž„αžΆαžšαž’αž”αŸ’αž”αž”αžšαž˜αžΆαŸ”
  • αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αžΌαžœαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹αž“αŸƒαž’αž»αž„;
  • αž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– Bitrix αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes;
  • αž˜αž»αžαž„αžΆαžš Bitrix αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αžΆαž“αž”αž“αŸ’αžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš (αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹);
  • αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹ Kubernetes αž“αž·αž„ rollback αžšαžœαžΆαž„αž€αŸ†αžŽαŸ‚αŸ”

αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αŸ–

  • αž€αžΆαžšαž’αžαŸ‹αž’αŸ’αž˜αžαŸ‹αž€αŸ†αž αž»αžŸ;
  • αž§αž”αž€αžšαžŽαŸ Kubernetes (αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‡αžΆαž˜αž½αž™ Gitlab CI αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž‚αŸ’αž˜αžΆαž“αžαŸ’αž“αŸαžšαŸ”αž›αŸ”)
  • αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹ (αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αžαŸ‚αž…αŸ†αž–αŸ„αŸ‡αž’αŸ’αž“αž€αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž…αžΌαž›αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹);
  • αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αžšαž·αž™αžΆαž€αžΆαžŸαž”αž“αŸ’αžαŸ‚αž˜ (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαŸ”αž›αŸ”) αž“αŸ…αž€αŸ’αž“αž»αž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ‚αž˜αž½αž™αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹