集群管理工具ansible常用命令有哪些

这篇文章给大家介绍集群管理工具ansible常用命令有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联是一家专业提供陵城企业网站建设,专注与成都网站建设、做网站html5、小程序制作等业务。10年已为陵城众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

集群管理工具ansible常用命令

使用ansible过程如下:

主控端:安装ansible

# install the epel-release RPM if needed on CentOS, RHEL, or Scientific Linux

[root@tidb01 ~]# yum install epel-release
[root@tidb01 ~]# yum -y install ansible
[root@tidb01 ~]# ansible --version
ansible 2.9.10
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

配置hosts,添加被管控的主机

[root@tidb01 ~]# cat /etc/ansible/hosts 

[servers]
192.168.30.101
192.168.30.102
#192.168.30.103
#192.168.30.104
192.168.30.105
#192.168.30.106

生成密钥

[root@tidb01 ~]# ssh-keygen

使用ssh-copy-id命令来复制ansible公钥到各个节点

[root@tidb01 ~]# ssh-copy-id root@192.168.30.101
[root@tidb01 ~]# ssh-copy-id root@192.168.30.102
[root@tidb01 ~]# ssh-copy-id root@192.168.30.105

执行ping命令

[root@tidb01 ~]# ansible servers -m ping
#或:[root@tidb01 ~]# ansible servers -i /etc/ansible/hosts -m ping
#或:[root@tidb01 ~]# ansible -m ping servers
#或:[root@tidb01 ~]# ansible -m ping all
192.168.30.102 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.30.105 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.30.101 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

指定用户,执行ping命令

[root@tidb01 ~]# ssh-copy-id chen@192.168.30.101
[root@tidb01 ~]# ssh-copy-id chen@192.168.30.102
[root@tidb01 ~]# ssh-copy-id chen@192.168.30.105
[root@tidb01 ~]# ansible all -m ping -u chen
192.168.30.105 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.30.102 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.30.101 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

执行命令echo hello 

[root@tidb01 ~]# ansible -a "echo hello" servers
192.168.30.105 | CHANGED | rc=0 >>
hello
192.168.30.101 | CHANGED | rc=0 >>
hello
192.168.30.102 | CHANGED | rc=0 >>
hello

执行命令date -R

[root@tidb01 ~]# ansible -m command -a "date -R" servers
192.168.30.102 | CHANGED | rc=0 >>
Sun, 28 Jun 2020 09:15:55 +0800
192.168.30.105 | CHANGED | rc=0 >>
Sun, 28 Jun 2020 09:15:54 +0800
192.168.30.101 | CHANGED | rc=0 >>
Sun, 28 Jun 2020 09:15:56 +0800

执行命令uptime

[root@tidb01 ~]# ansible -m command -a "uptime" servers
192.168.30.102 | CHANGED | rc=0 >>
 09:17:21 up 23 min,  2 users,  load average: 0.00, 0.01, 0.05
192.168.30.105 | CHANGED | rc=0 >>
 09:17:21 up 22 min,  2 users,  load average: 0.24, 0.06, 0.07
192.168.30.101 | CHANGED | rc=0 >>
 09:17:22 up 11 min,  2 users,  load average: 0.08, 0.09, 0.07

执行命令touch /root/cjc.log

[root@tidb01 ~]# ansible -m command -a "touch /root/cjc.log" servers
[WARNING]: Consider using the file module with state=touch rather than running 'touch'.  If
you need to use command because file is insufficient you can add 'warn: false' to this command
task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
192.168.30.102 | CHANGED | rc=0 >>
192.168.30.105 | CHANGED | rc=0 >>
192.168.30.101 | CHANGED | rc=0 >>

执行命令ls /root/cjc.log

[root@tidb01 ~]# ansible -m command -a "ls /root/cjc.log" servers
192.168.30.105 | CHANGED | rc=0 >>
/root/cjc.log
192.168.30.102 | CHANGED | rc=0 >>
/root/cjc.log
192.168.30.101 | CHANGED | rc=0 >>
/root/cjc.log

执行命令getenforce

[root@tidb01 ~]# ansible -m command -a "getenforce" servers
192.168.30.102 | CHANGED | rc=0 >>
Disabled
192.168.30.105 | CHANGED | rc=0 >>
Disabled
192.168.30.101 | CHANGED | rc=0 >>
Disabled

或: 

[root@tidb01 ~]# ansible -a "getenforce" servers
192.168.30.105 | CHANGED | rc=0 >>
Disabled
192.168.30.102 | CHANGED | rc=0 >>
Disabled
192.168.30.101 | CHANGED | rc=0 >>
Disabled

指定其中一个主机执行命令

[root@tidb01 ~]# ansible -a "getenforce" 192.168.30.101
192.168.30.101 | CHANGED | rc=0 >>
Disabled

执行命令df -h

[root@tidb01 ~]# ansible -a "df -h /" servers
192.168.30.102 | CHANGED | rc=0 >>
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_cjc-lv_root   18G  7.1G   11G  40% /
192.168.30.105 | CHANGED | rc=0 >>
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_cjc-lv_root   18G  7.0G   11G  40% /
192.168.30.101 | CHANGED | rc=0 >>
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_srv-lv_root   25G  8.1G   17G  33% /

执行命令free -m

[root@tidb01 ~]# ansible -a "free -m" servers
192.168.30.105 | CHANGED | rc=0 >>
              total        used        free      shared  buff/cache   available
Mem:            974         411         116           8         446         350
Swap:          2043           0        2043
192.168.30.102 | CHANGED | rc=0 >>
              total        used        free      shared  buff/cache   available
Mem:            974         414         156           8         403         350
Swap:          2043           0        2043
192.168.30.101 | CHANGED | rc=0 >>
              total        used        free      shared  buff/cache   available
Mem:            974         413          98           8         462         367
Swap:          3071           0        3071

执行命令,查看sshd进程

[root@tidb01 ~]# ansible -m shell -a 'ps -ef|grep sshd|grep -v grep' servers
192.168.30.105 | CHANGED | rc=0 >>
root       1374      1  0 08:54 ?        00:00:00 /usr/sbin/sshd -D
root       2090   1374  0 08:56 ?        00:00:00 sshd: root@pts/0
root       8581   1374  0 10:38 ?        00:00:00 sshd: root@pts/1
192.168.30.102 | CHANGED | rc=0 >>
root       1370      1  0 08:54 ?        00:00:00 /usr/sbin/sshd -D
root       2089   1370  0 08:56 ?        00:00:00 sshd: root@pts/0
root       9041   1370  0 10:38 ?        00:00:00 sshd: root@pts/2
root      10181   1370  0 10:41 ?        00:00:00 sshd: root@pts/1
192.168.30.101 | CHANGED | rc=0 >>
root       1009      1  0 09:06 ?        00:00:00 /usr/sbin/sshd -D
root       1242   1009  0 09:06 ?        00:00:00 sshd: root@pts/1
root       8590   1009  0 10:38 ?        00:00:00 sshd: root@pts/2

关于集群管理工具ansible常用命令有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


新闻标题:集群管理工具ansible常用命令有哪些
网页链接:http://scyanting.com/article/ggjosd.html