chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

如果考慮到快速使用,建議puppet,有一個foreman做web平臺,上手快。

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

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

saltstack用的不多,不做評論。

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

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

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

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

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

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

3. 結(jié)果的收集和分析 因為一下子幾百臺機器一起干活,所以,就要自己寫外置腳本,更好地收集ansible的操作結(jié)果,并且進行直觀的匯總和展現(xiàn)。

Foreman的作用是什么?

foreman是基于puppet的一個“增強工具”,主要能夠幫到我們運維狗的有:

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

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

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

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

3. puppet的Web界面

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

如何利用foreman呢?

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

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

foreman給我們的一個很大幫助就是,他把所有的配置、fact結(jié)果、運行結(jié)果什么都放到了mysql數(shù)據(jù)庫里,所以,我們在做一些運行分析的時候,可以直接從數(shù)據(jù)庫中獲取數(shù)據(jù)進行分析即可。

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

puppet的fact機制是什么,如何利用fact?

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

可以在一個安裝了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/ 這個目錄中,有興趣的同學可以自己看看。

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

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

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

3. fact支持外部fact,這個定義寫在了/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ā)布,這個方法我用的很少,因為太麻煩了,我是極簡主義者

對于自定義facter,大家可以參考

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

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

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

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

fact變量中有一個:

[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的啟動進程就不同了

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

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

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

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

    關(guān)注

    13

    文章

    9795

    瀏覽量

    87995
  • root
    +關(guān)注

    關(guān)注

    1

    文章

    86

    瀏覽量

    21732

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Ansible軟件平臺

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

    ansible核心程序批量部署

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

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

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

    ansible的工作原理和安裝

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

    ansible 某臺機器的ssh端口不是默認端口,如何解決?

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

    Saltstack配置管理大全

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

    使用用Ansible重復部署ELK STACK

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

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

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

    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容器自動化構(gòu)建部署工具

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

    什么是Ansible

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

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

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

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

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

    Ansible Playbook中的變量使用技巧

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