3 קלח - קוה-דא תודוקפ ליעפהלו הלעפהל םינתינה םילהונמ םיתמצ רידגהל דציכ


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

הבוגתל םינתינה םילהונמ םיתמצל המסיס אלל SSH תומיא רדגה

.הברהב הלקל ךתדובע תא ךופהיו ךשמהב עירכמ דעצ היהי הז .םיקחורמה םיחראמה לכל ירוביצה חתפמה תקתעהו Ansible Control תמוצב (יטרפו ירוביצ SSH תוחתפמ דמצ) תוחתפמ גוז תריצי ללוכ הז .םילהונמה םיחרא

םילהונמ םיתמצב תואשרהה תמלסה תא רדגה

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

Ansible היחנהה .תעכ רבוחמה הזמ הנושה להונמה תמוצב רחא שמתשמל 'ךופהל' ךל רשפאמ ןכ :ךופהל תכרעמה לש שדחמ הלעפהו תוליבח ןוכדע ו הנקתה ןוגכ שרוש תואשרה תושרודה תומישמ עצבל ךל ת

:גצומש יפכ Apache לש טנרטניאה תרש תא הליעפמו הניקתמש httpd.yml העמשה תרבוח לוקש

---
- name: install and start Apache webserver
  hosts: webservers

  tasks:
       - name: install httpd
         yum: name=httpd  state=latest
         become: yes
       - name: check httpd status
         service: name=httpd state=started

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

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

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

- name: Run a command as the apache user
  command: somecommand
  become: yes
  become_user: tecmint

.sudo -כ תרדגומ ללכ ךרדב רשא ansible.cfg ץבוקב תרדגומה לדחמה תרירב תטיש תא לטבת וז היחנה

.nologin -כ תרדגומ הפילקה רשאכ שמתשמל רובעל ךילע רשאכ לשמל ,המישמ וא הלעפה תמרב םישמשמ הלא

,המגודל

- name: Run a command as nobody
  command: somecommand
  become: true
  become_method: su
  become_user: nobody
  become_flags: '-s /bin/sh'

תויגליבירפ תמלסהב הדוקפ תרוש תויורשפא

:תודוקפ תלעפה תעב םכלש תואשרהה תא תולעהל ידכ שמתשהל ולכות ןהב הדוקפה תרוש תויורשפאמ המכ לע לכתסנ ואוב

    $ ansible-playbook myplaybook.yml --ask-become-pass
    

      $ ansible-playbook myplaybook.yml --become 
      

        $ ansible-playbook myplaybook.yml --become-user=tecmint
        

        Ad-Hoc Ansible תודוקפ תועצמאב הדובעה תרוצת תא תמא

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

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

        .המגדה ךרוצל ןלהלש יאלמה ץבוקב שמתשנ ונא .Ansible קוה-דא תודוקפ לש םינוש םימושיי םינחוב ונא ,הז ךירדמב

        [webservers]
        173.82.115.165
        
        [database_servers]
        173.82.202.239
        

        .םיחראמ תצובק וא חראמ גניפ אוה Ansible-Adhoc תודוקפב רתויב יסיסבה שומישה

        # ansible -m ping all
        

        :ןלהל גצומ הדוקפה טלפ .יאלמה ץבוקב םיחראמה לכ תא גציימ ינשה רטמרפהו adhoc הדוקפה אוה גניפ .לודומה תורשפא אוה -m רטמרפה ,ליעל הדוקפב

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

        # ansible -m ping webservers
        

        :לעפה ,תוקחורמ תוכרעמ לש תכרעמה לש תוליעפה ןמז תא קודבל ידכ ,המגודל .תולופכ תואכרמב תוליגר סקוניל תודוקפ ןייצל ידכ -a הנוכתב שמתשהל ולכות ,ףסונב

        # ansible -a "uptime" all
        

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

        # ansible -a "df -Th" all
        

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

        # ansible-doc -l
        

        .הדוקפה תא לעפה ,םיוסמ לודומ לע טרופמ עדימ גיצהל ידכ

        # ansible-doc module_name
        

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

        # ansible-doc yum
        

        .apt -ו yum תוליבח ילהנמ תועצמאב תוליבח לש הרסהו הנקתהל תושיגנה adhoc תודוקפב שמתשהל ןתינ

        :הדוקפה תא לעפה ,יאלמה ץבוקב םיתרש תצובק תחת CentOS 7 חראמ לע י'צאפא לש טנרטניאה תרש תא ןיקתהל ידכ

        # ansible webservers -m yum -a "name=httpd  state=present"
        

        .לעפהו קחורמה חוקלל סנכיה ,Apache טנרטניאה תרש לש הנקתהה תא תמאל ידכ

        # rpm -qa | grep httpd
        

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

        # ansible webservers -m yum -a "name=httpd  state=absent"
        

        .httpd הצירה תרסה תא רשאל ידכ ,בוש

        # rpm -qa | grep httpd
        

        .ורהוט י'צאפא לש טנרטניאה יתרש תוליבח ,ןיוצש יפכ

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

        # ansible database_server -m user -a "name=james password=redhat"
        

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

        # ansible database_servers -a "id james"
        

        :הדוקפה תא לעפה ,שמתשמה תא ריסהל ידכ

        # ansible database_servers -m user -a "name=james state=absent"
        

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

        . הדוקפה תלעפהל שרושה שמתשמ תמסיס תא שקבל ידכ -K תורשפאו ךופה- - תסחוימה תורשפאה םע 'Ansible adhoc 'netstat -pnltu הדוקפה תא ץירהל ידכ ,אמגודל

        $ ansible webservers -m shell -a 'netstat -pnltu' --become -K
        

        . --become-user ןייפאמב שמתשה ,שרוש וניאש רחא שמתשמל ךופהל ידכ

        :המסיסה תלעפה תשקבו םיקחורמה םיחראמב tecmint שמתשמכ 'df -Th' תלעפהל אמגודל

        $ ansible all -m shell -a 'df -Th' --become-user tecmint -K
        

        .המכ ריכזהל ,דבעמהו ןורכיזה ,תכרעמה תרוטקטיכרא ,IP -ה תבותכ לע עדימ ללוכ הז .תכרעמ תודוא טרופמ עדימל תוסחייתמ תודבוע

        :הדוקפה תא לעפה ,םיקחורמ םיחראמ לע עדימ רזחאל ידכ

        $ ansible all -m setup 
        

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

        :הקתעה תלועפל המגוד ןלהל

        # ansible webservers -m copy -a "src=/var/log/secure dest=/tmp/"
        

        .tmp/דעיב םיתרש תצובקב םיקחורמ םיחראמל Ansible Control תמוצב var/log/secure/ץבוקה תא הקיתעמ הדוקפה

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

        # ansible webservers -m file -a "dest=/tmp/secure mode=600"
        

        :גצומכ הצובקהו םילעבה ינועיט תא ףיסוהל לכות ,ףסונב

        # ansible webservers -m file -a "dest=/tmp/secure mode=600 owner=tecmint group=tecmint"
        

        .גצומש יפכ mkdir -p ל המוד ןפואב ,תוירפס רוציל םג ןתינ

        $ ansible webservers -m file -a "dest=/path/to/directory mode=755 owner=tecmint group=tecmint state=directory"
        

        ,המגודל

        $ ansible webservers -m file -a "dest=/home/tecmint/data mode=755 owner=tecmint group=tecmint state=directory"
        

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


כל הזכויות שמורות. © Linux-Console.net • 2019-2024