рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рд░ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕

Sysadminka рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХ рдмреИрдардХрд╣рд░реВ рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рднрдЗрд░рд╣реЗрдХреЛ рдЫ, рд░ рдЕрдиреНрддрд┐рдордорд╛ рдореИрд▓реЗ Kubernetes рдорд╛ 1C-Bitrix рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореНрд░реЛ рд╕рдорд╛рдзрд╛рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рд░рд┐рдкреЛрд░реНрдЯ рджрд┐рдПрдБред

Bitrix, Kubernetes, Ceph - рдПрдХ рдорд╣рд╛рди рдорд┐рд╢реНрд░рдг?

рдо рддрдкрд╛рдИрд▓рд╛рдИ рдмрддрд╛рдЙрдиреЗрдЫреБ рдХрд┐ рд╣рд╛рдореА рдХрд╕рд░реА рдпреА рд╕рдмреИрдмрд╛рдЯ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕рдорд╛рдзрд╛рди рд╕рдБрдЧреИ рд░рд╛рдЦреНрдЫреМрдВред

рдЪрд▓реЛ рдЬрд╛рдиреБрд╣реЛрд╕реН!

рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рд░ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕

рднреЗрдЯрдШрд╛рдЯ рдЕрдкреНрд░рд┐рд▓ резрео рдорд╛ рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рднрдПрдХреЛ рдерд┐рдпреЛ ред рддрдкрд╛рдИрд▓реЗ рд╣рд╛рдореНрд░реЛ рднреЗрдЯрдШрд╛рдЯрдХреЛ рдмрд╛рд░реЗрдорд╛ рдпрд╣рд╛рдБ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЯрд╛рдЗрдордкреНрдпрд╛рдб рд░ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН YouTube.

рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╣рд╛рдореАрд▓рд╛рдИ рд░рд┐рдкреЛрд░реНрдЯ рд╡рд╛ рд╢реНрд░реЛрддрд╛рдХреЛ рд░реВрдкрдорд╛ рдЖрдЙрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ - рд╕реНрд╡рд╛рдЧрдд рдЫ, рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН [рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд] рд░ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо t.me/vadimisakanov рдорд╛ред

рдореЗрд░реЛ рд░рд┐рдкреЛрд░реНрдЯ

рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рд░ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕

рд╕реНрд▓рд╛рдЗрдб

рд╕рдорд╛рдзрд╛рди "Bitrix in Kubernetes, рд╕рдВрд╕реНрдХрд░рдг Southbridge 1.0"

рдо рд╣рд╛рдореНрд░реЛ рд╕рдорд╛рдзрд╛рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреБ "рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдорд╛ рдбрдореАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐" рдврд╛рдБрдЪрд╛рдорд╛, рдЬрд╕рд░реА рдмреИрдардХрдорд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рддрд░ рдо рдЕрдиреБрдорд╛рди рдЧрд░реНрдЫреБ рдХрд┐ рддрдкрд╛рдИрд▓рд╛рдИ Bitrix, Docker, Kubernetes, Ceph рд╢рдмреНрджрд╣рд░реВ рдХрдореНрддрд┐рдорд╛ рд╡рд┐рдХрд┐рдкрд┐рдбрд┐рдпрд╛рдорд╛ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╕реНрддрд░рдорд╛ рдерд╛рд╣рд╛ рдЫред

Kubernetes рдорд╛ Bitrix рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдХреЗ рддрдпрд╛рд░ рдЫ?

Kubernetes рдорд╛ Bitrix рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕рдореНрдкреВрд░реНрдг рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдзреЗрд░реИ рдХрдо рдЬрд╛рдирдХрд╛рд░реА рдЫред
рдореИрд▓реЗ рдпреА рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдорд╛рддреНрд░ рдлреЗрд▓рд╛ рдкрд╛рд░реЗ:

рдЕрд▓реЗрдХреНрдЬреЗрдиреНрдбрд░ рд╕рд░реНрдмреБрд▓, 1C-Bitrix, рд░ Qsoft рдмрд╛рдЯ рдПрдиреНрдЯреЛрди Tuzlukov рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ:

рдо рдпрд╕рд▓рд╛рдИ рд╕реБрдиреНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБред

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдмрд╛рдЯ рдЖрдлреНрдиреИ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИ serkyron Habr├й рдорд╛.
рдердк рднреЗрдЯрд┐рдпреЛ рдпрд╕реНрддреЛ рдирд┐рд░реНрдгрдп.

Aaand ... рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпреЛ рд╕рдмреИ рд╣реЛред

рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдиреНрдЫреБ, рд╣рд╛рдореАрд▓реЗ рдорд╛рдерд┐рдХреЛ рд▓рд┐рдЩреНрдХрд╣рд░реВрдорд╛ рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдХреЛ рдЧреБрдгрд╕реНрддрд░ рдЬрд╛рдБрдЪ рдЧрд░реЗрдХрд╛ рдЫреИрдиреМрдВ :)
рдЦреИрд░, рд╣рд╛рдореНрд░реЛ рд╕рдорд╛рдзрд╛рди рддрдпрд╛рд░ рдЧрд░реНрджрд╛, рдореИрд▓реЗ рдЕрд▓реЗрдХреНрдЬреНрдпрд╛рдгреНрдбрд░ рд╕рд░реНрдмреБрд▓рд╕рдБрдЧ рдХреБрд░рд╛ рдЧрд░реЗрдВ, рддреНрдпрд╕рдкрдЫрд┐ рдЙрдирдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдЭреИ рджреЗрдЦрд╛ рдкрд░реЗрдХреЛ рдерд┐рдПрди, рддреНрдпрд╕реИрд▓реЗ рдореЗрд░реЛ рд╕реНрд▓рд╛рдЗрдбрдорд╛ рдПрдЙрдЯрд╛ рд╡рд╕реНрддреБ рдЫ "Bitrix рд▓реЗ Kubernetes рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдиред"

рддрд░ рдбрдХрд░рдорд╛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рддреНрдпрд╣рд╛рдБ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рддрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рдбрдХрд░ рдЫрд╡рд┐рд╣рд░реВ рдЫрдиреН: https://hub.docker.com/search?q=bitrix&type=image

рдХреЗ рдпреЛ Kubernetes рдорд╛ Bitrix рдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫ?
рдЫреИрдиред рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЫрдиреН рдЬреБрди рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

Kubernetes рдорд╛ Bitrix рд╕рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╣реЛ?

рдкрд╣рд┐рд▓реЛ, Dockerhub рдмрд╛рдЯ рддрдпрд╛рд░ рдЫрд╡рд┐рд╣рд░реВ Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫреИрдирдиреН

рдпрджрд┐ рд╣рд╛рдореА рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ (рд░ Kubernetes рдорд╛ рд╣рд╛рдореА рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЧрд░реНрдЫреМрдВ), рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ Kubernetes рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдЕрд▓рдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рд░ рдкреНрд░рддреНрдпреЗрдХ рдХрдиреНрдЯреЗрдирд░рд▓реЗ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рдкреНрд░рдХрд╛рд░реНрдп рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рд░ рдпрд╕рд▓рд╛рдИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН)ред рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдХрд┐рди ? рдЫреЛрдЯрдХрд░реАрдорд╛, рд╕рд░рд▓ рд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпред
рдердк рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рд▓реЗрдЦ рд░ рднрд┐рдбрд┐рдпреЛ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН, рдХреГрдкрдпрд╛: https://habr.com/ru/company/southbridge/blog/426637/

рдбрдХрд░рд╣рдмрдорд╛ рдбрдХрд░ рдЫрд╡рд┐рд╣рд░реВ рдореБрдЦреНрдпрддрдпрд╛ рд╕рдмреИ-рдЗрди-рд╡рди рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛ рдмрдирд╛рдЗрдПрдХрд╛ рдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореАрд▓реЗ рдЕрдЭреИ рдкрдирд┐ рдЖрдлреНрдиреИ рдмрд╛рдЗрдХ рдмрдирд╛рдЙрдиреБрдкрд░реНрдереНрдпреЛ рд░ рд╕реНрдХреНрд░реНрдпрд╛рдЪрдмрд╛рдЯ рдЫрд╡рд┐рд╣рд░реВ рдкрдирд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред

рджреЛрд╕реНрд░реЛ - рд╕рд╛рдЗрдЯ рдХреЛрдб рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрдпрд╛рдирд▓рдмрд╛рдЯ рд╕рдореНрдкрд╛рджрди рдЧрд░рд┐рдПрдХреЛ рдЫ

рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдЗрдЯрдорд╛ рдирдпрд╛рдБ рдЦрдгреНрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдпреМрдВ - рдХреЛрдб рдЕрдкрдбреЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ (рдирдпрд╛рдБ рдЦрдгреНрдбрдХреЛ рдирд╛рдордХреЛ рд╕рд╛рде рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдердкрд┐рдПрдХреЛ рдерд┐рдпреЛ)ред

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрдпрд╛рдирд▓рдмрд╛рдЯ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрдХреЛ рдЧреБрдгрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рднрдпреЛред

Kubernetes "рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛" рдпрд╕рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрджреИрди; рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рд░рд╛рдЬреНрдпрд╡рд┐рд╣реАрди рд╣реБрдиреБрдкрд░реНрдЫред

рдХрд╛рд░рдг: рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдХрдиреНрдЯреЗрдирд░ (рдкреЛрдб) рд▓реЗ рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рдПрдХ рднрд╛рдЧ рдорд╛рддреНрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрдЫред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдХрдиреНрдЯреЗрдирд░ (рдкреЛрдб) рдорд╛ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдХреЛрдб рдлрд░рдХ-рдлрд░рдХ рдкреЛрдбрд╣рд░реВрдорд╛ рдлрд░рдХ рд╣реБрдиреЗрдЫ, рд╕рд╛рдЗрдЯрд▓реЗ рдлрд░рдХ рддрд░рд┐рдХрд╛рд▓реЗ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫ, рд░ рд╕рд╛рдЗрдЯрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рджреЗрдЦрд╛рдЗрдиреЗрдЫред рддрд┐рдореА рдпрд╕рд░реА рдмрд╛рдБрдЪреНрди рд╕рдХреНрджреИрдиреМред

рддреЗрд╕реНрд░реЛ - рддрдкрд╛рдИрд▓реЗ рдбрд┐рдкреНрд▓реЛрдпрдореЗрдиреНрдЯрдХреЛ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ

рдпрджрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдПрдХ рдореЛрдиреЛрд▓рд┐рде рд░ рдПрдЙрдЯрд╛ "рдХреНрд▓рд╛рд╕рд┐рдХ" рд╕рд░реНрднрд░ рдЫ рднрдиреЗ, рд╕рдмреИ рдХреБрд░рд╛ рдПрдХрджрдо рд╕рд░рд▓ рдЫ: рд╣рд╛рдореА рдирдпрд╛рдБ рдХреЛрдб рдЖрдзрд╛рд░ рддреИрдирд╛рде рдЧрд░реНрдЫреМрдВ, рдбрд╛рдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрдЫреМрдВ, рдЯреНрд░рд╛рдлрд┐рдХрд▓рд╛рдИ рдХреЛрдбрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдЫреМрдВред рд╕реНрд╡рд┐рдЪ рддреБрд░реБрдиреНрддреИ рд╣реБрдиреНрдЫред
рдпрджрд┐ рд╣рд╛рдореАрд╕рдБрдЧ Kubernetes рдорд╛ рдПрдХ рд╕рд╛рдЗрдЯ рдЫ, microservices рдорд╛ рдХрд╛рдЯрд┐рдпреЛ, рддреНрдпрд╣рд╛рдБ рдХреЛрдб рд╕рдВрдЧ рдзреЗрд░реИ рдХрдиреНрдЯреЗрдирд░ рдЫрдиреН - рдУрд╣ред рддрдкрд╛рдИрдВрд▓реЗ рдХреЛрдбрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд╕рд╛рде рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдкреБрд░рд╛рдиреЛрдХреЛ рд╕рдЯреНрдЯрд╛ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд░реЛрд▓ рдЖрдЙрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдбрд╛рдЯрд╛рдмреЗрд╕рд▓рд╛рдИ рд╕рд╣реА рд░реВрдкрдорд╛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рдЖрджрд░реНрд╢ рд░реВрдкрдорд╛ рдпреЛ рдЖрдЧрдиреНрддреБрдХрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдзреНрдпрд╛рди рдирджрд┐рдЗрдпреЛрд╕реНред рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, Kubernetes рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрдирд╣рд░реВрдХреЛ рд╕рдореНрдкреВрд░реНрдг рдЧреБрдЪреНрдЫрд╛рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджреИ рдпрд╕рдорд╛ рдорджреНрджрдд рдЧрд░реНрджрдЫред

рдЪреМрдереЛ - рддрдкрд╛рдИрд▓реЗ рд╕реНрдЯреНрдпрд╛рдЯрд┐рдХреНрд╕ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ

рдпрджрд┐ рддрдкрд╛рдЗрдБрдХреЛ рд╕рд╛рдЗрдЯ "рдХреЗрд╡рд▓" 10 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд╣реЛ рд░ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ 10 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдиреБрд╣реБрдиреЗрдЫ рдЬреБрди рд╕рдБрдзреИ рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрди рд▓рд┐рдиреНрдЫред
рддрдкрд╛рдИрдВрд▓реЗ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдмрд╛рд╣рд┐рд░ рд╕рд╛рдЗрдЯрдХреЛ "рд╕рдмреИрднрдиреНрджрд╛ рднрд╛рд░реА" рднрд╛рдЧрд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рд░ рдпреЛ рдХрд╕рд░реА рд╕рд╣реА рддрд░рд┐рдХрд╛рд▓реЗ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдкреНрд░рд╢реНрди рдЙрдареНрдЫред

рд╣рд╛рдореНрд░реЛ рд╕рдорд╛рдзрд╛рдирдмрд╛рдЯ рдХреЗ рдЫреБрдЯреЗрдХреЛ рдЫ?

рд╕рдореНрдкреВрд░реНрдг Bitrix рдХреЛрдб microfunctions/microservices рдорд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЫреИрди (рддрд╛рдХрд┐ рджрд░реНрддрд╛ рдЕрд▓рдЧ рдЫ, рдЕрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдореЛрдбреНрдпреБрд▓ рдЕрд▓рдЧ рдЫ, рдЖрджрд┐)ред рд╣рд╛рдореА рдкреНрд░рддреНрдпреЗрдХ рдХрдиреНрдЯреЗрдирд░рдорд╛ рд╕рдореНрдкреВрд░реНрдг рдХреЛрдб рдЖрдзрд╛рд░ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВред

рд╣рд╛рдореА Kubernetes рдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдкрдирд┐ рднрдгреНрдбрд╛рд░ рдЧрд░реНрджреИрдиреМрдВ (рдореИрд▓реЗ рдЕрдЭреИ рдкрдирд┐ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ Kubernetes рдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд╕рд╛рде рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реЗрдВ, рддрд░ рдЙрддреНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛрдЗрди)ред

рдпреЛ рдЕрдЭреИ рдкрдирд┐ рд╕рд╛рдЗрдЯ рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рди рджрд┐рдиреЗрдЫ рдХрд┐ рд╕рд╛рдЗрдЯ Kubernetes рдорд╛ рдЪрд▓реНрдЫред "рдкреНрд░рдгрд╛рд▓реА рдЬрд╛рдБрдЪ" рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ рд╕рд╣реА рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрджреИрди; рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрдпрд╛рдирд▓рдмрд╛рдЯ рд╕рд╛рдЗрдЯ рдХреЛрдб рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЗ "рдо рдХреЛрдб рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ" рдмрдЯрди рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрдкрд░реНрдЫред

рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕реЗрд╕рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ, рд▓рдХреНрд╖реНрдп рд╕реНрдкрд╖реНрдЯ рдЫ - Kubernetes рдорд╛ Bitrix рдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди, Bitrix рдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВ рд░ Kubernetes рдХреЛ рдлрд╛рдЗрджрд╛рд╣рд░реВ рджреБрд╡реИ рд╕рдВрд░рдХреНрд╖рдг рдЧрд░реНрджреИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрд░реБ рдЧрд░реМрдВред

рд╡рд╛рд╕реНрддреБрдХрд▓рд╛

рд╡реЗрдм рд╕рд░реНрднрд░ (рдХрд╛рдорджрд╛рд░рд╣рд░реВ) рд╕рдБрдЧ рдзреЗрд░реИ "рдХрд╛рдо рдЧрд░реНрдиреЗ" рдкреЛрдбрд╣рд░реВ рдЫрдиреНред
рдХреНрд░реЛрди рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рд╛рдердорд╛ рдПрдХ (рдХреЗрд╡рд▓ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдЫ)ред
рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрдпрд╛рдирд▓рдмрд╛рдЯ рд╕рд╛рдЗрдЯ рдХреЛрдб рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЕрдкрдЧреНрд░реЗрдб (рдХреЗрд╡рд▓ рдПрдХ рдорд╛рддреНрд░ рдЖрд╡рд╢реНрдпрдХ рдЫ)ред

рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рд░ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕

рд╣рд╛рдореА рдкреНрд░рд╢реНрдирд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫреМрдВ:

  • рд╕рддреНрд░рд╣рд░реВ рдХрд╣рд╛рдБ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдиреЗ?
  • рдХреНрдпрд╛рд╕ рдХрд╣рд╛рдБ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ?
  • рд╕реНрдЯреНрдпрд╛рдЯрд┐рдХреНрд╕ рдХрд╣рд╛рдБ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдиреЗ, рдХрдиреНрдЯреЗрдирд░рдХреЛ рдЧреБрдЪреНрдЫрд╛рдорд╛ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ рд░рд╛рдЦреНрдиреБ рд╣реБрдБрджреИрди?
  • рдбрд╛рдЯрд╛рдмреЗрд╕рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдиреЗрдЫ?

рдбрдХрд░ рдЫрд╡рд┐

рд╣рд╛рдореА рдбрдХрд░ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рдЧрд░реЗрд░ рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВред

рдЖрджрд░реНрд╢ рд╡рд┐рдХрд▓реНрдк рдпреЛ рд╣реЛ рдХрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЫрд╡рд┐ рдЫ, рдпрд╕рдХреЛ рдЖрдзрд╛рд░рдорд╛ рд╣рд╛рдореАрд▓реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреЛрдбрд╣рд░реВ, рдХреНрд░рдиреНрдЯрд╛рд╕реНрдХрд╣рд░реВрдХрд╛ рд╕рд╛рде рдкреЛрдбрд╣рд░реВ, рд░ рдкреЛрдбрд╣рд░реВ рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реНрдЫреМрдВред

рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рдпрд╕реНрддреЛ рдЫрд╡рд┐ рдмрдирд╛рдпреМрдВ.

рдпрд╕рдорд╛ nginx, apache/php-fpm (рдирд┐рд░реНрдорд╛рдгрдХреЛ рдХреНрд░рдордорд╛ рдЪрдпрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ), рдореЗрд▓ рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ msmtp, рд░ рдХреНрд░реЛрди рд╕рдорд╛рд╡реЗрд╢ рдЫред

рдЫрд╡рд┐ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрджрд╛, рд╕рд╛рдЗрдЯрдХреЛ рд╕рдореНрдкреВрд░реНрдг рдХреЛрдб рдЖрдзрд╛рд░ / рдПрдк рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░рд┐рдиреНрдЫ (рддреА рднрд╛рдЧрд╣рд░реВ рдмрд╛рд╣реЗрдХ рдЬреБрди рд╣рд╛рдореА рдЫреБрдЯреНрдЯреИ рд╕рд╛рдЭрд╛ рднрдгреНрдбрд╛рд░рдгрдорд╛ рдЬрд╛рдиреЗрдЫреМрдВ)ред

рд▓рдШреБ рд╕реЗрд╡рд╛рд╣рд░реВ, рд╕реЗрд╡рд╛рд╣рд░реВ

рдХрд╛рдорджрд╛рд░ рдкреЛрдб:

  • nginx + рдХрдиреНрдЯреЗрдирд░ apache/php-fpm + msmtp рднрдПрдХреЛ рдХрдиреНрдЯреЗрдирд░
  • рдпрд╕рд▓реЗ msmtp рд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕рдорд╛ рд╕рд╛рд░реНрди рдХрд╛рдо рдЧрд░реЗрди, Bitrix рд▓реЗ рд╕рд┐рдзреИ рдореЗрд▓ рдкрдард╛рдЙрди рд╕рдХреНрджреИрди рднрдиреЗрд░ рдХреНрд░реЛрдзрд┐рдд рд╣реБрди рдерд╛рд▓реЗрдХреЛ рдЫред
  • рдкреНрд░рддреНрдпреЗрдХ рдХрдиреНрдЯреЗрдирд░рдорд╛ рдкреВрд░реНрдг рдХреЛрдбрдмреЗрд╕ рд╣реБрдиреНрдЫред
  • рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдирд┐рд╖реЗрдзред

рдХреНрд░реЛрди рдЕрдиреНрддрд░реНрдЧрдд:

  • apache, php, cron рд╕рдВрдЧ рдХрдиреНрдЯреЗрдирд░
  • рдкреВрд░реНрдг рдХреЛрдб рдЖрдзрд╛рд░ рд╕рдорд╛рд╡реЗрд╢
  • рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдкреНрд░рддрд┐рдмрдиреНрдз

рдЕрдиреНрддрд░реНрдЧрдд рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН:

  • nginx рдХрдиреНрдЯреЗрдирд░ + apache/php-fpm рдХрдиреНрдЯреЗрдирд░ + msmtp
  • рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдХреБрдиреИ рдирд┐рд╖реЗрдз рдЫреИрди

рд╕рддреНрд░ рднрдгреНрдбрд╛рд░рдг

Bitrix рдХреНрдпрд╛рд╕ рднрдгреНрдбрд╛рд░рдг

рдЕрд░реНрдХреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛: рд╣рд╛рдореА рд╕рдмреИ рдХреБрд░рд╛рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ, рдбрд╛рдЯрд╛рдмреЗрд╕рджреЗрдЦрд┐ рдореЗрд▓рд╕рдореНрдо, kubernetes рд░рд╣рд╕реНрдпрд╣рд░реВрдорд╛ред рд╣рд╛рдореАрд▓реЗ рдПрдХ рдмреЛрдирд╕ рдкрд╛рдЙрдБрдЫреМрдВ: рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ рддреА рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд▓рд╛рдИ рдорд╛рддреНрд░ рджреЗрдЦрд┐рдиреНрдЫрдиреН рдЬрд╕рд▓рд╛рдИ рд╣рд╛рдореАрд▓реЗ рдЧреЛрдкреНрдпрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рджрд┐рдиреНрдЫреМрдВ, рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдХреЛрдб рдЖрдзрд╛рд░рдорд╛ рдкрд╣реБрдБрдЪ рднрдПрдХрд╛ рд╕рдмреИрд▓рд╛рдИ рд╣реЛрдЗрдиред

рд╕реНрдЯреНрдпрд╛рдЯрд┐рдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рднрдгреНрдбрд╛рд░рдг

рддрдкрд╛рдИрдВ рдХреЗрд╣рд┐ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: ceph, nfs (рддрд░ рд╣рд╛рдореА рдЙрддреНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ nfs рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджреИрдиреМрдВ), рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдмрд╛рдЯ рдиреЗрдЯрд╡рд░реНрдХ рднрдгреНрдбрд╛рд░рдг, рдЖрджрд┐ред

рднрдгреНрдбрд╛рд░рдгрд▓рд╛рдИ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рд╕рд╛рдЗрдЯрдХреЛ /upload/ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд░ рд╕реНрдерд┐рд░ рд╕рд╛рдордЧреНрд░реА рднрдПрдХрд╛ рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред

рдбрд╛рдЯрд╛рдмреЗрд╕

рд╕рд░рд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдбрд╛рдЯрд╛рдмреЗрд╕рд▓рд╛рдИ Kubernetes рдмрд╛рд╣рд┐рд░ рд╕рд╛рд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдЫреМрдВред Kubernetes рдорд╛ рдЖрдзрд╛рд░ рдПрдХ рдЕрд▓рдЧ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдп рд╣реЛ; рдпрд╕рд▓реЗ рдпреЛрдЬрдирд╛рд▓рд╛рдИ рдкрд░рд┐рдорд╛рдгрдХреЛ рдЕрд░реНрдбрд░ рдердк рдЬрдЯрд┐рд▓ рдмрдирд╛рдЙрдиреЗрдЫред

рд╕рддреНрд░ рднрдгреНрдбрд╛рд░рдг

рд╣рд╛рдореА memcached рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ :)

рдпрд╕рд▓реЗ рд╕рддреНрд░ рднрдгреНрдбрд╛рд░рдг рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрдЫ, рдХреНрд▓рд╕реНрдЯрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ php рдорд╛ session.save_path рдХреЛ рд░реВрдкрдорд╛ "рдиреЗрдЯрд┐рдн рд░реВрдкрдорд╛" рд╕рдорд░реНрдерд┐рдд рдЫред рдпрд╕реНрддреЛ рдкреНрд░рдгрд╛рд▓реА рдХреНрд▓рд╛рд╕рд┐рдХрд▓ рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдорд╛ рдзреЗрд░реИ рдкрдЯрдХ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрдм рд╣рд╛рдореАрд▓реЗ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рд╡реЗрдм рд╕рд░реНрднрд░рд╣рд░реВрд╕рдБрдЧ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВ рдмрдирд╛рдпреМрдВред рдкрд░рд┐рдирд┐рдпреЛрдЬрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рд╣реЗрд▓реНрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред

$ helm install stable/memcached --name session

php.ini - рдпрд╣рд╛рдБ рдЫрд╡рд┐рд▓реЗ memcached рдорд╛ рд╕рддреНрд░рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ

рд╣рд╛рдореАрд▓реЗ рдореЗрдордХреНрдпрд╛рдЪ рднрдПрдХрд╛ рд╣реЛрд╕реНрдЯрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдбреЗрдЯрд╛ рдкрд╛рд╕ рдЧрд░реНрди рд╡рд╛рддрд╛рд╡рд░рдгреАрдп рдЪрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреМрдВ https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/.
рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдбреЗрдн, рд╕реНрдЯреЗрдЬ, рдкрд░реАрдХреНрд╖рдг, рдкреНрд░реЛрдб рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдПрдЙрдЯреИ рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рддрд┐рдиреАрд╣рд░реВрдорд╛ рдореЗрдордХреНрдпрд╛рдЪ рдЧрд░рд┐рдПрдХрд╛ рд╣реЛрд╕реНрдЯ рдирд╛рдорд╣рд░реВ рдлрд░рдХ рд╣реБрдиреЗрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореАрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд╕рддреНрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрд╕реНрдЯ рдирд╛рдо рдкрд╛рд╕ рдЧрд░реНрдиреБрдкрд░реНрдЫ)ред
Bitrix рдХреНрдпрд╛рд╕ рднрдгреНрдбрд╛рд░рдг

рд╣рд╛рдореАрд▓рд╛рдИ рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рднрдгреНрдбрд╛рд░рдг рдЪрд╛рд╣рд┐рдиреНрдЫ рдЬреБрди рд╕рдмреИ рдкреЛрдбрд╣рд░реВрд▓реЗ рд▓реЗрдЦреНрди рд░ рдкрдвреНрди рд╕рдХреНрдЫрдиреНред

рд╣рд╛рдореА memcached рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред
рдпреЛ рд╕рдорд╛рдзрд╛рди Bitrix рджреНрд╡рд╛рд░рд╛ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдПрдХреЛ рдЫред

$ helm install stable/memcached --name cache

bitrix/.settings_extra.php - рдпрд╣рд╛рдБ Bitrix рдорд╛ рдпреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╣рд╛рдБ рдХреНрдпрд╛рд╕ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╣рд╛рдореА рд╡рд╛рддрд╛рд╡рд░рдгреАрдп рдЪрд░рд╣рд░реВ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред

рдХреНрд░рдиреНрдЯрд╛рд╕реНрдХреА

Kubernetes рдорд╛ Crontasks рдЪрд▓рд╛рдЙрди рд╡рд┐рднрд┐рдиреНрди рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВ рдЫрдиреНред

  • Crontasks рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреЛрдбрдХреЛ рд╕рд╛рде рдЫреБрдЯреНрдЯреИ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ
  • cronjob рдХреНрд░реЛрдирдЯрд╛рд╕реНрдХрд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ (рдпрджрд┐ рдпреЛ рд╡реЗрдм рдПрдк рд╣реЛ - wget рд╕рдБрдЧ https://$host$cronjobname, рд╡рд╛ kubectl exec рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреЛрдбрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рднрд┐рддреНрд░, рдЖрджрд┐)
  • рдЖрджрд┐

рддрдкрд╛рдИрдВ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╣реА рдмрд╛рд░реЗ рдмрд╣рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рд╣рд╛рдореАрд▓реЗ "Crontasks рдХреЛ рд▓рд╛рдЧрд┐ pods рд╕рдВрдЧ рдЕрд▓рдЧ рддреИрдирд╛рддреА" рд╡рд┐рдХрд▓реНрдк рд░реЛрдЬреНрдпреМрдВред

рдпреЛ рдХрд╕рд░реА рдЧрд░рд┐рдиреНрдЫ:

  • ConfigMap рдорд╛рд░реНрдлрдд рд╡рд╛ config/addcron рдлрд╛рдЗрд▓ рдорд╛рд░реНрдлрдд рдХреНрд░реЛрди рдХрд╛рд░реНрдпрд╣рд░реВ рдердкреНрдиреБрд╣реЛрд╕реН
  • рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдгрдорд╛ рд╣рд╛рдореА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреЛрдбрд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдХрдиреНрдЯреЗрдирд░ рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ + рдпрд╕рдорд╛ рдХреНрд░рд╛рдЙрди рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • рдПрдЙрдЯреИ рдХреЛрдб рдЖрдзрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдПрдХреАрдХрд░рдг рдХреЛ рд▓рд╛рдЧреА рдзрдиреНрдпрд╡рд╛рдж, рдХрдиреНрдЯреЗрдирд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рд░рд▓ рдЫ

рд╣рд╛рдореАрд▓реЗ рдХреЗ рд░рд╛рдореНрд░реЛ рдкрд╛рдЙрдБрдЫреМрдВ:

  • рд╣рд╛рдореАрд╕рдБрдЧ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд╡рд╛рддрд╛рд╡рд░рдг (рдбрдХрд░) рд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдХреНрд░реЛрдирдЯрд╛рд╕реНрдХрд╣рд░реВ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВред
  • рдХреНрд░реЛрдирдЯрд╛рд╕реНрдХрд╣рд░реВ Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ "рдкреБрдирдГ рд▓реЗрдЦреНрди" рдЖрд╡рд╢реНрдпрдХ рдЫреИрди, рддрд┐рдиреАрд╣рд░реВ рдЙрд╣реА рдлрд╛рд░рдордорд╛ рд░ рдкрд╣рд┐рд▓реЗ рдЬрд╕реНрддреИ рдХреЛрдб рдЖрдзрд╛рд░рдорд╛ рдХрд╛рдо рдЧрд░реНрдЫрдиреН
  • рдХреНрд░реЛрди рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдмреИ рдЯреЛрд▓реА рд╕рджрд╕реНрдпрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрди рд╢рд╛рдЦрд╛рдорд╛ рдкреНрд░рддрд┐рдмрджреНрдз рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ рдердкреНрди рд╕рдХрд┐рдиреНрдЫ, рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВ рдорд╛рддреНрд░ рд╣реЛрдЗрди

рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ K8SD рдбрд┐рдкреНрд▓реЛрдп рдореЛрдбреНрдпреБрд▓ рд░ рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрдпрд╛рдирд▓рдмрд╛рдЯ рдХреЛрдб рд╕рдореНрдкрд╛рджрди

рд╣рд╛рдореА рдЕрдиреНрддрд░реНрдЧрдд рдЕрдкрдЧреНрд░реЗрдбрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИ рдерд┐рдпреМрдВ?
рддреНрдпрд╣рд╛рдБ рдЯреНрд░рд╛рдлрд┐рдХ рдХрд╕рд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧрд░реНрдиреЗ?
рд╣реБрд░реНрд░реЗ, рд╣рд╛рдореАрд▓реЗ PHP рдорд╛ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдореЛрдбреНрдпреБрд▓ рд▓реЗрдЦреНрдпреМрдВ :) рдпреЛ Bitrix рдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╛рдиреЛ рдХреНрд▓рд╛рд╕рд┐рдХ рдореЛрдбреНрдпреБрд▓ рд╣реЛред рдпреЛ рдЕрдЭреИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдкрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫреИрди, рддрд░ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдЦреЛрд▓реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдБрдЫреМрдВред
рдореЛрдбреНрдпреБрд▓ Bitrix рдорд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рдореЛрдбреНрдпреБрд▓ рдЬрд╕реНрддреИ рд╕реНрдерд╛рдкрд┐рдд рдЫ:

рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рд░ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕

рд░ рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рд░ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕

рдпрд╕рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдХреБрдХреА рд╕реЗрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬрд╕рд▓реЗ рд╕рд╛рдЗрдЯ рдкреНрд░рд╢рд╛рд╕рдХрд▓рд╛рдИ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрджрдЫ рд░ Kubernetes рд▓рд╛рдИ рдЕрдкрдЧреНрд░реЗрдб рдкреЛрдбрдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ рдкрдард╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреВрд░рд╛ рднрдПрдкрдЫрд┐, рддрдкрд╛рдИрдВрд▓реЗ git push рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ git рдорд╛ рдкрдард╛рдЗрдиреЗрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдХреЛрдбрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд╕рд╛рде рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреЗрдЫ рд░ рдпрд╕рд▓рд╛рдИ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ "рд░реЛрд▓ рдЖрдЙрдЯ" рдЧрд░реНрдиреЗрдЫ, рдкреБрд░рд╛рдиреЛ рдкреЛрдбрд╣рд░реВ рдмрджрд▓реЗрд░ред ред

рд╣реЛ, рдпреЛ рдПрдХ рдХреНрд░рдЪрдХреЛ рдПрдХ рдмрд┐рдЯ рд╣реЛ, рддрд░ рдПрдХреИ рд╕рдордпрдорд╛ рд╣рд╛рдореА рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛рдпрдо рд░рд╛рдЦреНрдЫреМрдВ рд░ Bitrix рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдмрд╛рдЯ рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрдпрд╛рдирд▓рдмрд╛рдЯ рдХреЛрдб рд╕рдЪреНрдпрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдордирдкрд░реНрдиреЗ рдЕрд╡рд╕рд░рд╣рд░реВ рд╣рдЯрд╛рдЙрдБрджреИрдиреМрдВред рдЕрдиреНрддрдорд╛, рдпреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ; рддрдкрд╛рдИрдВ рдлрд░рдХ рддрд░рд┐рдХрд╛рдорд╛ рдХреЛрдб рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╣реЗрд▓рдо рдЪрд╛рд░реНрдЯ

Kubernetes рдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди, рд╣рд╛рдореА рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╣реЗрд▓реНрдо рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред
Kubernetes рдорд╛ рд╣рд╛рдореНрд░реЛ Bitrix рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреА, Sergey Bondarev, рд╣рд╛рдореНрд░реЛ рдЕрдЧреНрд░рдгреА рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рд▓реЗрдЦреЗред

рдпрд╕рд▓реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛, рдЕрдкрдЧреНрд░реЗрдб, рдХреНрд░реЛрди рдкреЛрдбрд╣рд░реВ, рдХрдиреНрдлрд┐рдЧрд░рд╣рд░реВ, рд╕реЗрд╡рд╛рд╣рд░реВ, рд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд░рд╣рд╕реНрдпрд╣рд░реВрдмрд╛рдЯ рдкреЛрдбрд╣рд░реВрдорд╛ рдЪрд░рд╣рд░реВ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрджрдЫред

рд╣рд╛рдореА рдХреЛрдб Gitlab рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдЫреМрдВ, рд░ рд╣рд╛рдореА Gitlab рдмрд╛рдЯ рд╣реЗрд▓реНрдо рдмрд┐рд▓реНрдб рдкрдирд┐ рдЪрд▓рд╛рдЙрдБрдЫреМрдВред

рдЫреЛрдЯрдХрд░реАрдорд╛, рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ

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

рд╣реЗрд▓реНрдорд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ "рд╕рд┐рдорд▓реЗрд╕" рд░реЛрд▓рдмреНрдпрд╛рдХ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдпрджрд┐ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯрдХреЛ рдХреНрд░рдордорд╛ рдЕрдЪрд╛рдирдХ рдХреЗрд╣рд┐ рдЧрд▓рдд рднрдпреЛ рднрдиреЗред рдпреЛ рд░рд╛рдореНрд░реЛ рдЫ рдЬрдм рддрдкрд╛рдИрдВ рдЖрддрдВрдХрдорд╛ рд╣реБрдиреБрд╣реБрдиреНрди "рдПрдлрдЯреАрдкреА рдорд╛рд░реНрдлрдд рдХреЛрдб рдлрд┐рдХреНрд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐рдирднрдиреЗ рдкреНрд░реЛрдб рдШрдЯреНрдпреЛ," рддрд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд░ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдмрд┐рдирд╛ рдиреИ рдЧрд░реНрдЫред

рддреИрдирд╛рде рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╣реЛ, рд╣рд╛рдореА Gitlab рд░ Gitlab CI рдХреЛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реМрдВ, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ :)
Gitlab рдорд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реАрдорд╛ рдХрдорд┐рдЯ рдЧрд░реНрджрд╛, Gitlab рд▓реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реБрд░реБ рдЧрд░реНрдЫ рдЬрд╕рд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рддреИрдирд╛рде рдЧрд░реНрджрдЫред

рдЪрд░рдгрд╣рд░реВ:

  • рдирд┐рд░реНрдорд╛рдг (рдирдпрд╛рдБ рдбрдХрд░ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджреИ)
  • рдкрд░реАрдХреНрд╖рдг (рдкрд░реАрдХреНрд╖рдг)
  • рд╕рдлрд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рд╣рдЯрд╛рдЙрдБрджреИ)
  • рдкреБрд╢ (рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдбрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рдкрдард╛рдЙрдБрдЫреМрдВ)
  • deploy (рд╣рд╛рдореА рд╣реЗрд▓реНрдо рдорд╛рд░реНрдлрдд Kubernetes рдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдЧрд░реНрдЫреМрдВ)ред

рдЪреЗрд▓реНрдпрд╛рдмрд┐рдиреНрд╕реНрдХрдорд╛ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рд░ рдХреБрдмреЗрд░рдиреЗрдЯрдорд╛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕

рд╣реБрд░реНрд░реЗ, рдпреЛ рддрдпрд╛рд░ рдЫ, рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реМрдВ!
рдареАрдХ рдЫ, рд╡рд╛ рдХреБрдиреИ рдкреНрд░рд╢реНрдирд╣рд░реВ рд╕реЛрдзреНрдиреБрд╣реЛрд╕реНред

рддреНрдпрд╕реЛрднрдП рд╣рд╛рдореАрд▓реЗ рдХреЗ рдЧрд░реНрдпреМрдВ

рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ:

  • рдбрдХрд░рд╛рдЗрдЬреНрдб рдмрд┐рдЯреНрд░рд┐рдХреНрд╕;
  • рдмрд┐рдЯрд┐рдХреНрд╕рд▓рд╛рдИ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ "рдХрдЯ" рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрджрдЫ;
  • рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд░рд╛рдЬреНрдпрд╡рд┐рд╣реАрди рдЕрд╡рд╕реНрдерд╛ рдкреНрд░рд╛рдкреНрдд рднрдпреЛ;
  • Kubernetes рдорд╛ Bitrix рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╕рдВрдЧ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди;
  • рд╕рдмреИ Bitrix рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрд▓реЗ рдХрд╛рдо рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдпреЛ (рд▓рдЧрднрдЧ рд╕рдмреИ);
  • рд╣рд╛рдореАрд▓реЗ Kubernetes рдорд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдмреАрдЪ рд░реЛрд▓рдмреНрдпрд╛рдХрдорд╛ рдХрд╛рдо рдЧрд░реНрдпреМрдВред

рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ:

  • рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛;
  • Kubernetes рдЙрдкрдХрд░рдгрд╣рд░реВ (Gitlab CI рдХреЛ рд╕рд╛рде рд╕рдЬрд┐рд▓реЛ рдПрдХреАрдХрд░рдг, рд╕рд┐рдорд▓реЗрд╕ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ, рдЖрджрд┐);
  • рдЧреЛрдкреНрдп рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ (рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВрдорд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗрд╣рд░реВрд▓рд╛рдИ рдорд╛рддреНрд░ рджреГрд╢реНрдпрд╛рддреНрдордХ);
  • рдпреЛ рдПрдХрд▓ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рднрд┐рддреНрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд╛рддрд╛рд╡рд░рдг (рд╡рд┐рдХрд╛рд╕, рдкрд░реАрдХреНрд╖рдг, рдЖрджрд┐ рдХреЛ рд▓рд╛рдЧреА) рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди