1 קלח - Ansible לש הבילה יביכר תא ןיבהל


.תיטמוטואל םימושייו תוכרעמ תרוצת תא ךופהל ידכ Ansible -ב שמתשהל ךירושיכ תא תקדובה Red Hat לש השדח הכמסה תינכות אוה Ansible (EX407) לש תיטמוטוא הניחבב טאה דר לש ךמסומה החמומה

:Ansible לש וז הרדסב קוסענ םתוא ,Ansible 2.7 -ו Red Hat Enterprise Linux 7.5 לע ססבתהב םיאבה הניחבה ידעי תא הסכמ איהו "Ansible (EX407) לש תיטמוטוא הניחבב טאה דר לש ךמסומה החמומה" תרתוכה תא

.Ansible Automation לש הניחבה ףדב ןייע ,ךצראב הניחבל םשריהלו תורגא גיצהל ידכ

.Ansible -ב הבילה יביכר לש תויסיסב תוריקס המכב ןודנ ,Ansible הרדסה לש הז קלחב

Ansible לש חותפ רוקמו תימניח היצמוטוא תמרופטלפ הניה RedHat םכלש םיתרשה תא תוחונב להנלו יזכרמ םוקיממ תוחונב תאז תושעל ולכות ,םכלש תומישמה תא עצבלו וללה םיקחורמה םיתמצהמ דחא לכל סנכיהל םוקמב

.תונשנו תורזוח תומישמ לש היצמוטוא עצבלו תישונאה תועטה תא תיחפהל ,םימושייה תסירפב תויבקע לע רומשל םיצורשכ ליעומ הז

.דומלל טושפו שומישל לק אוהש םושמ רקיעב ףידע Ansible ,תאז םע .חלמו ףש ,הבוב ומכ Ansible -ל תורחא תוביטנרטלא שיש ןבומכ

.םתיא רשקתל ידכ םיקחורמ םיתמצב ןכוס ןיקתהל ךממ תושרודש תורחא היצמוטוא תומרופטלפל דוגינב ,םיקחורמ םיתרש םע רשקתל ידכ SSH לוקוטורפב שמתשמ YAML .ןהירחא בוקעל לק ידו תוישונא תואירק ןהלש היצמוט

.םימדקתמ ונאש ןמזב םילבלובמ וא דוביאל וכלת אלש ידכ תויסיסב תויגולונימרט המכ וריכתש בושח ,Ansible םע ליחתנש ינפל

.םהלש IP -ה תובותכ וא םהלש חראמה תומש ךמס לע םיטרופמ םיתרשה ללכ ךרדב .רידגמו להנמ התאש םיתמצ וא םיתרש תמישר ליכמה טסקט ץבוק אוה יאלמ

:גצומכ ןהלש IP -ה תובותכ ידי לע תורדגומה תוקחורמ תוכרעמ ליכהל לוכי יאלמ ץבוק

10.200.50.50
10.200.50.51
10.200.50.52

.הלועפה יכילהת תא רתוי דוע טשפמ הז .םהלש IP -ה תובותכ אלו םהיתוצובק תומש יפ לע םהילא סחייתהל ןתינ וז ךרדב .עדימ ירגאמו טנרטניא יתרש - תוצובק 2 תחת םיתרש ונל שי ןלהלש המגודב .תוצובק יפל םתו

[webservers]
10.200.50.60
10.200.50.61

[databases]
10.200.50.70
10.200.50.71

.הלודג רוציי תביבסב אצמנ התא םא םיתרש רפסמ םע תוצובק רפסמ םייקל לוכי התא

.YAML טמרופב םיבותכ תוארוהה וא םיטירסתה .חראמ תונוכמ תצובקב וא םיקחורמ םיחראמב תומישמ עצבל דציכ םירידגמה הרוצת לוהינל םיטפירקס לש הצובק איה העמשה תרבוח

.httpd.yml ול אורקלו CentOS 7 -ב Apache לש טנרטניאה תרש תנקתהל סקיילפ ץבוק קיזחהל לוכי התא ,המגודל

.הדוקפה תא לעפה העמשהה תרבוח רוציל ידכ

$ touch playbook_name.yml

.הדוקפה תא לעפה ,httpd םשב המשה תרבוח רוציל ידכ אמגודל

$ touch httpd.yml

.תואבה תוארוהה תא ףסוה ,ץבוקה ךותב .גצומש יפכ םיפקמ 3- ב ליחתמ YAML ץבוק

---
- name: This installs and starts Apache webserver
  hosts: webservers

  tasks:
  - name: Install Apache Webserver 
    yum:   name=httpd  state=latest

 - name: check httpd status
    service:   name=httpd  state=started

.לעופו לעפומ Apache טנרטניאה תרש םא רתוי רחואמ קדוב Ansible ,טנרטניאה תרש תנקתה רחאל .יאלמה ץבוקב םיתרשכ תורדגומה תוקחורמ תוכרעמב י'צאפא לש טנרטניאה תרש תא הניקתמ ל"נה קחשמה תרבוח

.חוכיו חכוותמ לודומ לכ ירחא .םיקחורמ םיתרשב וא םיחראמב תודוקפ עוציבל הלעפה ירפסב תושמשמה תודרפנ דוק תודיחי םה םילודומ

.ךרע :חתפמה אוה לודומ לש יסיסבה טמרופה

- name: Install apache packages 
    yum:   name=httpd  state=present

.םילודומ םה yum -ו name-,ליעל YAML לש דוקה עטקב

.YAML טמרופב תומייק תוגצה .תרשב עצובתש המישמה תא רוריבב עבוק םהמ דחא לכש ,םיבורמ תוזחמ לש ףסוא אוה העמשה רפס ,תורחא םילימב .קחשמ רפס הווהמ תוגצה ףסוא .תרשב עצבל שיש המישמה תא םירידגמה הארו

.תויתואב ליחתהל בייח דימת ךא ןותחת וקו תורפס ,תויתוא לולכל לוכי הנתשמ .ךרע גציימ הנתשמ ,ןורקיעב .םינתשמב תשמתשהש חינהל ריבס ,תונכתב עקר ךל שי םא

.םינוש תונוכתו םיתוריש וא הרוצתה ךלהמב דחוימב ןוכנ הז .תרחאל תחא תכרעממ תונתשמ תוארוה רשאכ םינתשמב םישמתשמ

:םינתשמ לש םיירקיע םיגוס 3 םנשי

    .ךרעהו הנתשמה םש ןכמ רחאלו ,vars k תועצמאב הליחת םירדגומ םינתשמה ,Ansible -ב

    :גצומכ אוה ריבחתה

    vars:
    Var name1: ‘My first variable’
    	Var name2:  ‘My second variable’
    

    .הטמלש דוקה תא לוקש

    - hosts: webservers
      vars: 
        - web_directory:/var/www/html/
    

    .var/www/html/path/ב הירפס רוציל תורשפאל הרומ אוהו web_directory אוה ןאכ הנתשמה ,ליעלש המגודב

    .המכ ריכזהל ידכ ,דבעמ תובילו דבעמ גוס ,הלעפה תכרעמ תחפשמ ,חראמ םש םיללוכ םינייפאמה .תחראמ תכרעמב העמשה תרבוח תעצבמ איה רשאכ Ansible ידי לע ופסאנש תכרעמ ינייפאמ ןה תודבוע

    .הדוקפה תא אצוה ,שומישל תונימזה תודבועה רפסמל הצצה לבקל ידכ

    $ ansible localhost -m setup
    

    .גצומש יפכ ןנסמה רטמרפ תועצמאב תואצותה תא רתוי דוע םצמצל ןתינ .לדחמ תרירבכ גצוה תודבוע לש םוצע רפסמ ,תוארל לוכי התאש יפכ

    $ ansible localhost -m setup -a "filter=*ipv4"
    

    ./ etc/ansible/הירפסב אצמנה ansible.cfg ץבוק אוה לדחמ תרירבכ רדגומה הרוצתה ץבוק .Ansible לעופ דציכ תועבוקה תונוש רטמרפ תורדגה ליכמה ץבוק אוה הרוצת ץבוק ,Ansible -ב

    :תלעפה ידי לע הרוצתה ץבוק תא גיצהל ךתורשפאב

    $ cat /etc/ansible/ansible.cfg
    

    .םהב םיכרעה יונישו םתרעה ידי לע טושפ הלאה םירטמרפה תא םיאתהל ןתינ .' וכו םילודומ ,םיפסות יננסמ ,sudo שמתשמ ,הירפסו יאלמ ץבוק יביתנ ןוגכ םירטמרפ רפסמ םילולכ ,תוארל לוכי התאש יפכ

    .לדחמ תרירבכ רדגומה הרוצתה ץבוק דבלמ Ansible םע םידבועה הרוצת יצבק רפסמ לבקל לוכי התא ,ףסונב

    .םכלש אבה אשונב ונילא ופרטצה .ונתומדקתה ידכ ךות םתוא רוחבלו ךיתועבצא תוצקב םתוא רומשל לוכי התאש םיווקמ ונא ,Ansible -ב הבילה יביכרמ תא ונחבש רחאל