站長資訊網
        最全最豐富的資訊網站

        自動化運維之Ansible的安裝部署與命令模塊

        • Ansible簡介

        Ansible是新出現的自動化運維工具,基于Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能。

        Ansible是基于模塊工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所運行的模塊,ansible只是提供一種框架。

        主要包括:

        (1)連接插件connection plugins:負責和被監控端實現通信;

        (2)host inventory:指定操作的主機,是一個配置文件里面定義監控的主機;

        (3)各種模塊核心模塊、command模塊、自定義模塊;

        (4)借助于插件完成記錄日志郵件等功能;

        (5)playbook:劇本執行多個任務時,非必需可以讓節點一次性運行多個任務。

        • 搭建環境

        管理端:CentOS7-1 192.168.177.145

        被管理端:centos7-2 192.168.177.135

        被管理端:centos7-3 192.168.177.132

        Ansible安裝

        192.168.177.145:

        # systemctl stop firewalld.service  //關閉防火墻  # setenforce 0  # yum install -y epel-release  //安裝epel源  # yum install ansible -y   //安裝Ansible  # vim /etc/ansible/hosts     [abc]    192.168.177.135    [mysql]    192.168.177.132  # ssh-keygen -t rsa       //設置密鑰對  # ssh-copy-id root@192.168.177.135  # ssh-copy-id root@192.168.177.132  //配置密鑰對  # ssh-agent bash    //免交互代理  # ssh-add

        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊

        192.168.177.135(另一臺也一樣):

        # systemctl stop firewalld.service  //關閉防火墻  # setenforce 0  # cd ~/.ssh

        自動化運維之Ansible的安裝部署與命令模塊

        Ansible命令行模塊

        command模塊

        命令格式:ansible [主機] [-m 模塊] [-a args]

        # ansible 192.168.177.135 -m command -a 'date'   //指定ip執行date  # ansible mysql -a 'date'   //指定分類執行date

        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊

        cron模塊

        用于定義任務計劃

        兩種狀態(state):present表示添加(可以省略),absent表示移除。

        # ansible-doc -s cron      //查看cron模塊信息  # ansible abc -m cron -a 'minute="*/1" job="/usr/bin/echo nihao" name="test nihao"'  //添加周期性計劃任務  # ansible abc -a 'crontab -l'  # ansible abc -m cron -a 'name="test nihao" state=absent'   //移除計劃任務,假如該計劃任務沒有取名字,name=None即可

        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊

        user模塊

        用于創建新用戶和更改刪除已存在的用戶

        user模塊是請求的是useradd, userdel, usermod三個指令

        # ansible-doc -s user  # ansible mysql -m user -a 'name=zhangsan'  //創建zhangsan  # ansible mysql -m user -a 'name=zhangsan state=absent'   //刪除zhangsan

        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊

        group模塊

        對用戶組進行管理

        group模塊請求的是groupadd, groupdel, groupmod 三個指令

        # ansible mysql -m group -a 'name=test gid=306 system=yes'  //創建test組  # ansible mysql -m user -a 'name=wang' //創建用戶wang  # ansible mysql -m group -a 'name=test1 gid=506 system=yes'  //創建test1組  # ansible mysql -m user -a 'name=wang uid=506 group=test1 system=yes' //將wang添加到test1組

        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊

        copy模塊

        用于實現文件復制和批量下發文件

        # ansible-doc -s copy  # ansible abc -m copy -a 'src=/etc/fstab dest=/opt/fstab.bk owner=root mode=644' //將/etc/fstab復制到被管理端/opt下  # ansible abc -a 'cat /opt/fstab.bk' //查看

        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊

        file模塊

        用于設置文件屬性

        # ansible mysql -m file -a 'path=/opt/test.txt state=touch'  //創建空文件  # ansible mysql -m file -a 'path=/opt/test.txt owner=wang group=test1 mode=666'   //設置文件的屬主,屬組和權限  # ansible mysql -m file -a 'src=/opt/test.txt path=/opt/test.txt.link state=link'  //創建鏈接性文件  # ansible mysql -m copy  -a 'content="hello" dest=/opt/test.txt'  //在test.txt中寫入內容

        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊

        ping模塊

        用于測試指定主機的連通性

        # ansible all -m ping

        自動化運維之Ansible的安裝部署與命令模塊

        yum模塊

        # ansible abc -m yum -a 'name=httpd' //yum安裝httpd服務

        自動化運維之Ansible的安裝部署與命令模塊

        service模塊

        用來控制管理服務的運行狀態

        # ansible abc -m service -a 'name=httpd enabled=true state=started'  //開機自啟動

        自動化運維之Ansible的安裝部署與命令模塊
        自動化運維之Ansible的安裝部署與命令模塊

        shell模塊

        在被管理端運行命令

        # ansible mysql -m shell -a 'echo "abc123" | passwd --stdin wang'  //創建密碼

        自動化運維之Ansible的安裝部署與命令模塊

        script模塊

        將本地腳本復制到被管理端運行

        # ansible-doc -s script  # vi /opt/test.sh  #!/bin/bash  echo "hello ansible from script"> /opt/script.txt  # chmod +x /opt/test.sh  # ansible mysql -m script -a '/opt/test.sh'

        自動化運維之Ansible的安裝部署與命令模塊

        setup模塊

        # ansible mysql -m setup           //獲取mysql組主機的facts信息

        自動化運維之Ansible的安裝部署與命令模塊

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产AV国片精品一区二区| 国产精品成人99久久久久91gav| 国产精品99久久99久久久| 老司机国内精品久久久久| 亚洲精品成人无限看| 国产这里有精品| 先锋影音国产精品| 国产成人精品高清在线观看93| 精品福利一区二区三| 久久婷婷国产综合精品| 久久久99精品一区二区| 欧美日激情日韩精品| 国产成人精品手机在线观看| 亚洲国产成人精品无码久久久久久综合| 最新国产精品拍自在线观看| 日韩精品成人一区二区三区| 国产日韩精品欧美一区| 亚洲午夜精品久久久久久浪潮 | 影视网欧洲精品| 国产午夜无码精品免费看| 亚洲А∨精品天堂在线| 精品日本一区二区三区在线观看| 亚洲∧v久久久无码精品| 日批日出水久久亚洲精品tv| 久久精品99无色码中文字幕| 国产福利精品在线观看| 国产成人精品高清在线观看93| 北岛玲日韩精品一区二区三区| 午夜成人精品福利网站在线观看 | 精品日本一区二区三区在线观看| 自拍偷自拍亚洲精品第1页| 日韩精品无码Av一区二区| 国产亚洲精品无码专区| 国产精品污WWW一区二区三区| 精品无码久久久久久尤物| 少妇精品久久久一区二区三区| 91精品国产高清久久久久久国产嫩草| 亚洲一区精品伊人久久伊人| 久久97久久97精品免视看秋霞| 国产精品高清一区二区人妖| 992tv精品视频tv在线观看|