99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何區(qū)分Puppet,Ansible,Saltstack的作用特點(diǎn)?

馬哥Linux運(yùn)維 ? 來源:未知 ? 作者:工程師郭婷 ? 2018-08-05 09:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目前主流的自動(dòng)化運(yùn)維工具有puppet、ansible、saltstack,實(shí)際上每一個(gè)工具都基本上能夠完成你的運(yùn)維任務(wù),也都是久經(jīng)考驗(yàn)的。都有NB的地方,也有挫的地方,所以,完全沒法從功能、特性等等這些方面去選擇。

如果考慮到快速使用,建議puppet,有一個(gè)foreman做web平臺(tái),上手快。

如果考慮后期自己開發(fā),并且是無agent方式,可以用ansible,基于ssh的,比較直接粗暴,會(huì)有種很“爽“的感覺。

ansible主要是遠(yuǎn)程命令執(zhí)行,比較適合做“一次性”的工作。

saltstack用的不多,不做評(píng)論。

我個(gè)人比較喜歡用puppet和ansible,倒不是說saltsatack不好,是我從開始就在用puppet,所以,就沒有再去學(xué)習(xí)saltsatck的必要了。

ansible的優(yōu)勢(shì)是什么,如何在企業(yè)中更好地使用ansible?

ansible比較適合做“一次性”的工作,例如,系統(tǒng)部署、應(yīng)用發(fā)布、打補(bǔ)丁等等。

在企業(yè)中使用ansible,要注意以下幾點(diǎn):

1. 安全控制,簡(jiǎn)單來說就是避免用root用戶來執(zhí)行。

2. 控制好依賴 在寫playbook的時(shí)候,控制好先后順序和依賴關(guān)系。

3. 結(jié)果的收集和分析 因?yàn)橐幌伦訋装倥_(tái)機(jī)器一起干活,所以,就要自己寫外置腳本,更好地收集ansible的操作結(jié)果,并且進(jìn)行直觀的匯總和展現(xiàn)。

Foreman的作用是什么?

foreman是基于puppet的一個(gè)“增強(qiáng)工具”,主要能夠幫到我們運(yùn)維狗的有:

1. 操作系統(tǒng)的部署

foreman提供了一個(gè)基于kickstart的部署工具,輸入一臺(tái)服務(wù)器的部署網(wǎng)卡的mac地址和hostname、ip等信息,就能自動(dòng)的幫我們部署完,并且,還可以生成一個(gè)部署iso,用于該服務(wù)器的重新部署。

2. puppet的節(jié)點(diǎn)管理(ENC)

原聲的puppet管理節(jié)點(diǎn)分類以及節(jié)點(diǎn)和puppet類之間的映射靠文件描述,企業(yè)客戶更希望有一個(gè)直觀的工具,foreman可以通過Web界面將節(jié)點(diǎn)分組,將類分組,并且構(gòu)建兩者的映射關(guān)系。

3. puppet的Web界面

有個(gè)Web總是比命令行要方便,foreman提供了一個(gè)還算的過去的web界面,用于節(jié)點(diǎn)管理、類管理、變量管理、配置管理、部署管理等功能。

如何利用foreman呢?

說實(shí)話,相比運(yùn)維狗能寫出來的界面,foreman已經(jīng)很高大上了,所以,我們前面幾個(gè)項(xiàng)目都是基于foreman進(jìn)行擴(kuò)展的,當(dāng)時(shí)學(xué)習(xí)ruby,做需求分析,苦逼的用ruby實(shí)現(xiàn)功能,當(dāng)時(shí)實(shí)現(xiàn)了自動(dòng)化的安全檢查、系統(tǒng)升級(jí)等功能。

后來客戶需求越來越多,我們覺得不能局限于foreman的限制,就開始利用foreman的REST API實(shí)現(xiàn)功能的擴(kuò)展,保證一個(gè)干凈、原生的foreman。

foreman給我們的一個(gè)很大幫助就是,他把所有的配置、fact結(jié)果、運(yùn)行結(jié)果什么都放到了mysql數(shù)據(jù)庫里,所以,我們?cè)谧鲆恍┻\(yùn)行分析的時(shí)候,可以直接從數(shù)據(jù)庫中獲取數(shù)據(jù)進(jìn)行分析即可。

foreman幫我們搞定了節(jié)點(diǎn)管理、數(shù)據(jù)入庫,剩下的就是你的想象力了。

puppet的fact機(jī)制是什么,如何利用fact?

簡(jiǎn)單來說,fact就是puppet的一個(gè)組件,這個(gè)組件以一堆ruby腳本的形式存在在被管理服務(wù)器上,每次運(yùn)行puppet命令的時(shí)候,都會(huì)先執(zhí)行這一堆腳本,獲得一堆變量=>值對(duì),然后返回給服務(wù)器。

可以在一個(gè)安裝了puppet的服務(wù)器上執(zhí)行facter命令:

[root@fm-server ~]# facter

architecture => x86_64

augeasversion => 1.0.0

bios_release_date => 12/01/2006

bios_vendor => innotek GmbH

bios_version => VirtualBox

......

interfaces => eth0,lo

ipaddress => 192.168.56.30

ipaddress_eth0 => 192.168.56.30

ipaddress_lo => 127.0.0.1

is_virtual => true

kernel => Linux

kernelmajversion => 3.8

kernelrelease => 3.8.13-44.1.1.el6uek.x86_64

kernelversion => 3.8.13

...

具體腳本的位置在:/usr/lib/ruby/site_ruby/1.8/facter/ 這個(gè)目錄中,有興趣的同學(xué)可以自己看看。

系統(tǒng)默認(rèn)了將近100個(gè)fact變量,實(shí)際上我們也可以自己擴(kuò)展自己需要的fact變量,擴(kuò)展fact有4種方法:

1. 直接在/usr/lib/ruby/site_ruby/1.8/facter/目錄中自己寫一個(gè)fact腳本,看看其他的怎么寫的,比劃著寫就行了

2. 自己隨便找個(gè)目錄,把你自己的ruby腳本放到哪個(gè)目錄中,然后定義變量:export FACTERLIB=/mypuppet/myfact/,腳本寫法同上

3. fact支持外部fact,這個(gè)定義寫在了/usr/lib/ruby/site_ruby/1.8/facter/util/config.rb文件中:

@external_facts_dirs = ["/opt/puppetlabs/facter/facts.d",

"/etc/facter/facts.d",

"/etc/puppetlabs/facter/facts.d"]

把你的fact定義放到那些目錄中(可能需要自己創(chuàng)建),fact定義支持txt、yaml、json、sh四種方式,我比較喜歡用sh:

[root@fm-server ~]# mkdir -p /etc/facter/facts.d

[root@fm-server ~]# cd /etc/facter/facts.d/

[root@fm-server facts.d]# vi test.sh

#!/bin/bash

echo "testfact=Test"

[root@fm-server facts.d]# chmod 755 test.sh

[root@fm-server facts.d]# facter |grep test

testfact => Test

4. 用pluginsync發(fā)布,這個(gè)方法我用的很少,因?yàn)樘闊┝?,我是極簡(jiǎn)主義者

對(duì)于自定義facter,大家可以參考

https://docs.puppetlabs.com/facter/3.1/fact_overview.html

找到了這個(gè)機(jī)制,我們?nèi)绾卫胒acter呢? 通常來說,有2個(gè)用法:

1. 使用fact變量來實(shí)現(xiàn)配置的自動(dòng)調(diào)節(jié)

例如apache服務(wù)器,希望按照cpu的核數(shù)調(diào)整并發(fā)的進(jìn)程數(shù)

fact變量中有一個(gè):

[root@fm-server ~]# facter |grep process

physicalprocessorcount => 1

processor0 => Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz

processorcount => 1

processors => {"physicalcount"=>1, "count"=>1, "models"=>["Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz"]}

就可以在apache的puppet類中寫:

StartServers <%= @processorcount.to_i*12 %>

這樣不同的服務(wù)器的apache的啟動(dòng)進(jìn)程就不同了

2. 利用fact收集想收集的信息

這個(gè)在自定義配置中已經(jīng)講了方法,反正是shell腳本,你想干啥就干啥,

foreman會(huì)把fact入庫,你可以很方便的通過api或者直接訪問數(shù)據(jù)庫來獲得你想要的數(shù)據(jù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9796

    瀏覽量

    88017
  • root
    +關(guān)注

    關(guān)注

    1

    文章

    86

    瀏覽量

    21737

原文標(biāo)題:Puppet,Ansible,Saltstack 有哪些區(qū)別和聯(lián)系

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Ansible軟件平臺(tái)

    Ansible 是一個(gè)免費(fèi)的用于配置和管理計(jì)算機(jī)的的軟件平臺(tái)。它集成了軟件部署,ad hoc任務(wù)執(zhí)行,和管理配置的功能。它依賴Python2.4之后的版本和通過SSH或者PowerShell管理節(jié)點(diǎn)
    發(fā)表于 07-18 08:24

    ansible核心程序批量部署

    ansible批量部署
    發(fā)表于 07-26 15:30

    ansible調(diào)用playbook遠(yuǎn)程mvn顯示找不到JAVA_HOME

    ansible 】關(guān)于ansible遠(yuǎn)程執(zhí)行的環(huán)境變量問題
    發(fā)表于 11-06 09:26

    ansible的工作原理和安裝

    ansible安裝(一)
    發(fā)表于 03-25 11:19

    ansible 某臺(tái)機(jī)器的ssh端口不是默認(rèn)端口,如何解決?

    現(xiàn)象:ansible 某臺(tái)機(jī)器的ssh端口不是默認(rèn)端口
    發(fā)表于 11-06 06:56

    Saltstack配置管理大全

    Saltstack配置管理大全
    發(fā)表于 09-08 09:01 ?9次下載
    <b class='flag-5'>Saltstack</b>配置管理大全

    使用用Ansible重復(fù)部署ELK STACK

    本文介紹如何使用Ansible 劇本在遠(yuǎn)程服務(wù)器上設(shè)置ELK(5.x版本)進(jìn)行開發(fā)。它將帶你完成安裝Ansible的步驟,連接到目標(biāo)服務(wù)器,執(zhí)行該劇本,并建立初始的日志流水線。 讓我們開始吧! 1.
    發(fā)表于 09-28 14:50 ?0次下載
    使用用<b class='flag-5'>Ansible</b>重復(fù)部署ELK STACK

    Ansible入門教程如何快速了解Ansible

    頂級(jí)大牛帶你20分鐘玩轉(zhuǎn)Ansible!
    的頭像 發(fā)表于 05-12 11:49 ?5392次閱讀

    puppet-glusterfs Puppet上的GlusterFS管理插件

    puppet-glusterfs.zip
    發(fā)表于 05-05 11:18 ?0次下載
    <b class='flag-5'>puppet</b>-glusterfs <b class='flag-5'>Puppet</b>上的GlusterFS管理插件

    Puppet集中式系統(tǒng)管理

    puppet.zip
    發(fā)表于 05-05 09:42 ?0次下載
    <b class='flag-5'>Puppet</b>集中式系統(tǒng)管理

    Ansible Container容器自動(dòng)化構(gòu)建部署工具

    ./oschina_soft/ansible-container.zip
    發(fā)表于 05-11 10:15 ?1次下載
    <b class='flag-5'>Ansible</b> Container容器自動(dòng)化構(gòu)建部署工具

    什么是Ansible

    Ansible是一種運(yùn)維自動(dòng)化工具軟件,用來批量配置服務(wù)器或網(wǎng)絡(luò)設(shè)備(目標(biāo)主機(jī))。
    的頭像 發(fā)表于 02-15 14:06 ?1947次閱讀

    網(wǎng)絡(luò)設(shè)備自動(dòng)化運(yùn)維工具—ansible入門筆記介紹

    Ansible是一款自動(dòng)化運(yùn)維工具,基于Python開發(fā),集合了眾多運(yùn)維工具 (Puppet、CFengine、Chef、SaltStack)的優(yōu)點(diǎn),實(shí)現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運(yùn)行命令等功能。
    的頭像 發(fā)表于 01-15 13:46 ?2791次閱讀
    網(wǎng)絡(luò)設(shè)備自動(dòng)化運(yùn)維工具—<b class='flag-5'>ansible</b>入門筆記介紹

    IT自動(dòng)化工具Ansible基礎(chǔ)入門

    Ansible是幫助運(yùn)維人員實(shí)現(xiàn)自動(dòng)化的最重要的工具之一。
    的頭像 發(fā)表于 02-07 10:00 ?761次閱讀
    IT自動(dòng)化工具<b class='flag-5'>Ansible</b>基礎(chǔ)入門

    Ansible Playbook中的變量使用技巧

    在inventory中定義的連接變量(比如ansible_ssh_user);優(yōu)先級(jí)第二。
    的頭像 發(fā)表于 04-15 10:26 ?321次閱讀