![როგორ შეცვალონ გაგზავნილი შეტყობინებები Telegram- ში Android- ისთვის](/f/1651fb350d185f54f752d0b493f2f9d5.jpg?width=100&height=100)
იმ ამ საპასუხო სერიის წინა სტატია, ჩვენ ავუხსენით, რომ Ansible არის აგენტი-ნაკლებად ინსტრუმენტი, რომელიც საშუალებას გაძლევთ სწრაფად და ეფექტურად მართოთ მრავალი მანქანა (ასევე ცნობილია როგორც კვანძები - და ასრულებს მათ განლაგებას ასევე) ერთიდან სისტემა.
პროგრამული უზრუნველყოფის კონტროლერის მანქანაში დაყენების შემდეგ, შექმენით გასაღებები პაროლის გარეშე შესვლისთვის და მათი გადაწერა კვანძებში, დროა ვისწავლოთ თუ როგორ გავაუმჯობესოთ ასეთი დისტანციური სისტემების მართვის პროცესი პასუხგაუცემელი.
ამ სტატიის განმავლობაში, ისევე როგორც შემდეგში, ჩვენ გამოვიყენებთ შემდეგ სატესტო გარემოს. ყველა მასპინძელია CentOS 7 ყუთები:
კონტროლერის მანქანა (სადაც Ansible დამონტაჟებულია): 192.168.0.19 კვანძი 1: 192.168.0.29 კვანძი 2: 192.168.0.30
გარდა ამისა, გთხოვთ გაითვალისწინოთ, რომ ორივე კვანძი დამატებულია ლოკალური ვებ სერვერების განყოფილებაში /etc/ansible/hosts ფაილი:
ამის თქმით, დავიწყოთ ხელთ არსებული თემით.
როგორც წინა სახელმძღვანელოშია აღწერილი, შეგიძლიათ გამოიყენოთ პასუხგაუცემელი კომუნალური დისტანციური კვანძების ბრძანებების გასაშვებად შემდეგნაირად:
# ansible -a "/bin/hostnamectl -სტატიკური" ვებ სერვერები.
ზემოთ მოყვანილ მაგალითში ჩვენ გავიქეცით hostnamectl -სტატიკური
ჩართული კვანძი 1 და კვანძი 2. დიდი დრო არ დასჭირდება იმის გააზრებას, რომ დისტანციურ კომპიუტერებზე ამოცანების გაშვების ეს მეთოდი კარგად მუშაობს მოკლე ბრძანებებისთვის, მაგრამ სწრაფად გახდება დამძიმებული ან ბინძური უფრო რთული ამოცანებისთვის, რომლებიც საჭიროებენ შემდგომ კარგად სტრუქტურირებულ კონფიგურაციის პარამეტრებს ან ურთიერთქმედებას სხვასთან მომსახურება
მაგალითად, დაყენება და კონფიგურაცია WordPress მრავალ მასპინძელზე - რომელსაც ჩვენ გავაშუქებთ ამ სერიის მომდევნო სტატიაში). ეს არის სად სათამაშო წიგნები სცენაზე მოსვლა
მარტივად რომ ვთქვათ, სათამაშო წიგნები არის უბრალო ტექსტური ფაილები, რომლებიც დაწერილია YAML ფორმატირება და შეიცავდეს ჩამონათვალს ერთ ან რამდენიმე გასაღების/მნიშვნელობის წყვილებით (ასევე ცნობილია როგორც "ჰაში"ან"ლექსიკონი”).
თითოეული Playbook– ის შიგნით ნახავთ მასპინძელთა ერთ ან მეტ ჯგუფს (თითოეულ ამ ჯგუფს ასევე ეწოდება a თამაში) სადაც სასურველი ამოცანები უნდა შესრულდეს.
ოფიციალური დოკუმენტების მაგალითი დაგვეხმარება ამის ილუსტრირებაში:
1.მასპინძლები: ეს არის მანქანების სია (პერ /etc/ansible/hosts) სადაც შესრულდება შემდეგი ამოცანები.
2.დისტანციური_მომხმარებელი: დისტანციური ანგარიში, რომელიც გამოყენებული იქნება ამოცანების შესასრულებლად.
3.ვარდები: ცვლადები, რომლებიც გამოიყენება დისტანციური სისტემის (ების) ქცევის შესაცვლელად.
4. ამოცანები შესრულებულია თანმიმდევრობით, სათითაოდ, ყველა მანქანასთან, რომელიც ემთხვევა მასპინძლებს. სპექტაკლის ფარგლებში ყველა მასპინძელი მიიღებს ერთსა და იმავე დავალების დირექტივას.
თუ თქვენ გჭირდებათ კონკრეტული მასპინძლისთვის სხვადასხვა ამოცანების შესრულება, შექმენით სხვა პიესა მიმდინარეში სათამაშო წიგნი (სხვა სიტყვებით რომ ვთქვათ, სპექტაკლის მიზანია მასპინძელთა კონკრეტული შერჩევა ზუსტად განსაზღვრულ ამოცანებზე).
ამ შემთხვევაში, დაიწყეთ ახალი თამაში მასპინძელთა დირექტივის დამატებით ბოლოში და თავიდან დაწყებით:
- მასპინძლები: webservers remote_user: root vars: variable1: value1 variable2: value2 remote_user: root ამოცანები: - სახელი: აღწერა ამოცანა 1 ამოცანა 1: პარამეტრი 1 = მნიშვნელობა_ფუნქციის_ პარამეტრისათვის1 პარამეტრი2 = მნიშვნელობა_ფორმირების 2 - სახელი: აღწერა ამოცანის 1 ამოცანისთვის 2: პარამეტრი 1 = მნიშვნელობა_პარამეტრის 1 პარამეტრი 2 = მნიშვნელობა_პარამეტრის 2 დამმუშავებელი: - სახელი: აღწერა დამმუშავებლისთვის 1 სერვისი: სახელი = სახელი_მომსახურების მდგომარეობა = მომსახურების_სტატუსი. - მასპინძლები: dbservers remote_user: root vars: variable1: მნიშვნელობა 1 ცვლადი 2: მნიშვნელობა 2. …
5. დამმუშავებლები არის მოქმედებები, რომლებიც იწყებენ ამოცანების განყოფილების ბოლოს თითოეულ სპექტაკლში და ძირითადად გამოიყენება სერვისების გადატვირთვისთვის ან დისტანციურ სისტემებში გადატვირთვის გასააქტიურებლად.
# mkdir/etc/ansible/playbooks.
და ფაილი სახელწოდებით apache.yml შიგნით, შემდეგი შინაარსით:
- მასპინძლები: ვებ სერვერები vars: http_port: 80 max_clients: 200 remote_user: root ამოცანები: - სახელი: დარწმუნდით, რომ apache არის უახლესი ვერსიით yum: pkg = httpd მდგომარეობა = უახლესი - სახელი: შეცვალეთ ნაგულისხმევი ინდექსი. html ფაილის ასლი: src =/static_files/index.html dest =/var/www/html/mode = 0644 აცნობეთ: - გადატვირთეთ apache - სახელი: დარწმუნდით, რომ apache მუშაობს (და ჩართეთ ჩატვირთვისას) სერვისი: სახელი = httpd მდგომარეობა = ჩართული ჩართული = დიახ დამმუშავებლები: - სახელი: გადატვირთეთ აპაჩეს სერვისი: სახელი = httpd მდგომარეობა = გადატვირთულია.
მეორე, შექმენით დირექტორია /static_files:
# მკდირი /სტატიკური_ ფაილები.
სადაც შეინახავთ ჩვეულებას index.html ფაილი:
Apache დაიწყო ამ მასპინძელში Ansible– ის საშუალებით
შემოტანილია Tecmint.com– ის მიერ
ამის თქმით, ახლა დროა გამოვიყენოთ ეს სათამაშო წიგნი ადრე ნახსენები დავალებების შესასრულებლად. თქვენ გაითვალისწინებთ, რომ Ansible გადის თითოეულ დავალებას მასპინძლის მიერ, სათითაოდ, და ანგარიშს გაუწევს ასეთი ამოცანების მდგომარეობას:
# ansible-playbook /etc/ansible/playbooks/apache.yml.
ახლა ვნახოთ რა მოხდება, როდესაც ბრაუზერს ვხსნით და ვანიშნავთ მას 192.168.0.29 და 192.168.0.30:
მოდით წავიდეთ კიდევ ერთი ნაბიჯი და ხელით გავაჩეროთ და გამორთოთ Apache კვანძი 1 და კვანძი 2:
# systemctl გაჩერება httpd. # systemctl გამორთეთ httpd. # systemctl აქტიურია httpd. # systemctl ჩართულია httpd.
შემდეგ ისევ გაიქეცი,
# ansible-playbook /etc/ansible/playbooks/apache.yml.
ამჯერად, ამოცანა იუწყება, რომ Apache ვებ სერვერი დაიწყო და ჩართულია თითოეულ მასპინძელზე:
გთხოვთ გაითვალისწინოთ ზემოთ მოყვანილი მაგალითი, როგორც მიმოხილვა Ansible- ის ძალის შესახებ. მიუხედავად იმისა, რომ ეს არის შედარებით მარტივი ამოცანები მცირე რაოდენობის სერვერზე შესრულებისას, ის შეიძლება გახდეს ძალიან დამღლელი და შრომატევადი, თუ თქვენ დაგჭირდებათ იგივე (რამდენიმე ასეულ) აპარატში.
ამ სტატიაში ჩვენ აღვწერეთ, თუ როგორ უნდა გაუშვათ ბრძანებები და შეასრულოთ რთული დავალებები რამდენიმე დისტანციურ მასპინძელზე ერთდროულად Ansible– ის გამოყენებით. ოფიციალური დოკუმენტაცია და GitHub საცავი გთავაზობთ უამრავ მაგალითს და გზამკვლევს, თუ როგორ გამოიყენოთ Ansible თითქმის ნებისმიერი წარმოსახვითი ამოცანის მისაღწევად.
როგორც კი სწავლის დაწყებას იწყებ დისტანციური Linux მასპინძლებზე ამოცანების ავტომატიზირება Ansible– ის გამოყენებით, ჩვენ გვსურს მოვისმინოთ თქვენი აზრები. კითხვები, კომენტარები და წინადადებები ასევე ყოველთვის მისასალმებელია, ასე რომ მოგერიდებათ დაგვიკავშირდეთ ქვემოთ მოცემული ფორმის გამოყენებით ნებისმიერ დროს.