Bii o ṣe le Lo Awọn modulu to daju fun Awọn iṣẹ-ṣiṣe Isakoso System - Apakan 6


Ninu Apakan 6 yii ti awọn modulu Ansible diẹ ninu awọn akọle to kọja, a yoo lọ jinlẹ bayi ki a ṣe awari awọn modulu afikun ti o ṣe iranlọwọ ni ṣiṣe nọmba awọn iṣẹ ṣiṣe iṣakoso eto.

Iwọ yoo ni imọran ipilẹ ti module kọọkan ki o wo awọn aṣayan ti o wa fun ṣiṣe awọn iṣẹ-ṣiṣe kan.

  1. Ṣiṣakoṣo awọn idii Sọfitiwia ati Awọn ibi ifipamọ ni Gbangba
  2. Ṣiṣakoso Awọn iṣẹ Lilo Gboye
  3. Ṣiṣakoso ogiriina pẹlu Ansible
  4. Awọn faili Fifipamọ tabi awọn folda pẹlu Ansible
  5. Ṣeto Awọn iṣẹ-ṣiṣe pẹlu Ansible
  6. Ṣakoso awọn Olumulo ati Awọn ẹgbẹ pẹlu Ansible
  7. Ṣẹda Awọn faili ati Awọn ilana pẹlu Ansible
  8. Ṣiṣakoṣo Ibi ipamọ pẹlu Ansible
  9. Ṣiṣakoṣo awọn ọna ẹrọ Faili pẹlu Ansible

Nigbati o ba n fi awọn idii sori awọn ọna Linux, awọn pinpin kaakiri oriṣiriṣi wa pẹlu awọn alakoso package. Fun awọn pinpin RedHat, a ni gbon.

Ansible wa pẹlu modulu kan ti a pe ni package, eyiti o yọkuro iwulo fun lilo awọn oluṣakoso package oriṣiriṣi fun awọn ọna oriṣiriṣi. O nlo adaṣe package ti o baamu ti eto ile-iṣẹ laifọwọyi, nitorinaa ṣiṣe iṣẹ rọrun.

Fun apẹẹrẹ, lati fi sori ẹrọ htop ni ẹgbẹ awọn ọmọ-ogun ti o ni awọn mejeeji Debian & distHat distros lo module package bi o ti han ninu iwe-iṣere install_htop.yml ni isalẹ.

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

- package:
         name: htop
         state: installed

AKIYESI: Awọn orukọ idii le yato si ẹrọ ṣiṣe si ekeji. Fun apẹẹrẹ, a ni httpd ni awọn pinpin Redhat ati Apache2 fun awọn ọna Debian/Ubuntu gbogbo eyiti o tọka si oju-iwe ayelujara Apache. Nitorinaa, iṣọra afikun yẹ ki o gba nigbati o ba n kọja awọn idii wọnyi. Nigbagbogbo, o dara julọ lati lo awọn oniyipada tabi awọn alaye majemu.

Nigbamii ti, a ni module iṣẹ kan, eyiti a lo fun iṣakoso awọn iṣẹ lori awọn eto Linux. O ti lo lati bẹrẹ, da duro tabi tun bẹrẹ iṣẹ kan. O tun le lo lati mu iṣẹ kan ṣiṣẹ ki pe nigbati awọn bata bata eto, o bẹrẹ iṣẹ naa laifọwọyi.

Fun apẹẹrẹ, lati bẹrẹ & mu webserver Apache ṣiṣẹ lori RHEL 8, lo iṣẹ naa bi o ti han.

---
- name: Start and enable httpd service
  hosts: webservers
  tasks:

- service:
         name: httpd
         state: started
	    enabled: yes

Lati da iṣẹ httpd duro, kọja ẹda ti o duro.

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

- service:
         name: httpd
         state: stopped

Lati tun bẹrẹ iṣẹ httpd, kọja ẹda ti o tun bẹrẹ.

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

- service:
         name: httpd
         state: restarted

Awọn alakoso eto iṣẹ-ṣiṣe pataki miiran ti o ṣe ni iṣakoso ti ogiriina. Ninu Awọn iwe idaraya ti o daju, eyi ti ṣe rọrun pupọ pẹlu firewalld ati awọn modulu ufw. O le tunto ogiriina lati gba laaye tabi dena ibudo tabi iṣẹ tabi paapaa adirẹsi orisun kan.

Jẹ ki a fo sinu ki a wo awọn apẹẹrẹ diẹ:

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

Ninu iwe-idaraya ti o wa loke, a gba laaye ibudo 80 kọja ogiriina.

Aṣayan titilai: bẹẹni n mu ofin ogiriina ṣiṣẹ ati mu ki o tẹsiwaju ni gbogbo awọn atunbere. Sibẹsibẹ, ofin yii ko waye lẹsẹkẹsẹ. O kan wa ni ipa lẹhin atunbere. Lati mu ofin naa ṣẹ lẹsẹkẹsẹ, lo aṣayan lẹsẹkẹsẹ: bẹẹni .

Lati ṣafihan awọn adirẹsi ti a gba laaye, lo orisun: ọrọ 0.0.0.0/0.

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

Lati ṣalaye ibiti awọn ibudo lati gba laaye lati lo aṣayan ibudo bi atẹle:

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

Lati dènà ibudo yi aṣayan ipinle pada si alaabo bi o ti han:

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

Yato si fifi/didena ibudo kan, o tun le lo awọn ofin kanna si iṣẹ kan. Ati pe o rọrun. Kan lo modulu iṣẹ ki o fi iṣẹ kun lati fi kun ati rii daju pe a ṣeto aṣayan ipinlẹ si muu ṣiṣẹ.

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

Lati dènà iṣẹ ṣeto aṣayan ipinlẹ si alaabo.

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

Archiving ntokasi si funmorawon ti faili kan tabi folda si ọna kika ti o jẹ irọrun gbigbe ati iwọn ni iwọn. Awọn ọkọ oju omi ti o ni agbara pẹlu module ti a pe ni ile ifi nkan pamosi. Compressing faili kan jẹ bi irọrun bi o ṣe n ni. Gbogbo ohun ti o nilo ni lati ṣafihan ọna orisun ti faili naa ati ibi-ajo ti faili fisinuirindigbindigbin.

Wo iwe compress.yml iwe orin ni isalẹ.

---
- hosts: webservers
  tasks:

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

Iwe-idaraya ti o wa loke n tẹ awọn/opt/data/liana wẹẹbu pọ ki o fi pamọ si /tmp/web.gz.

Ọna funmorawon aiyipada ni .gz , sibẹsibẹ, eyi le ṣe pàtó nipa lilo irufẹ kika. Ayẹwo nigbamii ti Playbook.

---
- hosts: webservers
  Tasks:

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

Iwe-orin ti o wa loke compresses/opt/data/liana wẹẹbu si /tmp/web.zip.

O tun le ṣoki faili ti a fisinuirindigbindigbin nipa lilo ẹda ti ko ni iṣẹ. Wo iwe orin ni isalẹ.

---
- hosts: webservers
  tasks:

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

Iwe-orin ti o wa loke ko ṣe ijuwe faili /opt/data/web.gz si/yọ lori oludari Ansible.

Lati ṣalaye eto orisun latọna jijin lo aṣayan remote_src = bẹẹni .

---
- hosts: webservers
  tasks:

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

Iwe-idaraya ti o wa loke ko ṣe agbejade faili /tmp/web.bz2 lori oju ipade latọna jijin si/opt/directory.

Modulu cron ṣe iranlọwọ ninu siseto awọn iṣẹ ni Awọn iwe-idaraya to Fifun.

Wo iwe orin ni isalẹ.

---
- 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

Iwe-orin naa nṣakoso iwe afọwọkọ wiwa ni Oṣu Kẹrin Ọjọ karun ni 5:00 irọlẹ.

Ti o ba fẹ seto iwe afọwọkọ yii lati ṣiṣẹ nikan ti ọjọ karun karun Kẹrin ba jẹ Ọjọ aarọ, lẹhinna lo ọjọ ọsẹ: ikalara 1. 0 tọka ọjọ Sundee ati 6 tọka Ọjọ Satide gẹgẹbi akọsilẹ cron.

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

Aami akiyesi (*) ni eyikeyi ninu awọn aaye wọnyi tọka eyikeyi iye.

Lati ṣiṣẹ ni Oṣu Kẹrin Ọjọ 5th ni 5: 00 irọlẹ laibikita kini ọjọ-iṣẹ jẹ, lo awọn aye akoko bi o ti han.

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

Lati ṣe iṣẹ cron ni ọjọ 5th ti gbogbo oṣu ni 5: 00 irọlẹ lo awọn eto isalẹ.

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

Lati ṣe iṣẹ cron lojoojumọ ni 5: 00 irọlẹ ṣeto awọn eto akoko bi o ti han:

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

Lati ṣe iṣẹ cron ni gbogbo wakati 5, lo iye igbesẹ */5 bi o ti han.

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

O tun le ṣakoso awọn olumulo ati awọn ẹgbẹ inu Awọn iwe-idaraya Ansible ni iṣarasiṣe.

Lati ṣẹda olumulo tuntun, lo modulu olumulo bi o ti han.

---
- hosts: webservers
  tasks:

 - name: Create a new user
   user: 
     name: Jack

O tun le ṣafikun awọn aṣayan afikun bi UID, awọn ẹgbẹ.

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

Lati yọ olumulo kuro, lo yọkuro: bẹẹni alaye.

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

Lati ṣẹda ẹgbẹ tuntun, lo modulu ẹgbẹ.

- name: Create a group
  group:
    name: developers

Lati ṣẹda awọn faili ti awọn ilana, lo module faili naa.

Fun apẹẹrẹ, lati ṣẹda itọsọna tuntun.

---
- hosts: webservers
  tasks:

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

O le ṣafikun awọn abuda miiran gẹgẹbi oluwa, ẹgbẹ ati awọn igbanilaaye faili.

- hosts: webservers
  tasks:

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

Ni afikun, o le ṣẹda awọn ilana itọnisọna ni lilo recrollively: bẹẹni alaye.

---
- hosts: webservers
  tasks:

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

Lati ṣẹda faili kan, lo ipo : ifọwọkan .

---
- hosts: webservers
  tasks:

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

A lo module lvg lati tunto awọn iwọn LVM ati awọn ẹgbẹ.

Wo iwe orin ni isalẹ:

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

Eyi ṣẹda ẹgbẹ iwọn didun lori oke ti /dev/sda1 ipin pẹlu iwọn iye ti ara ti 32 MB.

Lọgan ti a ṣẹda, lo modulu lvol lati ṣẹda iwọn oye bi o ti han

---
    - hosts: webservers
      tasks: 

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

Lati ṣẹda eto faili lori ẹrọ ohun amorindun, lo modulu eto faili.

Iwe orin ti o wa ni isalẹ ṣẹda iru faili faili ti xfs lori iwọn didun ohun amorindun.

---
    - hosts: webservers
      tasks: 

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

O le tẹsiwaju lati gbe iwọn didun ohun amorindun nipa lilo modulu oke bi o ti han ninu iwe-iṣere ni isalẹ:

---
    - hosts: webservers
      tasks: 

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

Eyi pari ọrọ naa. A ti bo ọpọlọpọ awọn iṣẹ ṣiṣe iṣakoso eto ti o le ṣaṣeyọri nipasẹ awọn modulu ti a ṣe sinu kan pato ni Awọn iwe ere idaraya Ansible.