ansible:集中管理平台

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible:集中管理平台相关的知识,希望对你有一定的参考价值。

无服务、无agent、采用ssh管理远程主机、多线程
1、配置文件/etc/ansible/ansible.cfg
2、管理方式
(1)ad-hoc 临时命令
(2)playbook剧本

远程管理
1、新建一个目录
[[email protected] nsd1709]# mkdir ansi
[[email protected] nsd1709]# cd ansi
2、创建配置文件
[[email protected] ansi]# vim ansible.cfg
[defaults]
inventory = inventory # 定义被管理主机到哪个文件中查找
remote_user = root # ssh到远程主机的用户
3、创建主机清单
[[email protected] ansi]# vim inventory
[dbservers] # 定义主机组名
192.168.4.1 # 定义组成员主机

[webservers]
192.168.4.2
192.168.4.3
4、列出主机命令,虽然all没有定义,但是它是保留字,表示所有主机
[[email protected] ansi]# ansible all --list-hosts
[[email protected] ansi]# ansible dbservers --list-hosts
[[email protected] ansi]# ansible webservers --list-hosts
5、测试到远程主机的通信
[[email protected] ansi]# ansible all -m ping -k
6、在所有的主机上执行任意命令
[[email protected] ansi]# ansible all -a ‘touch /opt/abc.txt‘ -k

以下命令是远程开机命令,与ansible无关
[[email protected] ansi]# ether-wake -i enp2s0 xx:xx:xx:xx:xx:xx

7、yaml
(1)用空格缩进,tab键不允许
(2)注释采用#
(3)列表成员使用- ,多项之间用逗号分开
(4)键值对采用冒号分隔
(5)字符串通常使用引号
为了方便输入,可以设置vim
[[email protected] ansi]# vim ~/.vimrc
autocmd FileType yaml setlocal sw=2 ts=2 et ai
8、使用playbook
(1)在所有主机上安装vsftpd
[[email protected] ansi]# vim a.yml

  • name: configure vsftpd
    hosts: all
    tasks:

    • name: install vsftpd
      yum:
      name: vsftpd
      state: latest

    • name: start vsftpd
      service:
      name: vsftpd
      state: started
      enabled: true
      9、语法检查
      [[email protected] ansi]# ansible-playbook --syntax-check a.yml
      10、执行playbook
      [[email protected] ansi]# ansible-playbook a.yml -k
      11、查看ansible模块列表
      [[email protected] ansi]# ansible-doc -l
      12、查看yum模块使用方法
      [[email protected] ansi]# ansible-doc yum
      13、不允许mysql服务器上出现apache
      [[email protected] ansi]# vim a.yml 追加以下内容
  • name: remove httpd
    hosts: dbservers
    tasks:
  • name: configure file
    hosts: all
    tasks:
    • name: configure hosts file
      lineinfile:
      path: /etc/hosts
      line: "192.168.4.254 host.tedu.cn host"
    • name: configure selinux file
      lineinfile:
      path: /etc/selinux/config
      regexp: ‘^SELINUX=‘
      line: ‘SELINUX=permissive‘
      [[email protected] ansi]# ansible-playbook b.yml -k

15、使用循环
[[email protected] ansi]# vim lamp.yml

  • name: configure services
    hosts: dbservers
    tasks:
    • name: install services
      yum:
      name: "{{ item }}"
      state: latest
      with_items:
      • httpd
      • php
      • php-mysql
      • mod_ssl
      • mariadb-server
        16、ansible中文站点 http://www.ansible.com.cn
        17、常用模块:yum/service/lineinfile/copy/file/stat/debug/firewalld/command/shell

以上是关于ansible:集中管理平台的主要内容,如果未能解决你的问题,请参考以下文章

ansible:集中管理平台

集中化管理平台 — Ansible 详解

集中化管理平台Ansible详解

实战|使用自动化运维工具Ansible集中化管理服务器

云原生之使用docker部署Ansible管理平台Ansible Semaphore

Ansible自动化运维实战在Jumpserver平台使用Ansible管理服务器