6 קלח - תכרעמה לוהינ תומישמל שומישל םינתינה םילודומב שמתשהל דציכ


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

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

    .apt ונל שי RedHat תוצפהל .םינוש תוליבח ילהנמ םע תועיגמ תונוש תוצפה ,סקוניל תוכרעמב תוליבח תנקתה תעב

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

    .הטמל install_htop.yml הלעפהה תרבוחב גצומכ הליבחה לודומב שמתשה RedHat -ו Debian לש תוצפה תללוכה םיחראמ תצובקב htop תא ןיקתהל ידכ ,אמגודל

    ---
    - name: Install htop on Ubuntu and CentOS
      hosts: all
      tasks:
    
    - package:
             name: htop
             state: installed
    

    .תונתומ תורהצהב וא םינתשמב שמתשהל ףידע ,ללכ ךרדב .הלא תוליבח תרבעה תעב תוריהז הנשמ טוקנל שי ןכל .Apache לש טנרטניאה תרש תא תונייצמ ןלוכש וטנובוא/ןאיבד תוכרעמל Apache2 -בו Redhat תוצפהב h

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

    .גצומכ תורישב שמתשה ,RHEL 8 -ב Apache לש טנרטניאה תרש תא ליעפהלו ליעפהל ידכ ,המגודל

    ---
    - name: Start and enable httpd service
      hosts: webservers
      tasks:
    
    - service:
             name: httpd
             state: started
    	    enabled: yes
    

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

    ---
    - name: Stop httpd service
      hosts: webservers
      tasks:
    
    - service:
             name: httpd
             state: stopped
    

    .שדחמ הלעפוהש הנוכתה תא וריבעה ,httpd -ה תוריש תא שדחמ ליעפהל ידכ

    ---
    - name: Restart httpd service
      hosts: webservers
      tasks:
    
    - service:
             name: httpd
             state: restarted
    

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

    :תואמגוד המכ לע לכתסנו ץופקנ אוב

    ---
    - name: Allow port 80 
      hosts: webservers
      tasks: 
       
       -firewalld:
    	port: 80/tcp
         permanent: yes
         state: enabled
    

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

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

    .0.0.0.0/0 :רוקמה טפשמב שמתשה ,תורתומה תובותכה תא ןייצל ידכ

    - firewalld:
        source: 192.168.0.0/24
        zone: public
        state: enabled
    

    :אבה ןפואב האיציה תורשפאב שמתשהל ורשפאיש תואיצי לש חווט ןייצל ידכ

    - firewalld:
        port: 213-567/udp
        permanent: yes
        state: enabled
    

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

    -firewalld:
    	port: 80/tcp
         permanent: yes
         state: disabled
    

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

    - firewalld:
        service: https
        permanent: true
        state: enabled
    

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

    - firewalld:
        service: https
        permanent: true
        state: disabled
    

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

    .compress.yml playbook ןלהל לוקש

    ---
    - hosts: webservers
      tasks:
    
        • name: Compress a folder
    archive:
            path: /opt/data/web
            dest: /tmp/web.gz
    

    .tmp/web.gz/-ב התוא תרמושו טנרטניאה תיירפס/opt/data/תא תסחוד ליעלש הלעפהה תרבוח

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

    ---
    - hosts: webservers
      Tasks:
    
      - name: Create a zip archive 
        archive:
         path: /opt/data/web
         dest: /tmp/web
         format: zip
    

    .tmp/web.zip/ לא טנרטניאה תיירפס/opt/data/תסחוד הלעמלש הלעפהה תרבוח

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

    ---
    - hosts: webservers
      tasks:
    
     - name:Uncompress /tmp/web.gz to/opt directory  on Ansible controller
       unarchive:
         src: /tmp/web.bz2
         dest: /opt/
    

    .Ansible רקבב רוחבל/ידכ opt/data/web.gz/ ץבוקה תסיחד תא לטבמ ליעלש העמשהה רפס

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

    ---
    - hosts: webservers
      tasks:
    
     - name:Uncompress /tmp/web.bz2 to/opt on remote host
       unarchive:
         src: /tmp/web.bz2
         dest: /opt/
         remote_src=yes 
    

    ./ opt/היירפסל קחורמה תמוצב tmp/web.bz2/ ץבוקה תסיחד תא תלטבמ הלעמלש הלעפהה תרבוח

    .Playbooks Ansible -ב תודובע ןומזתב עייסמ cron לודומ

    .הטמלש קחשמה רפס תא לוקש

    ---
    - hosts: webservers
      tasks:
    
     - name: Create a scheduled task
       cron:
         name: Run employee attendance
         job: sh /opt/scripts/attendace.sh
          
         month: 4
         day: 5
         hour: 17
         minute: 00
    

    .םיירהצה רחא 17:00 העשב לירפאב 5- ב תוחכונה טירסת תא ץירמ קחשמה רפס

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

    month: 4
    day: 5
    hour: 17
    minute: 00
    weekday: 1
    

    .והשלכ ךרע תנייצמ וללה תודשהמ דחא לכב (*) תיבכוכ

    .גצומש יפכ ןמזה ירטמרפב שמתשה ,עובשה םוי והמ הנשמ אל 17:00 העשב לירפאב 5- ב הדובעה תא ליעפהל ידכ

    month: 4
    day: 5
    hour: 17
    minute: 00
    weekday: *
    

    .הטמלש תורדגהב שמתשה ,17:00 העשב שדוח לכ לש ישימחה םויב cron תדובע תא עצבל ידכ

    month: *
    day: 5
    hour: 17
    minute: 00
    weekday: *
    

    :גצומכ ןמזה תורדגה תא רדגה ,17:00 העשב םוי ידמ cron תדובע תא עצבל ידכ

    month: *
    day: *
    hour: 17
    minute: 00
    weekday: *
    

    .גצומש יפכ */5 דעצה ךרעב שמתשה ,תועש שמח לכ cron תדובע תא עצבל ידכ

    month: *
    day: *
    hour: */5
    minute: *
    weekday: *
    

    .ץמאמ אלל Ansible לש הלעפהה תורבוח ךותב תוצובקו םישמתשמ להנל םג לוכי התא

    .גצומש יפכ שמתשמה לודומב שמתשה ,שדח שמתשמ רוציל ידכ

    ---
    - hosts: webservers
      tasks:
    
     - name: Create a new user
       user: 
         name: Jack
    

    .תוצובק ,UID ןוגכ תופסונ תויורשפא ףיסוהל םג ןתינ

    - name: Create a new user
       user: 
          name: Jack
          comment: Jack Peters
              uid:   1002
          group: administrators
          shell:  /bin/bash
    

    . remove: yes הרהצהב שמתשה ,שמתשמה תא ריסהל ידכ

    - name: Remove the user 'Jack'
      user:
        name: Jack
        state: absent
        remove: yes
    

    .הצובקה לודומב שמתשה ,השדח הצובק רוציל ידכ

    - name: Create a group
      group:
        name: developers
    

    .םיצבקה לודומב שמתשה ,תוירפס יצבק רוציל ידכ

    .השדח הירפס רוציל ידכ ,אמגודל

    ---
    - hosts: webservers
      tasks:
    
      - name: Create a new directory
        file: 
         path: /opt/app
         state: directory
    

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

    - hosts: webservers
      tasks:
    
      - name: Create a new directory
        file: 
         path: /opt/web
         state: directory
         owner: www-data
         group: www-data
         mode: 0644
    

    .ןכ :recurse תרהצה תועצמאב יביסרוקר ןפואב תוירפס רוציל ךתורשפאב ,ףסונב

    ---
    - hosts: webservers
      tasks:
    
      - name: Create directories recursively
        file: 
         path: /opt/web/app
         state: directory
         owner: www-data
         group: www-data
         mode: 0644
    recurse: yes
    

    . state: touch תורשפאב שמתשה ,ץבוק תריציל

    ---
    - hosts: webservers
      tasks:
    
      - name: Create a new file
        file: 
         path: /opt/web/index.html
         state: touch
    owner: www-data
         group: www-data
         mode: 0644
    

    .LVM תוצובקו ןוסחא יעצמא לש הרוצת תרדגהל שמשמ lvg -ה לודומ

    :ןלהלש קחשמה רפס תא לוקש

    ---
    - hosts: webservers
      tasks: 
        • name: Create lVM volume group
    lvg: 
     vg: vg1
     pvs: /dev/sda1
     pesize: 32
    

    .טייבהגמ 32 לש יזיפ ףקיה לדוגב /dev/sda1 תציחמ יבג לע ןוסחא יעצמא תצובק תרצונ ךכ

    גצומש יפכ יגול חפנ רוציל ידכ lvol לודומב שמתשה ,הריציה רחאל

    ---
        - hosts: webservers
          tasks: 
    
           - name: Create lVM volume
        lvol: 
        vg: vg1
        lv: lvol1
        pvs: /dev/sda1
    

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

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

    ---
        - hosts: webservers
          tasks: 
    
           - name: Create a filesystem
             filesystem:
             
               fstype: xfs
               dev: /dev/vg1/lvol1
    

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

    ---
        - hosts: webservers
          tasks: 
    
           - name: Mount a filesystem
             mount:
             
               fstype: xfs
               src: /dev/vg1/lvol1
               path: /opt/web
               state: mounted
    

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


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