saltstack運(yùn)維工具

一粮呢、初識(shí)運(yùn)維

  • 運(yùn)維都做哪些事?

    • 1.機(jī)房設(shè)備上下架
    • 2.系統(tǒng)初始化
    • 3.應(yīng)用環(huán)境初始化
    • 4.應(yīng)用的部署 調(diào)試 配置 --->saltstack
    • 5.代碼的發(fā)部 ---> jenkins
    • 6.服務(wù)監(jiān)控(應(yīng)用監(jiān)控钞艇,系統(tǒng)監(jiān)控(CPU 內(nèi)存 硬盤))
    • 7.數(shù)據(jù)備份...
  • 自動(dòng)化發(fā)展階段

    • 1啄寡,標(biāo)準(zhǔn)化,環(huán)境的統(tǒng)一(軟件一致哩照,版本一致挺物,位置一致)
    • 2,文檔化飘弧,(比如宕機(jī)识藤,通過文檔操作)
    • 3,工具化次伶,(執(zhí)行腳本痴昧,1,2冠王,3(流程可能亂))
    • 4赶撰,web 化,(按固定流程執(zhí)行)
    • 5版确,平臺(tái)化扣囊,(運(yùn)維平臺(tái),API接口(拿日志等)绒疗,圖表形式展示(直觀))
    • 6侵歇,服務(wù)化
    • 7,智能化吓蘑,(換硬盤-->機(jī)械手臂換)

二惕虑、初識(shí)saltstack

  • saltstack(管理工具)
    并行機(jī)制坟冲,python開發(fā),API接口

  • 主要功能

    • 1溃蔫,遠(yuǎn)程執(zhí)行(命令)
    • 2健提,配置管理(配置安裝nginx)
    • 3,云管理(此處不研究)
  • 運(yùn)行方式

    • 1伟叛,Local(自己管自己)
    • 2私痹,Master、Minion(主從)<-----> 最常見
    • 3统刮,Salt SSH
  • 支持系統(tǒng)
    CentOS Redhat Fedora Gentoo Debian MAC OS
    ubuntu suse freebsd......
    Windows(只有Minion紊遵,只能被管)

  • 運(yùn)行依賴包,yum安裝侥蒙,一鍵搞定依賴關(guān)系
    python
    zeromq(saltstack基于RPC模式完成通信暗膜,用到的消息中間件就是zeromq
    pyzmp
    pycrypto(saltstack信息使用AES方式加密解密,需要用到pycrypto包)
    msgpack-python
    yaml
    jinja2

三鞭衩、saltstack操作

  • 1学搜、安裝,提前準(zhǔn)備兩臺(tái)虛擬機(jī)论衍,一主一從瑞佩,提前配好epel源
    主(master):yum install salt-master -y
    從(minion):yum install salt-minion -y
    (Ubuntu執(zhí)行):sudo apt-get install salt-minion
  • 3饲齐、配置
    主:
    • 1钉凌,vim /etc/salt/master
    • 2,搜索file_roots(輸入斜杠進(jìn)行搜索)
    • 3捂人,將下面的注釋打開(注意空格御雕,2個(gè),4個(gè))
      file_roots:(在416行)
        base:
          - /srv/salt
      
    • 4滥搭,搜索pillar_roots
    • 5酸纲,將下面注釋打開
      pillar_roots:(在529行)
        base:
          - /srv/pillar
      
    • 6,保存退出瑟匆,啟動(dòng):systemctl start salt-master
    從:(Ubuntu系統(tǒng)編輯內(nèi)容相同闽坡,方式不同)
    • 1,vi /etc/salt/minion
    • 2愁溜,:set nu疾嗅,找到行號(hào),大概在16行冕象,修改masterip
      master: 192.168.122.1冒號(hào)后一個(gè)空格
    • 3代承,搜索#id(沒有修改過的),大概在78行渐扮。為id做個(gè)標(biāo)識(shí)论悴,名字隨便起掖棉,方便管理。
      id: slave-1冒號(hào)后一個(gè)空格
    • 4膀估,保存退出啟動(dòng):systemctl start salt-minion
  • 4幔亥、管理(第一次有一個(gè)認(rèn)證的過程(手動(dòng)認(rèn)證↓,自動(dòng)認(rèn)證(配置文件)))

    主:salt-key(顯示)

    salt-key.png

    salt-key -A: 允許所有小弟受管制(一般都是-A)
    salt-key -a: 指定某個(gè)小弟受管制

    [root@master / 02:23:15]# salt-key -A
    
    The following keys are going to be accepted:
    Unaccepted Keys:
    slave-1
    Proceed? [n/Y] Y
    Key for minion slave-1 accepted.
    
  • 5察纯、命令組成

    命令 :salt
    目標(biāo) : '*'(支持正則)

    模塊 : -->命令
    方法 : -->參數(shù)

    返回

  • 6帕棉、官網(wǎng)
  • (Ⅰ),檢查主機(jī)是否存活:salt '*' test.ping
    (*目標(biāo)捐寥,所有)(test笤昨,模塊)(ping,方法) slave-1: True (返回)

    • 查看test其他命令:salt '*' sys.list_functions test
    • salt --help #即可查看salt幫助
    [root@master 192.168.199.155 ~]$salt --help
       Usage: salt [options] '<target>' <function> [arguments]
             salt命令  參數(shù)     目標(biāo)   salt模塊的函數(shù) 遠(yuǎn)程執(zhí)行的參數(shù)
    
  • (Ⅱ)握恳,檢查slave-1是否存活(前提是salt-minion已啟動(dòng)):salt 'slave-1' test.ping

    slave-1:
      Minion did not return. [No response]
      (slave關(guān)機(jī),測(cè)試結(jié)果)
    
  • (Ⅲ)捺僻,執(zhí)行命令乡洼,返回結(jié)果【cmd.run
    salt '*' cmd.run 'df -h':執(zhí)行'df -h'命令,交互式辦不到匕坯,只能執(zhí)行可以返回結(jié)果的

    salt控制執(zhí)行cmd命令 .png

  • (Ⅳ)束昵,同步配置文件【文件的分發(fā)(配置文件+命令 / salt-cp)】
    4.1,配置文件(yaml語法)葛峻,接下來執(zhí)行命令

    先創(chuàng)建一個(gè)文件:mkdir /srv/{salt,pillar}
    進(jìn)入到/srv/salt
    創(chuàng)建sls文件 vim host_file.sls(文件名隨便锹雏,后綴必須是sls)
    寫入:(注意空格,一定手寫术奖,不要復(fù)制粘貼)

    /etc/hosts:(文件路徑)
      file.managed:(file模塊的managed方法)
        - source: salt://files/hosts(指定本地文件的路徑)
        - user: root
        - group: root
        - mode: 644
    

    salt文件分發(fā)配置.png

    ????????進(jìn)入:cd /srv/salt
    ????????創(chuàng)建:mkdir files
    ????????進(jìn)入:cd files
    ????????copy:cp /etc/hosts .

?????????4.2礁遵,執(zhí)行命令,同步文件配置:salt '*' state.sls host_file

?????????4.3采记,或者執(zhí)行佣耐,同樣有效(此命令也可執(zhí)行文件分發(fā)):salt-cp '*' /etc/hosts /etc/
???????????????返回值:{'slave-1': {'/etc/hosts': True}}
?????????4.4,檢測(cè):分別查看主機(jī)和從機(jī)的hosts文件:cat /etc/hosts唧龄,如果兩者一致兼砖,證明文件分發(fā)成功。

  • (Ⅴ)既棺,軟件的安裝【安裝nginx】
    • 5.1讽挟,cd /srv/salt(進(jìn)入到salt文件夾)

    • 5.2,vim nginx_install.sls(寫配置文件丸冕,命名無所謂耽梅,后綴必須為sls)

    • 5.3,寫入下面內(nèi)容:


      salt下載軟件配置.png

      salt下載軟件并啟動(dòng)完整配置.png
    • 5.4晨仑,執(zhí)行命令褐墅,salt '*' state.sls nginx_install(注意下劃線和中劃線)
      因?yàn)樾枰螺d拆檬,所以會(huì)很慢。

    • 5.5妥凳,驗(yàn)證竟贯,訪問一下:curl -I 10.0.0.11
      返回200即成功,如果失敗逝钥,檢查sls文件屑那、命令、網(wǎng)絡(luò)是否正常艘款。

      salt執(zhí)行下載nginx失敗.png

也可以使用salt '*' pkg.install nginx(只是下載)
??????????????????salt '*' service.start nginx(啟動(dòng))

  • (Ⅵ)持际,計(jì)劃任務(wù)(每一個(gè)用戶都有自己的計(jì)劃任務(wù))
    查看:salt '*' cron.list_tab root(用戶)

    • 6.1,進(jìn)入到salt里哗咆,vim crontab.sls
    • 6.2蜘欲,寫入以下內(nèi)容
      前提是從機(jī)里有ntpdate文件(沒有需自創(chuàng)),按路徑寫入↓
    /usr/sbin/ntpdate times.aliyun.com >>/dev/null:
      cron.present:
        - user: root(注意空格晌柬,否則報(bào)錯(cuò))
        - minute: '*/5'
    
    (分:minute 時(shí):hour 日:daymonth 月:month 周:dayweek)
    
    • 6.3姥份,執(zhí)行:salt '*' state.sls crontab

      salt執(zhí)行定時(shí)任務(wù)失敗.png

      salt執(zhí)行定時(shí)任務(wù)成功.png

    • 6.4,驗(yàn)證:主機(jī)執(zhí)行salt '*' cron.list_tab root 或者 從機(jī)執(zhí)行 crontab -l查看任務(wù)

    • 6.5年碘,修改任務(wù)澈歉,直接修改文件,再執(zhí)行一遍即可屿衅。

  • (Ⅶ)埃难,刪除計(jì)劃任務(wù)

    • 7.1,進(jìn)入到salt里涤久,vim del_cron.sls
    • 7.2涡尘,寫入一下內(nèi)容
    /usr/sbin/ntpdate times.aliyun.com >>/dev/null:
      cron.absent:
        - name: /usr/sbin/ntpdate times.aliyun.com >>/dev/null
    
    • 7.3,執(zhí)行:salt '*' state.sls del_cron
    • 7.4拴竹,驗(yàn)證:主機(jī)執(zhí)行salt '*' cron.list_tab root或者 從機(jī)執(zhí)行crontab -l查看任務(wù)
  • (Ⅷ)悟衩,檢索靜態(tài)信息數(shù)據(jù)
    salt '*' grains.items:(以鍵值形式展示)
    salt '*' grains.item fqdn_ip4:(只顯示某一個(gè)數(shù)據(jù))
    salt '*' grains.item fqdn_ip4 os id:(顯示多個(gè)數(shù)據(jù))

  • (Ⅸ),其他
    查看salt版本:salt-run manage.versions

四栓拜、windows安裝salt-minion

  • 1座泳,下載,安裝(自動(dòng)添加環(huán)境變量)
    官網(wǎng)安裝:https://repo.saltstack.com/#windows
  • 2幕与,按提示操作(在文件所在位置打開cmd窗口執(zhí)行):
    提示:Salt-Minion-2018.3.3-Py2-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname
    操作:Salt-Minion-2018.3.3-Py3-AMD64-Setup.exe /S /master=10.0.0.10 /minion-name=192.168.0.109
    (安裝挑势,啟動(dòng)(會(huì)在服務(wù)自動(dòng)開啟,如果沒開啟啦鸣,手動(dòng)開啟))
  • 3潮饱,啟動(dòng)后,查看master端(linux機(jī)):salt-key
    salt操控windows系統(tǒng).png
  • 4诫给,接收香拉,執(zhí)行命令(windows命令和linux命令不同啦扬,有些會(huì)沒有效果)。
    ?????分發(fā)文件(成功):salt-cp '192.168.0.109' ./test.py C:/
    ?????查看ip(有結(jié)果):salt '192.168.0.109' cmd.run 'ipconfig'
    ?????打開計(jì)算機(jī)(沒打開):salt '192.168.0.109' cmd.run 'calc'
    salt給windows分發(fā)文件.png

    ??????查看各個(gè)salt版本:salt-run manage.versions
    查看各個(gè)salt版本.png

五凫碌、連接

SaltStack 的通訊及安全機(jī)制:SaltStack 的通訊及安全機(jī)制
SaltStack 詳解:SaltStack 詳解博客
SaltStack 常用命令:SaltStack 常用命令1
SaltStack 常用命令:SaltStack 常用命令2
SaltStack 官網(wǎng):saltstack官網(wǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末扑毡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盛险,更是在濱河造成了極大的恐慌瞄摊,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苦掘,死亡現(xiàn)場(chǎng)離奇詭異换帜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鹤啡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門惯驼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人递瑰,你說我怎么就攤上這事跳座。” “怎么了泣矛?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)禾蚕。 經(jīng)常有香客問我您朽,道長(zhǎng),這世上最難降的妖魔是什么换淆? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任哗总,我火速辦了婚禮,結(jié)果婚禮上倍试,老公的妹妹穿的比我還像新娘讯屈。我一直安慰自己,他們只是感情好县习,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布涮母。 她就那樣靜靜地躺著,像睡著了一般躁愿。 火紅的嫁衣襯著肌膚如雪叛本。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天彤钟,我揣著相機(jī)與錄音来候,去河邊找鬼。 笑死逸雹,一個(gè)胖子當(dāng)著我的面吹牛营搅,可吹牛的內(nèi)容都是我干的云挟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼零截!你這毒婦竟也來了礼烈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤俊庇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后鸡挠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辉饱,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年拣展,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了彭沼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡备埃,死狀恐怖姓惑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情按脚,我是刑警寧澤于毙,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站辅搬,受9級(jí)特大地震影響唯沮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜堪遂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一介蛉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧溶褪,春花似錦币旧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至于游,卻和暖如春毁葱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贰剥。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國打工倾剿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓前痘,卻偏偏與公主長(zhǎng)得像凛捏,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芹缔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容