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

        自動化運維之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號
        主站蜘蛛池模板: 亚洲精品视频在线观看你懂的| 国产精品精品自在线拍| 亚洲中文字幕久久精品无码APP | 999国产精品视频| 国产在线精品无码二区| 日韩精品无码久久一区二区三| www.精品| 久久国产精品-久久精品| 精品久久人妻av中文字幕| 中文字幕精品久久久久人妻| 青青草97国产精品免费观看 | 中文字幕精品视频| 久久精品嫩草影院| 国产精品久久国产精麻豆99网站| 久久发布国产伦子伦精品| 中文字幕精品久久久久人妻| 无码AⅤ精品一区二区三区| 精品日本一区二区三区在线观看| 亚洲精品无码不卡| 国产精品久久久久9999高清| 2022国产精品福利在线观看| 国产精品久线在线观看| 国产精品亚韩精品无码a在线| 日本aⅴ精品中文字幕| 日本VA欧美VA欧美VA精品| 亚洲国产精品一区第二页| 无码人妻精品一区二区三区东京热 | 性欧洲精品videos| 伊在人亚洲香蕉精品区麻豆| 久久夜色撩人精品国产小说| 久久国产热这里只有精品| 久久久久久久久久免免费精品| 久久精品中文字幕一区| 久久精品中文字幕第23页| 久久se精品一区二区影院| 久久亚洲av无码精品浪潮| 欧美成人精品欧美一级乱黄码| 亚洲欧洲久久久精品| 少妇人妻偷人精品免费视频| 无码国产乱人伦偷精品视频| 老司机亚洲精品影院无码|