自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

系統(tǒng)自動化配置和管理工具:SaltStack

運(yùn)維 系統(tǒng)運(yùn)維 自動化
系統(tǒng)自動化配置和管理工具 SaltStack 采用 zeromq 消息隊(duì)列進(jìn)行通信,和 Puppet/Chef 比起來,SaltStack 速度快得多。還有一點(diǎn)我們喜歡 SaltStack 的地方是它是 Python 寫的,比 Puppet/Chef 這些 Ruby 工具更接近我們的能力圈。

我們的服務(wù)器由 Puppet 配置管理工具來管理,服務(wù)器上線后由 puppet 完成初始化和配置等一系列工作(比如,靜態(tài) IP 配置,DNS 設(shè)置,NFS/SAN 掛載,LDAP/Kerberos 登錄,安全加固配置,內(nèi)核參數(shù)優(yōu)化,防火墻規(guī)則配置等等),等初始化完成后開始運(yùn)行,運(yùn)行一段時(shí)間后會有一些需要自動和手動操作的任務(wù)(比如升級、重啟、備份等),這時(shí)候我們使用 Fabric 來批量執(zhí)行這些臨時(shí)任務(wù)。

所以從這里可以看到 Puppet 和 Fabric 其實(shí)是兩個(gè)不同性質(zhì)的工具,看下面的歸類可能會更清楚一些。Puppet 和 Fabric 兩個(gè)的工作其實(shí)可以由一個(gè)工具 SaltStack(或 AnsibleWorks)完成,減少一個(gè)工具的使用會減輕一點(diǎn)負(fù)擔(dān)(學(xué)習(xí)工具的人力成本、安裝和配置工具的時(shí)間成本等等)。

 操作系統(tǒng)和軟件的安裝、配置、初始化等;

(Puppet, Chef, CFEngine, AnsibleWorks, SaltStack)

自動執(zhí)行任務(wù),比如定期備份、清除日志等;

(Fabric, AnsibleWorks, SaltStack)

手動執(zhí)行任務(wù),比如部署應(yīng)用、升級、重啟、檢查和校驗(yàn)文件系統(tǒng)、增加用戶等。

(Fabric, Rake, AnsibleWorks, SaltStack)

SaltStack 采用 zeromq 消息隊(duì)列進(jìn)行通信,和 Puppet/Chef 比起來,SaltStack 速度快得多。還有一點(diǎn)我們喜歡 SaltStack 的地方是它是 Python 寫的,比 Puppet/Chef 這些 Ruby 工具更接近我們的能力圈。

安裝主控服務(wù)器(salt master)

和大多數(shù)類似工具一樣,SaltStack 需要在一臺機(jī)器(主控)上安裝服務(wù)器端軟件(SaltStack 稱之為 salt master),在多臺機(jī)器(受控)上安裝客戶端軟件(SaltStack 稱之為 salt minion)。在主控機(jī)器上給下屬(受控)發(fā)命令,在受控機(jī)器上接受和執(zhí)行上級(主控)的命令。

在 Ubuntu 上安裝 salt master:

  1. $ sudo add-apt-repository ppa:saltstack/salt 
  2. $ sudo apt-get update 
  3. $ sudo apt-get install salt-master 

在 CentOS 6.x 上安裝 salt master:

  1. # rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm 
  2. # yum update 
  3. # yum install salt-master 

安裝受控客戶端(salt minion)

在 Ubuntu 上安裝 salt minion:

  1. $ sudo add-apt-repository ppa:saltstack/salt 
  2. $ sudo apt-get update 
  3. $ sudo apt-get install salt-minion 

在 CentOS 6.x 上安裝 salt minion:

  1. # rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm 
  2. # yum update 
  3. # yum install salt-minion 

安裝完 salt minion 后記得修改配置文件,讓 salt minion 指向 salt master 服務(wù)器地址:

  1. $ sudo vi /etc/salt/minion 
  2. ... 
  3. # Set the location of the salt master server, if the master server cannot be 
  4. # resolved, then the minion will fail to start. 
  5. master: saltmaster.vpsee.com 
  6. ... 
  7. $ sudo restart salt-minion 

在 master 上執(zhí)行 salt-key list 就會看到有個(gè) minion1.vpsee.com 請求加入受控,執(zhí)行 -a 接受請求后,主控和受控之間的信任關(guān)系就建立起來了,主控就可以任意 “擺布” 受控了:

  1. # salt-key list 
  2. Accepted Keys: 
  3. Unaccepted Keys: 
  4. minion1.vpsee.com 
  5. Rejected Keys: 
  6. # salt-key -a minion1.vpsee.com 
  7. The following keys are going to be accepted: 
  8. Unaccepted Keys: 
  9. minion1.vpsee.com 
  10. Proceed? [n/Y] 

執(zhí)行命令的例子

在主控機(jī)器上執(zhí)行一個(gè)命令,讓所有受控機(jī)器執(zhí)行 hostname 命令:

  1. # salt '*' cmd.run "hostname" 
  2. minion1.vpsee.com: 
  3. minion1.vpsee.com 

在主控機(jī)器上執(zhí)行一個(gè)命令,讓所有受控機(jī)器上執(zhí)行內(nèi)建 test.ping 命令:

  1. # salt '*' test.ping 
  2. minion1.vpsee.com: 
  3. True 

還有一些內(nèi)建命令可以嘗試:

  1. # salt '*' disk.usage 
  2. # salt '*' network.interfaces 

執(zhí)行狀態(tài)的例子

開頭的時(shí)候我們說了 SaltStack = Fabric + Puppet,上面 “執(zhí)行命令的例子” 演示了 Fabric 類似的功能,這里要演示的是 Puppet 類似的功能,在主控上定義好系統(tǒng)配置應(yīng)該有的狀態(tài),然后受控自動完成相應(yīng)的操作和配置。

首先確定狀態(tài)定義的文件應(yīng)該放在什么地方,以下操作都在主控(salt master)上執(zhí)行。檢查 /etc/salt/master 文件的 file_roots 條目,默認(rèn)是在 /srv/salt 下,如果沒有這個(gè)目錄還需要手動創(chuàng)建一個(gè):

  1. # vi /etc/salt/master 
  2. ... 
  3. #file_roots: 
  4. #  base: 
  5. #    - /srv/salt 
  6. ... 
  7. # mkdir /srv/salt 

比如我們想在所有受控機(jī)器上安裝 vim 軟件包,并使用自己定義的 vimrc 文件:

  1. # vi /srv/salt/vim.sls 
  2. vim: 
  3. pkg.installed 
  4. /etc/vimrc: 
  5. file.managed: 
  6. - source: salt://vimrc 
  7. - mode: 644 
  8. - user: root 
  9. - group: root 
  10. # vi /srv/salt/vimrc 
  11. syntax enable 
  12. set textwidth=79 
  13. set shiftwidth=4 
  14. set tabstop=4 
  15. set expandtab 
  16. set softtabstop=4 
  17. set shiftround 
  18. set fileencodings=utf-8 
  19. set encoding=utf8 
  20. set tenc=utf8 

強(qiáng)制執(zhí)行這個(gè)狀態(tài):

  1. # salt '*' state.sls vim 

再來一個(gè)例子,參考 “安裝和使用系統(tǒng)監(jiān)控工具 Glances” 一文,我們想在所有受控機(jī)器上安裝 Glances,如何實(shí)現(xiàn)呢?

  1. # vi /srv/salt/glances.sls 
  2. python-pip: 
  3. pkg.installed 
  4. build-essential: 
  5. pkg.installed 
  6. python-dev: 
  7. pkg.installed 
  8. glances: 
  9. pip.installed: 
  10. - require: 
  11. - pkg: python-pip 

強(qiáng)制執(zhí)行這個(gè)狀態(tài):

  1. # salt '*' state.sls glances 
  2. ... 
  3. minion1.vpsee.com: 
  4. ---------- 
  5. State: - pip 
  6. Name:      glances 
  7. Function:  installed 
  8. Result:    True 
  9. Comment:   Package was successfully installed 
  10. Changes:   Glances==1.7.1: Installed 
  11. ... 
責(zé)任編輯:黃丹 來源: vpsee.com
相關(guān)推薦

2010-11-08 09:15:46

Puppet入門教程自動化

2021-11-10 09:00:00

工具Chef開發(fā)

2009-04-24 21:13:45

服務(wù)器虛擬化Vmware

2024-05-08 11:33:24

自動化工作管理工具

2011-10-09 13:49:51

2022-05-06 12:04:24

Ansible管理工具

2019-10-30 14:47:05

工具代碼開發(fā)

2025-01-02 08:00:39

2012-02-22 13:36:43

云計(jì)算

2010-10-12 09:19:29

Navicat

2012-03-01 10:04:02

虛擬化云計(jì)算混合云

2012-02-23 09:39:33

虛擬化桌面虛擬化V-Commander

2009-11-09 16:21:36

RedHathypervisor管理工具

2011-08-12 10:38:09

MongoDB

2009-09-24 14:30:04

DotProject

2023-03-05 16:23:15

MySQL工具

2010-05-25 08:56:41

ubuntu Grub

2011-07-18 09:55:40

虛擬化管理工具數(shù)據(jù)中心

2010-10-11 11:03:01

MySQL管理工具

2011-07-20 10:01:01

虛擬化管理工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號