рдореИрдВ рдорд┐рд░реЛ (рдкреВрд░реНрд╡-рд░рд┐рдпрд▓рдЯрд╛рдЗрдо рдмреЛрд░реНрдб) рдореЗрдВ рдПрдХ рд▓реАрдб рджреЗрд╡реЛрдкреНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реВрдВред рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рд╣рдорд╛рд░реА DevOps рдЯреАрдо рдиреЗ рдПрдХ рдЕрдЦрдВрдб рд░рд╛рдЬрдХреАрдп рдЖрд╡реЗрджрди рдХреЗ рджреИрдирд┐рдХ рд╕рд░реНрд╡рд░ рд░рд┐рд▓реАрдЬ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрджреГрд╢реНрдп рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдпрд╛ред
рд╣рдорд╛рд░рд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛
рд╣рдорд╛рд░реА рд╡рд┐рдХрд╛рд╕ рдЯреАрдо 60 рд▓реЛрдЧ рд╣реИрдВ, рдЬреЛ рд╕реНрдХреНрд░реИрдо-рдЯреАрдореЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рджреЗрд╡рдУрдкреНрд╕ рдЯреАрдо рднреА рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдХреНрд░рдо рдХрдорд╛рдВрдб рдЙрддреНрдкрд╛рдж рдХреА рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВред DevOps рдХрд╛ рдХрд╛рд░реНрдп рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪрд╛ рдмрдирд╛рдирд╛ рдФрд░ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рдФрд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЯреАрдореЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рдПрдХ рдЕрдВрддрд╣реАрди рдСрдирд▓рд╛рдЗрди рдмреЛрд░реНрдб рд╣реИред рдЗрд╕рдореЗрдВ рддреАрди рдкрд░рддреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдПрдХ рд╕рд╛рдЗрдЯ, рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ, рдФрд░ рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░, рдЬреЛ рдПрдХ рдЕрдЦрдВрдб рд╕реНрдЯреЗрдЯрдлреБрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░рдВрддрд░ рд╡реЗрдм-рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдЦреБрд▓реЗ рдмреЛрд░реНрдбреЛрдВ рдХреЗ рдХреИрд╢ рдореЗрдВ рдореЗрдореЛрд░реА рд░рдЦрддрд╛ рд╣реИред
рд╕рдВрдкреВрд░реНрдг рдЕрд╡рд╕рдВрд░рдЪрдирд╛ - 70 рд╕реЗ рдЕрдзрд┐рдХ рд╕рд░реНрд╡рд░ - рдЕрдореЗрдЬрд╝реЕрди рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ: рд╣рдорд╛рд░реЗ рдЬрд╛рд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рд╡реЗрдм рд╕рд░реНрд╡рд░, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░, рджрд▓рд╛рд▓реЛрдВ рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЗ рд╕рд╛рде 30 рд╕реЗ рдЕрдзрд┐рдХ рд╕рд░реНрд╡рд░ред рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕рдм рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХрд╛рдо рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ред
рд╕рд╛рдЗрдЯ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╕рд░рд▓ рд╣реИ: рд╣рдо рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдПрдХ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдирдИ рд╕рд╛рдЗрдЯ рдФрд░ рдПрдХ рдирдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рд╕рд░реНрд╡рд░ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдкрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдпрд╣ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдХрд╛ рдореБрдЦреНрдп рдореВрд▓реНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдВрдпреБрдХреНрдд рдХрд╛рд░реНрдп рд╣реИред
рд╣рдорд╛рд░реА CI / CD рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ
рд╣рдорд╛рд░реЗ рд╕рд╛рде CI / CD рдкреНрд░рдХреНрд░рд┐рдпрд╛ git рдХрдорд┐рдЯ, git рдкреБрд╢, рдлрд┐рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА, рдСрдЯреЛ-рдЯреЗрд╕реНрдЯрд┐рдВрдЧ, рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╣реИред

рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдмрд╛рдВрд╕ рдФрд░ рдмрд┐рдЯрдмрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП - рдЬрд╛рд╡рд╛ рдФрд░ рдкрд╛рдпрдерди, рдФрд░ рд▓реБрднрд╛рдирд╛ - рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдирд┐рд░рдВрддрд░ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП - рдкреИрдХрд░, Ansible рдФрд░ рдкрд╛рдпрдердиред рд╕рднреА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ ELK Stack, Prometheus рдФрд░ Sentry рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИред
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп рдЯреАрдо рдХреЗ рдЕрдВрджрд░ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЗрдХрдЯреНрдард╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд╕рд╣рд┐рдд рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдЯреАрдо рдмрд┐рд▓реНрдб рдХреЛ рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдореЗрдВ рд░рдЦрддреА рд╣реИ, рдФрд░ рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдбрд┐рдмрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рджрдо рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдПрдордЖрдИ рдЫрд╡рд┐
рдмрд┐рд▓реНрдб рдмрд┐рд▓реНрдб рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░, рдЕрдореЗрдЬрд╝реЕрди рдХреЗ рд▓рд┐рдП рдПрдПрдордЖрдИ рдЫрд╡рд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо HashiCorp рд╕реЗ рдкреИрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдорд╣рд╛рди рдУрдкрдирд╕реЛрд░реНрд╕ рдЯреВрд▓ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде JSON рдХреЛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдмрд┐рд▓реНрдбрд░реЛрдВ рд╣реИ, рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдореЗрдЬрд╝реЕрди рдХреЗ рд▓рд┐рдП)ред
"builders": [{ "type": "amazon-ebs", "access_key": "{{user `aws_access_key`}}", "secret_key": "{{user `aws_secret_key`}}", "region": "{{user `aws_region`}}", "vpc_id": "{{user `aws_vpc`}}", "subnet_id": "{{user `aws_subnet`}}", "tags": { "releaseVersion": "{{user `release_version`}}" }, "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": "packer-board-ami_{{isotime \"2006-01-02_15-04\"}}" }],
рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдо рди рдХреЗрд╡рд▓ рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдХреА рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдПрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ Ansible: рдПрдХ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрдирд╛рдПрдВред
"provisioners": [{ "type": "ansible", "playbook_file": "./playbook.yml", "user": "ubuntu", "host_alias": "default", "extra_arguments": ["--extra_vars=vars"], "ansible_env_vars": ["ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_NOCOLOR=True"] }]
Ansible-рднреВрдорд┐рдХрд╛рдУрдВ
рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдПрдиреНрд╕рд┐рдмрд▓ рдкреНрд▓реЗрдмреБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдмрд╣реБрдд рджреЛрд╣рд░рд╛рд╡ рдХреЛрдб рд╣реЛрддрд╛ рдерд╛, рдЬреЛ рдЖрдЬ рддрдХ рдмрдирд╛ рд░рд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╣рдордиреЗ рдПрдХ рдкреНрд▓реЗрдмреБрдХ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛, рдЗрд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рдЧрдПред рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ Ansible-рд░реЛрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдмрд╣реБрдореБрдЦреА рдмрдирд╛рдпрд╛ рддрд╛рдХрд┐ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдЙрдирдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдмрдбрд╝реЗ рджреЛрд╣рд░рд╛рдП рдЧрдП рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдХреЛрдб рдХреЛ рдЕрдзрд┐рднрд╛рд░ рди рдбрд╛рд▓реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдЧрд░рд╛рдиреА рднреВрдорд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
- name: Install all board dependencies hosts: all user: ubuntu become: yes roles: - java - nginx - board-application - ssl-certificates - monitoring
рд╕реНрдХреНрд░рдо-рдЯреАрдореЛрдВ рдХреА рдУрд░ рд╕реЗ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рджрд┐рдЦрддреА рд╣реИ: рдЯреАрдо рдХреЛ рд╕реНрд▓реИрдХ рдореЗрдВ рд╕реВрдЪрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВ рдХрд┐ рдмрд┐рд▓реНрдб рдФрд░ рдПрдПрдордЖрдИ-рдЫрд╡рд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреВрд░реНрд╡ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐
рд╣рдордиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрддреНрдкрд╛рдж рдкрд░рд┐рд╡рд░реНрддрди рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рдХреА рд╢реБрд░реБрдЖрдд рдХреАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рдХреИрдирд░реА рд░рд┐рд▓реАрдЬрд╝ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рдкреНрд░рддрд┐рд╢рдд рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рд░рд┐рд▓реАрдЬ рдХреЛ рдХреИрдирд░реА рдХреНрдпреЛрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ? рдкрд╣рд▓реЗ, рдЦрдирд┐рдХ, рдЬрдм рд╡реЗ рдЦрджрд╛рди рдореЗрдВ рдЙрддрд░реЗ, рдЙрдирдХреЗ рд╕рд╛рде рдПрдХ рдХреИрдирд░реА рд▓реЗ рдЧрдПред рдЕрдЧрд░ рдЦрджрд╛рди рдореЗрдВ рдЧреИрд╕ рд╣реЛрддреА рддреЛ рдХреИрдирд░реА рдорд░ рдЬрд╛рддреА, рдФрд░ рдЦрдирд┐рдХ рддреЗрдЬреА рд╕реЗ рд╕рддрд╣ рдкрд░ рдЖ рдЧрдПред рддреЛ рдпрд╣ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╣реИ: рдЕрдЧрд░ рд╕рд░реНрд╡рд░ рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛрддреА рд╣реИ, рддреЛ рд░рд┐рд▓реАрдЬ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдЫ рднреА рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдХреИрдирд░реА рд░рд┐рд▓реАрдЬрд╝ рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ:- рдПрдХ рдмрдЯрди рдкрд░ рдмрд╛рдВрд╕ рдХреЗ рдХреНрд▓рд┐рдХ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо -> рдПрдХ рдкрд╛рдпрдерди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред
- рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ рдПрдПрдордЖрдИ рдЫрд╡рд┐ рд╕реЗ рдЕрдореЗрдЬрд╝реЕрди рдореЗрдВ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИред
- рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд▓рдХреНрд╖реНрдп рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмреИрд▓реЗрдВрд╕рд░реЛрдВ рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- Ansible рдХреЗ рд╕рд╛рде, рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╕реНрдХреНрд░рдо рдХрдорд╛рдВрдбреНрд╕ рдХреА рдУрд░ рд╕реЗ, рдкреНрд░реА-рд░рд┐рд▓реАрдЬрд╝ рд▓реЙрдиреНрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдлрд┐рд░ рд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рджрд┐рдЦрддреА рд╣реИ: рдЯреАрдо рдХреЛ рд╕реНрд▓реИрдХ рдореЗрдВ рд╕реВрдЪрдирд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ 7 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдирдпрд╛ рд╕рд░реНрд╡рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд╛рд▓реВ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкреВрд░реЗ рдЪреИрдВрдЬ рдХреЛ рдзреАрдорд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдЬрддрд╛ рд╣реИред
рдЗрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рдмрд╛рдзрд╛ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рдо рдЯреАрдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдореЗрдВ рдирдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдмрдЧ рдЯреНрд░реИрдХрд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рд╕рдВрддрд░реА рдЬрд╛рд╡рд╛ рдХреЗ рд╕рд╛рде рдореВрд▓ рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд▓реЙрдЧрдмреИрдХ рдФрд░ рд▓реЙрдЧ 2 рдЬреЗ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрдЯрд░реНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕рдВрддрд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЬрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣реБрдЖ рд╣реИред рдпрд╣ рд╕реНрдХреНрд░реЗрдо рдЯреАрдореЛрдВ рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЬрд▓реНрджреА рд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдХрдо рд╕реЗ рдХрдо 4 рдШрдВрдЯреЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдЯреАрдо рдЕрдкрдиреЗ рдХрд╛рдо рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИ рдФрд░ рдпрд╣ рддрдп рдХрд░рддреА рд╣реИ рдХрд┐ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдЬрд╛рд░реА рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдХрдИ рдЯреАрдореЗрдВ рдПрдХ рд╕рд╛рде рдЕрдкрдиреА рд░рд┐рд▓реАрдЬ рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреА рд╣реИрдВ ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реЗ рдЖрдкрд╕ рдореЗрдВ рд╕рд╣рдордд рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрд┐рдо рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХреМрди рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЯреАрдореЗрдВ рдпрд╛ рддреЛ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдПрдХ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЬреЛрдбрд╝рддреА рд╣реИрдВ, рдпрд╛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рд▓реЙрдиреНрдЪ рдХрд░рддреА рд╣реИрдВред рдпрджрд┐ рд╕рднреА рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рд╕рд╣реА рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдЧрд▓реЗ рджрд┐рди рдПрдХ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рдЬреНрдЮрдкреНрддрд┐
рд╣рдо рдПрдХ рджреИрдирд┐рдХ рд░рд┐рд▓реАрдЬ рдХрд░рддреЗ рд╣реИрдВ:
- рд╣рдо рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рд╕рд░реНрд╡рд░ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВред
- рд╣рдо рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдП рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВред
- рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рд╕рд░реНрд╡рд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдмрдВрдж рдХрд░реЗрдВред
- рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреБрд░рд╛рдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдирдП рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- рдкреБрд░рд╛рдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред
рд╕рдм рдХреБрдЫ рдмрд╛рдВрд╕ рдФрд░ рдкрд╛рдпрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓ рд░рд╣реЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирдП рд▓реЛрдЧреЛрдВ рдХреА рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╡реЗ рдПрдПрдордЖрдИ рдЫрд╡рд┐ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╣реИрдВред рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрди рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╕рдордп, рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдпрдерди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирдП рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЦреБрд▓реЗ рдмреЛрд░реНрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдпрд╣ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреБрд░рд╛рдиреЗ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирдП рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
import requests PROMETHEUS_URL = 'https://prometheus' def get_spaces_count(): boards = {} try: params = { 'query': 'rtb_spaces_count{instance=~"board.*"}' } response = requests.get(PROMETHEUS_URL, params=params) for metric in response.json()['data']['result']: boards[metric['metric']['instance']] = metric['value'][1] except requests.exceptions.RequestException as e: print('requests.exceptions.RequestException: {}'.format(e)) finally: return boards
рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧреНрд░рд╛рдлрд╛рдирд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдмрд╛рдПрдВ рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ, рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рджрд╛рдИрдВ рдУрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ - рдирдП рдкрд░ред рдЪрд╛рд░реНрдЯ рдХрд╛ рдЕрдВрддрд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХрд╛ рдХреНрд╖рдг рд╣реИред

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

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