ครั้งที่แล้วได้ติดตั้ง Salt กันไปเบื้องต้นแล้ว ครั้งนี้เรามาดูการสร้าง Salt Formula กันครับ อันดับแรกมาดูความหมายของคำต่างๆก่อนน่ะครับ State System เป็นส่วนประกอบของ Salt ที่ใช้ในการจัดการ Configuration ต่างๆ State System นั้นสร้างมาจาก SLS Formula ซึ่ง SLS Formula นั้นคือ file ที่อยู่ใน Salt file server หรือพูดง่ายๆ มันเป็น Formula ที่ถูกเขียนขึ้นและปกติจะเก็บไว้ที่ Path /srv/salt ของ Salt-Master ที่นี้เรามาทดลองสร้าง SLS Formula ดูอันดับแรกให้สร้าง file ที่ /srv/salt/vim.sls โดย SLS Formula นี้จะไปสั่งให้ Client ติดตั้ง Package vim

vi /srv/salt/vim.sls

เพิ่มข้อมูลลงในไฟล์ดังนี้

vim:
  pkg.installed

เสร็จแล้วลอง run sls ที่พึ่งสร้างเมื่อสักครู่นี้ โดยคำสั่งนี้จะทำให้เกิด State System และ run vim.sls นั้น

salt '*' state.sls vim

ผลลัพท์

salt.example.local:
    ----------
    pkg_|-vim_|-vim_|-installed:
        ----------
        __run_num__:
            0
        changes:
            ----------
            vim:
                ----------
                new:
                    2:7.4.052-1ubuntu3
                old:
                    
        comment:
            The following packages were installed/updated: vim.
        duration:
            119084.416
        name:
            vim
        result:
            True
        start_time:
            11:16:34.534768

ต่อไปลองเพิ่ม SLS Formula ให้ไปจัดการ file ที่กำหนด

vi /srv/salt/vim.sls

Edit file เพิ่มดังนี้

vim:
  pkg.installed: []

/etc/vimrc:
  file.managed:
    - source: salt://vimrc
    - mode: 644
    - user: root
    - group: root

แล้ว copy file vimrc ที่มีอยู่แล้วไปไว้ที่ Salt file server ซึ่งอยู่ที่ Path /srv/salt/

cp /etc/vim/vimrc /srv/salt/

แล้วลอง run vim.sls อีกครั้ง

salt '*' state.sls vim

ผลลัพท์

salt.example.local:
----------
          ID: vim
    Function: pkg.installed
      Result: True
     Comment: Package vim is already installed.
     Started: 11:35:00.368715
    Duration: 521.686 ms
     Changes:   
----------
          ID: /etc/vimrc
    Function: file.managed
      Result: True
     Comment: File /etc/vimrc updated
     Started: 11:35:00.890570
    Duration: 118.333 ms
     Changes:   
              ----------
              diff:
                  New file
              mode:
                  0644

Summary
------------
Succeeded: 2 (changed=1)
Failed:    0
------------
Total states run:     2

โดยคำสั่งที่ run vim.sls ไปนั้นจะหมายความว่า State 1 จะไปตรวจสอบ package vim มีอยู่ที่เครื่อง Client หรือไม่หากไม่มีก็จะทำการติดตั้งให้ และเมื่อติดตั้งเสร็จจะไปทำ State 2 จะไป Copy file vimrc ที่ Salt file server (path /srv/salt/vimrc) ไปที่ /etc/vimrc และเปลี่ยน Permission เป็น 0644 พร้อมทั้งเปลี่ยน User และ Group เป็น root ก็จบสำหรับการสร้าง SLS Formula เบื้องต้นน่ะครับ

อ่านเพิ่มเติมได้ที่

Comments are closed.