
рдореИрдВ рдЕрдкрдиреА рдХрд╣рд╛рдиреА рдХреЛ рдПрдХ рдЖрд╡реЗрджрди рдХреЛ Openshift рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореИрдВ Openshift рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ kubernetes SPB meetup # 3 рдореЗрдВ рдореЗрд░реА рдкреНрд░рд╕реНрддреБрддрд┐ рдХрд╛ рдкреНрд░рддрд┐рд▓реЗрдЦрди рд╣реИред
Openshift рдкрд░ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ
рд╣рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмреЙрдХреНрд╕ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ, рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рд░рд╣реЗ рдереЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдордиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ред рд╣рдореЗрдВ Openshift рдХреЗ рдЕрдВрджрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЯреНрдпреВрди рдХрд░рдирд╛ рдерд╛ред
рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ

рдЖрд╡реЗрджрди рдПрдХ рд▓рдВрдмреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рдж рд╣реИ, рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЧрд╛рдЗрдб рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреЗрдЬ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╢реАрд░реНрд╖ рд╕реНрддрд░ рд╕реНрдХреАрдорд╛ рдкрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдпрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
- DB рд╕реНрдХреАрдорд╛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреИрдпрд╛рд░ рдХрд░реЗрдВред
- рдЕрдкрдирд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред

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

рдЕрдиреНрд╕рд┐рдмрд▓ рдХрдВрдЯреЗрдирд░ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкреВрд░реЗ рдХрдВрдЯреЗрдирд░ рдмрд┐рд▓реНрдб, рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИред рд╕рднреА рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда, рдпрд╣ рдПрдХ рд╣реА рд╕рд░рд▓, рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рдПрдЬреЗрдВрдЯ рд░рд╣рд┐рдд рд╕реНрд╡рдЪрд╛рд▓рди рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЖрдк рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡реАрдПрдо рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреНрд╕рд┐рдмрд▓ рднреВрдорд┐рдХрд╛рдПрдВ рд▓рд┐рдЦреА рдереАрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдПрдиреНрд╕рд┐рдмрд▓-рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЕрдиреНтАНрдирд┐рдмрд▓ рдХрдВрдЯреЗрдирд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЯреВрд▓рд╕реЗрдЯ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдЯреВрд▓рд╕реЗрдЯ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
- рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдВред
- Dockerfiles рдореЗрдВ рдПрдХ рд╕рд╛рде рд╢реЗрд▓ рдХрдорд╛рдВрдб рдХрд╛ рдкреАрдЫрд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред
рдЕрдиреНрд╕рд┐рдмрд▓ -рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрдореЗрдЬреЗрдВрд╕ рдЧрд╛рдЗрдбрд▓рд╛рдЗрди рдмрдирд╛рдирд╛ рдУрдкрдирд┐рд╢рд┐рдлреНрдЯ рдХрд╛ рдХрдорд╛рд▓ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
- рд╣рдордиреЗ рдЕрдкрдиреА ansible рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐
Docker + systemd = pain
ред - рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдХрд╛рд░рдг, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ Openshift рдХреЗ рдЕрдВрджрд░ рдЪреЗрд░реЛрдЯ, рд╕реБрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рд┐рд░реНрдл CVE-2019-5736 рдкрдврд╝реЗрдВред
- рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ Openshift рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдпрд╛рджреГрдЪреНрдЫрд┐рдХ UID рднреА рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ Openhift рдПрдХ Dockerfile рд╕реЗ USER рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИред
рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг ansible-рдХрдВрдЯреЗрдирд░ рдиреЗ рд╣рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдПрдХ рдбреЗрдореЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреАред
рдПрдХрд╛рдзрд┐рдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдбреЗрдореЛ

рдкрд╣рд▓рд╛ рдбреЗрдореЛ рдХрдВрдЯреЗрдирд░ ansible-container рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдбреЗрдореЛ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЛрдиреЛрд▓рд┐рде рдХрдВрдЯреЗрдирд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ:
- рд╣рдордиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрд╢реЛрдзрди рдХреЗ рдореВрд▓ Openshift PostgreSQL рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
- рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛? рд╣рдордиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░ PODs рдЬреАрд╡рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢рд╛рдирджрд╛рд░ рд▓реЗрдЦ рдкрд╛рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП init рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ / рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрд╡реЗрджрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:
- рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдкрд╛рд╕ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рдкреНрд░рд▓реЗрдЦрди / рдЬреНрдЮрд╛рди рдХреЛ рдХреИрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ред
- рд╕реНрдЯрд╛рд░реНрдЯ рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрд╣ рд▓рдЧрднрдЧ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реИред
- Openshift рдХреЗ рдкреНрд░рд╛рд╡рдзрд╛рди рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рд░рдВрднрд┐рдХред
- рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╛рд╣рд░реА рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЛ рдЪреБрдирд╛, рд╣рдордиреЗ рдЖрд╡реЗрджрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдХреГрддрд┐ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдпрд╛? рд╕рдЪ?

рд╣рдо рдлрд┐рд░ рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝рддреЗ рд╣реИрдВред
рдПрдХ рдлрд▓реА (рд╡реНрд╣реЗрд▓ рдпрд╛ рдордЯрд░ рдХреА рдлрд▓реА рдХреЗ рд░реВрдк рдореЗрдВ) рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рд╕рдореВрд╣ рд╣реИ (рдЬреИрд╕реЗ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░), рд╕рд╛рдЭрд╛ рднрдВрдбрд╛рд░рдг / рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде, рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ред
POD рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред рдирддреАрдЬрддрди, рд╣рдордиреЗ рдПрдХ рдЖрд╡реЗрджрди POD рдореЗрдВ 3 рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛
- рдПрдХ PostgreSQL рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рд▓рд┐рдП Init рдХрдВрдЯреЗрдирд░ред
- рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрдВрдЯреЗрдирд░ред
- рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрд░рдВрднреАрдХрд░рдг рдХрдВрдЯреЗрдирд░ред
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдорд╛рд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рджреЛ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рдФрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдУрдкрдирд╢рдлреНрдЯ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдХреБрдЫ рдореМрдЬреВрдж рд╣реИред
рдкреНрд░рд╡рд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
Openshift рдЯреЗрдореНрдкреНрд▓реЗрдЯ

Openshift рдЯреЗрдореНрдкреНрд▓реЗрдЯ
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рдореВрд▓ рдирд┐рд╡рд╛рд╕реАред рдЗрд╕рдореЗрдВ рдХрдорд╛рд▓ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВред
рд╡рд┐рдкрдХреНрд╖:
- рдлрд┐рд░ рднреА рдПрдХ рдФрд░ YAML рдЯреЗрдореНрдкрд▓реЗрдЯред
- рднрдпрд╛рдирдХ YAML рдлрд╝рд╛рдЗрд▓ рд▓реЙрдЧ рдХрд░реЗрдВред
- рдЖрдк рд╕реЗрд╡рд╛рдУрдВ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдиреБрд▓реЗрдЦ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ

рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧред
рд╡рд┐рдкрдХреНрд╖:

Terraform k8s рдкреНрд░рджрд╛рддрд╛
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рдЖрджреЗрд╢ рдмрдирд╛рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдордд рдХрд░реЛред
- рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЛрдбред
- рдЖрдк рдЖрд░рдВрднреАрдХрд░рдг рддрд░реНрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рдкрдХреНрд╖:
- рдХреЛрдИ Openshift рд╕рдорд░реНрдерди, рдХреЗрд╡рд▓ k8sред
- рдХрднреА-рдХрднреА рдкреБрд░рд╛рдирд╛ред
- рдлрд┐рд░ рднреА рдПрдХ рдФрд░ рдЙрдкрдХрд░рдгред
Ansible-рдХрдВрдЯреЗрдирд░

Ansible-рдХрдВрдЯреЗрдирд░
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
рд╡рд┐рдкрдХреНрд╖:
- рдПрдХ рд╣реА рдкрд░рдд рдХреЗ рдХрд╛рд░рдг рд╡рд┐рд╢рд╛рд▓ рдЪрд┐рддреНрд░ред
- рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдкреБрд░рд╛рдирд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред
Ansible рдХрдВрдЯреЗрдирд░ рдХреЛ Ansible рд╢рд░рд╛рдмреА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
Ansible k8s рдореЙрдбреНрдпреВрд▓

Ansible + k8s рдореЙрдбреНрдпреВрд▓
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓ рдкреНрд▓реЗрдмреБрдХред
- рднреВрдорд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдЖрдк рдЖрд░рдВрднреАрдХрд░рдг рддрд░реНрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рдкрдХреНрд╖:
- рдХреЛрдИ рдкреНрд░реЙрдХреНрд╕реА рд╕рдорд░реНрдерди рдирд╣реАрдВред
- рдЖрдк рд╣рдЯрд╛рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
- рдЖрдк рдЖрджреЗрд╢ рдмрдирд╛рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдкреНрд░рд╛рд░рдВрдн рд╕реЗ рдкрд╣рд▓реЗ рдЖрд╡реЗрджрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдиреНрд╕рд┐рдмрд▓ рдкреНрд▓реЗрдмреБрдХ рдмрдВрдбрд▓

рдЕрдиреНрд╕рд┐рдмрд▓ рдкреНрд▓реЗрдмреБрдХ рдмрдВрдбрд▓ (APB) рдПрдХ рд╣рд▓реНрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ (рдореЗрдЯрд╛-рдХрдВрдЯреЗрдирд░) рд╣реИред рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЬрдЯрд┐рд▓ рд╕рдореВрд╣реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗрд╡рд╛ рдмреНрд░реЛрдХрд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ OpenShift рдУрд░рд┐рдЬрд┐рдирд▓ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рддреА рд╡рд┐рдиреНрдпрд╛рд╕, рддреИрдирд╛рддреА рдФрд░ рд╕реЗрд╡рд╛рдПрдБред APB, Ansible рдХреА рд╢рдХреНрддрд┐ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐ рдФрд░ рд╕рд░рд▓ рд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред APB рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:

рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬрд╝ рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ Openshift рдХреЗ рдЕрдВрджрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдЕрдиреНрд╕рд┐рдмрд▓ рдкреНрд▓реЗрдмреБрдХ рдмрдВрдбрд▓
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рдмрдВрдбрд▓реЛрдВ рд╕рдм рдХреБрдЫред
- рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рдФрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпред
- рд╕реЗрд╡рд╛ рд╕реВрдЪреА рдПрдХреАрдХрд░рдгред
рд╡рд┐рдкрдХреНрд╖:
- рдЖрдкрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЪрд╛рд╣рд┐рдПред
- рдкреНрд░рд▓реЗрдЦрди рдХрднреА-рдХрднреА рдкреБрд░рд╛рдирд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо

рдПрдХ рд╣рд╛рде рдореИрдВ рдЕрдВрддрд┐рдо рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рдмрдирдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдУрд░, рдореИрдВ рдЕрдкрдиреА рдмрд╛рдд рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреЛрдИ рдЪрд╛рдВрджреА рдХреА рдЧреЛрд▓реА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
- рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Ansible k8s рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреА рдкрд╕рдВрдж рд╣реИред
- рдпрджрд┐ рдЖрдк рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рджрд▓рд╛рд▓ рдФрд░ Ansible Playbook рдмрдВрдбрд▓ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреБрдирд╢реНрдЪ