久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      自動化運(yùn)維管理工Ansible安裝與配置

      一、Ansible概述

      • 互聯(lián)網(wǎng)的快速發(fā)展導(dǎo)致產(chǎn)品更新?lián)Q代速度加快,按照傳統(tǒng)維護(hù)操作使得工作效率低下,自動化運(yùn)維以盡可能安全高效的完成工作為目的,實(shí)現(xiàn)代替?zhèn)鹘y(tǒng)工作方式。
      • 自動化運(yùn)維工具劃分為兩類:
      • 一是需要使用代理工具的,也就是基于agent程序來實(shí)現(xiàn)管理功能,例如puppet、func、zabbix等
      • 二是不需要代理配置工具的,可以直接基于SSH服務(wù)來完成管理功能,如ansible,fabric等。

      • 自動化運(yùn)維工具比較:
      工具 開發(fā)語言 結(jié)構(gòu) 配置文件格式 運(yùn)行任務(wù)
      Ansible Python YAML 支持命令行
      SaltStack Python C/S YAML 支持命令行
      Puppet Ruby C/S Ruby語法格式 通過模塊實(shí)現(xiàn)

      Ansible

      • Ansible基于Python開發(fā),集合了眾多優(yōu)秀運(yùn)維工具的優(yōu)點(diǎn),實(shí)現(xiàn)了批量運(yùn)行命令、部署程序、配置系統(tǒng)等功能。默認(rèn)通過SSH協(xié)議進(jìn)行遠(yuǎn)程命令執(zhí)行或下發(fā)配置,無需任何客戶端代理軟件,從而使得自動化環(huán)境部署變得簡單,同時支持多臺主機(jī)并行管理,使得管理主機(jī)更加便攜。

      二、安裝部署Ansible服務(wù)

      • ansible自動化運(yùn)維環(huán)境有控制主機(jī)與被管理主機(jī)組成,由于ansible是基于SSH協(xié)議進(jìn)行通信的,所以控制主機(jī)安裝ansible軟件后不需要重啟或者運(yùn)行任何程序,被管理主機(jī)也不需要安裝或者運(yùn)行任何代理程序。

      2.1、安裝部署Ansible

      服務(wù)器 IP地址 操作系統(tǒng) 組名
      控制主機(jī) 192.168.144.112 CentOS7.3 x86_64
      被控制主機(jī)1 192.168.144.111 centos7.3 x86_64 webserver
      被控制主機(jī)2 192.168.144.114 centos7.3 x86_64 mysql
      • 1)配置yum源

      yum install epel-release

      • 2)安裝ansible

      yum install ansible -y
      yum install tree -y

      • 3)安裝完成后,利用tree命令查看配置文件結(jié)構(gòu)。

      tree /etc/ansible

      /etc/ansible/  ├── ansible.cfg   //主配置文件  ├── hosts         //管控主機(jī)文件  └── roles        //角色目錄

      自動化運(yùn)維管理工Ansible安裝與配置

      2.2、配置主機(jī)清單

      vim /etc/ansible/hosts

      [webserver]      //主機(jī)分類組名
      192.168.144.111  //主機(jī)IP地址或者是域名

      [mysql]
      192.168.144.114

      2.3、利用SSH實(shí)現(xiàn)登錄

      • 控制服務(wù)器上操作,為了避免ansible下發(fā)指令時輸入被管理主機(jī)的密碼,需要使用SSH證書簽名達(dá)到免密登錄效果。使用ssh-keygen產(chǎn)生一對密匙,使用ssh-copy-id來下發(fā)公匙。

      ssh-keygen -t rsa
      ssh-copy-id root@192.168.144.111 //發(fā)送公匙給被控服務(wù)器
      ssh-copy-id root@192.168.144.114

      • 當(dāng)被控制服務(wù)器接收到公匙后,實(shí)際已經(jīng)可以通過ansible進(jìn)行命令控制,只是,存在每次都需要輸入私鑰密碼交互式驗(yàn)證較為麻煩,因此需要設(shè)置免交互代理。

      ssh-agent bash
      ssh-add //輸入私鑰密碼即可

      自動化運(yùn)維管理工Ansible安裝與配置

      三、Ansible應(yīng)用命令模塊

      3.1、ansible命令格式

      • 命令格式:ansible [主機(jī)] [-m 模塊] [-a args]
      • ansible-doc -l //列出所有已安裝的模塊 注:按q退出
      • ansible-doc -s user //-s列出user模塊描述信息和操作動作

      自動化運(yùn)維管理工Ansible安裝與配置

      3.2、command模塊

      • Ansible管理工具默認(rèn)模塊,若省略-m command,ansible默認(rèn)使用command的模塊

      ansible 192.168.144.111 -m command -a ‘date’ //指定ip執(zhí)行date
      ansible webserver -m command -a ‘date’ //指定分類執(zhí)行date
      ansible mysql -m command -a ‘date’
      ansible all -m command -a ‘date’ //所有hosts主機(jī)執(zhí)行date命令
      ansible all -a ‘ls -l /’ 如果不加-m模塊,則默認(rèn)運(yùn)行command模塊

      3.2、cron模塊

      • 兩種狀態(tài),present表示添加,默認(rèn)狀態(tài),absent表示移除

      ansible-doc -s cron //查看cron模塊信息
      ansible webserver -m cron -a ‘minute=”*/1″ job=”/bin/echo heihei” name=”test cron job”‘

      ansible webserver -m cron -a ‘hour=”23″ job=”/bin/echo heihei” name=”test cron job”‘    //每天23點(diǎn)執(zhí)行,若想每隔23個小時執(zhí)行需要改成hour=”*/23″
      ansible webserver -m cron -a ‘weekday=”6″ job=”/bin/echo heihei” name=”test cron job”‘

      ansible-doc -s cron  //結(jié)合查看詳細(xì)用法

      ansible webserver -a ‘crontab -l’
      ansible webserver -m cron -a ‘name=”test cron job” state=absent’ //移除計(jì)劃任務(wù),假如該計(jì)劃任務(wù)沒有取名字,name=None即可

      3.3、user模塊

      • 用于創(chuàng)建新用戶,更改刪除已存在用戶,name選項(xiàng)用于指定用戶名稱。
      • user模塊是請求的是useradd, userdel, usermod三個指令
      • 可指定新建用戶的uid,group所屬組

      ansible webserver -m user -a ‘name=”test1″‘
      ansible webserver -m user -a ‘name=”test2″ shell=/sbin/nologin’ //添加用戶指定shell登錄方式
      ansible webserver -m command -a ‘tail /etc/passwd’ //查看用戶
      ansible webserver -m user -a ‘name=”test1″ state=absent’ //刪除用戶test01

      3.4、group模塊

      • 針對用戶的組進(jìn)行管理,請求groupadd、groupdel、groupmod三個指令

      ansible-doc -s group //查看group模塊幫助文檔
      ansible mysql -m group -a ‘name=mysql gid=306 system=yes’ //創(chuàng)建mysql組,指定gid,設(shè)置為系統(tǒng)組
      ansible mysql -a ‘tail /etc/group’
      ansible mysql -m user -a ‘name=test01 uid=306 system=yes group=mysql’ //使用user模塊添加用戶,并添加到mysql組
      ansible mysql -a ‘tail /etc/passwd’
      ansible mysql -a ‘id test01’

      3.5、copy模塊

      • 用于實(shí)現(xiàn)文件復(fù)制和批量文件下發(fā),src用來定義文件源路徑,dest定義被管理主機(jī)的文件路徑,owner指定屬主,group指定屬組,mode指定文件權(quán)限。

      ansible-doc -s copy
      ansible mysql -m copy -a ‘dest=/opt/123.txt content=”heihei” owner=test01 group=test01 mode=600’ //新建文件且指定內(nèi)容
      ansible mysql -a ‘ls -l /opt’
      ansible mysql -m copy -a ‘src=/etc/fstab dest=/opt/fstab.back owner=root mode=640’ //復(fù)制文件

      3.6、file模塊

      • 在ansible中使用file模塊來設(shè)置文件屬性,其中使用path指定文件路徑,使用src定義源文件路徑,使用name或者dest來替換創(chuàng)建文件的軟鏈接。

      ansible-doc -s file
      ansible mysql -m file -a ‘owner=root group=root mode=755 path=/opt/123.txt’ //更改文件的屬主屬組
      ansible mysql -m file -a ‘src=/opt/123.txt dest=/opt/123.txt.bk state=link’ //創(chuàng)建軟連接
      ansible mysql -m file -a ‘path=/opt/test.txt state=touch’ //新建一個空文件,若需要指定內(nèi)容需要copy模塊,content指定內(nèi)容

      3.7、ping模塊

      • 在ansible中使用ping模塊來檢測指定主機(jī)的連通性。

      ansible all -m ping

      3.8、yum模塊

      • 負(fù)責(zé)在被管理的主機(jī)上安裝與卸載軟件包,但是需要前提在每個節(jié)點(diǎn)配置自己的yum倉庫,其中name指定軟件包名稱,state=absent為選擇卸載軟件包。

      ansible-doc -s yum
      ansible mysql -m yum -a ‘name=httpd’
      ansible mysql -m yum -a ‘name=httpd state=absent’
      ansible mysql -m command -a ‘rpm -q httpd’

      3.9、service模塊

      • 控制服務(wù)的運(yùn)行狀態(tài),enabled表示打開開機(jī)自啟動,取值為true或者false,使用name定義服務(wù)名稱,使用state指定服務(wù)狀態(tài),取值為started、stopped、restarted.(此處注意很多參數(shù)后有ed,注意stopped)

      ansible-doc -s service
      ansible mysql -m service -a ‘name=httpd enabled=true state=started’ //設(shè)置httpd開啟自啟動,且狀態(tài)為開啟
      ansible mysql -m command -a ‘systemctl status httpd’

      3.10、shell模塊

      • 用于創(chuàng)建用戶無交互模式給用戶設(shè)置密碼。

      ansible-doc -s shell
      ansible mysql -m shell -a ‘echo abc123 | passwd –stdin test’ //為test用戶創(chuàng)建面交互式密碼

      3.11、script模塊

      • 可以將本地腳本復(fù)制到被管理主機(jī)上進(jìn)行運(yùn)行,需要注意的是,使用相對路徑指定腳本?。?!

      ansible-doc -s script
      vi test.sh

      #!/bin/bash
      echo “hello ansible from script”> /opt/script.txt

      chmod +x test.sh
      ansible mysql -m script -a ‘test.sh’

      3.12、setup模塊

      • 查看被管理主機(jī)的facts(facts是ansible采集被管理主機(jī)設(shè)備信息的一個功能)每個被管理主機(jī)在接受并運(yùn)行管理命令之前,都會將自己的相關(guān)信息(操作系統(tǒng)版本IP地址等)發(fā)送給控制主機(jī)。

      ansible-doc -s setup
      ansible mysql -m setup

      自動化運(yùn)維管理工Ansible安裝與配置

      下面關(guān)于Ansible的文章您也可能喜歡,不妨參考下:

      使用Ansible批量管理遠(yuǎn)程服務(wù)器  http://www.sfodin.cn/Linux/2015-05/118080.htm
      在 CentOS 7 中安裝并使用自動化工具 Ansible  http://www.sfodin.cn/Linux/2015-10/123801.htm
      CentOS 7上搭建Jenkins+Ansible服務(wù)  http://www.sfodin.cn/Linux/2016-12/138737.htm
      Linux下源碼編譯安裝Ansible及排錯記錄  http://www.sfodin.cn/Linux/2017-03/141427.htm
      Ansible基礎(chǔ)—安裝與常用模塊  http://www.sfodin.cn/Linux/2017-02/140216.htm
      Ansible配置及使用  http://www.sfodin.cn/Linux/2017-03/142121.htm
      自動化運(yùn)維工具Ansible使用教程 http://www.sfodin.cn/Linux/2017-12/149671.htm
      自動化運(yùn)維工具之 Ansible 介紹及安裝使用  http://www.sfodin.cn/Linux/2016-12/138104.htm
      自動化運(yùn)維之Ansible詳解  http://www.sfodin.cn/Linux/2017-03/142191.htm
      Ansible入門notify和handlers  http://www.sfodin.cn/Linux/2017-02/140871.htm
      CentOS 6.5安裝自動化工具Ansible和圖形化工具Tower  http://www.sfodin.cn/Linux/2017-03/141422.htm

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號