• Ansible安装部署


    系统环境

    管理端:外网IP-10.0.0.61 内网IP-172.16.1.61
    被控端:外网IP-10.0.0.7 内网IP-172.16.1.7
    被控端:外网IP-10.0.0.51 内网IP-172.16.1.51

    [root@m01 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.5.1804 (Core) 
    [root@m01 ~]# uname -r
    3.10.0-862.el7.x86_64
    
    • 1
    • 2
    • 3
    • 4

    1)创建密钥对(管理端)

    [root@m01 ~]# ssh-keygen -t dsa
    Generating public/private dsa key pair.
    Enter file in which to save the key (/root/.ssh/id_dsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_dsa.
    Your public key has been saved in /root/.ssh/id_dsa.pub.
    The key fingerprint is:
    SHA256:4T6iidi/1hEUuztrfCKz0UNMId375z+DfcMtnbmn1Mo root@m01
    The key's randomart image is:
    +---[DSA 1024]----+
    |    ..oo         |
    |     .oo.        |
    |     .o ..       |
    |     o.o..       |
    |      +.S.       |
    |     o.o  . .  . |
    |    .o*.o  o oo.=|
    | o .++==..  oo=*=|
    |. oo**.o     .EB+|
    +----[SHA256]-----+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    2)分发公钥给受控端(服务端)

    ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.7
    ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.51
    
    • 1
    • 2

    然后分别输入主机确认信息“yes"和密码”123456“即可。

    补充:如果想免交互式分发公钥,也就是不输入上述的两个信息,该如何做?

    针对连接确认信息,输入yes
    ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.7 "-o StrictHostKeyChecking=no"
    
    针对连接确认输入密码123456
    yum install -y sshpass
    sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    综上所述:免交互式分发公钥的命令如下

    yum install -y sshpass
    sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.7 "-o StrictHostKeyChecking=no"
    sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.51 "-o StrictHostKeyChecking=no"
    
    • 1
    • 2
    • 3

    3)安装部署ansible软件(服务端)

    此处需要检查epel镜像源/etc/yum.repos.d/epel.repo 是否更新

    yum install -y ansible
    
    • 1

    4)关闭selinux和防火墙

    [root@m01 ~]# cat /etc/selinux/config
    SELINUX=disabled
    [root@m01 ~]# getenforce
    Disabled
    [root@m01 ~]# systemctl status firewalld
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
       Active: inactive (dead)
         Docs: man:firewalld(1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    5)编写主机清单配置文件

    [root@m01 ~]# cat /etc/ansible/hosts 
    [db]
    172.16.1.51
    
    [web]
    172.16.1.7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    6)测试是否可以管理多个主机

    [root@m01 ansible]# ansible all -a "hostname -I"
    172.16.1.7 | CHANGED | rc=0 >>
    10.0.0.7 172.16.1.7 
    172.16.1.51 | CHANGED | rc=0 >>
    10.0.0.51 172.16.1.51 
    [root@m01 ansible]# ansible web -a "hostname -I"
    172.16.1.7 | CHANGED | rc=0 >>
    10.0.0.7 172.16.1.7 
    [root@m01 ansible]# ansible db -a "hostname -I"
    172.16.1.51 | CHANGED | rc=0 >>
    10.0.0.51 172.16.1.51 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    到此,ansible服务部署完毕。

  • 相关阅读:
    NNDL 实验四 线性分类
    vue中绑定class样式和条件渲染
    【机器学习算法】聚类算法-3 K均值聚类法,PAM法,神经网络聚类法SOM
    C/C++ 查泄漏得一些方法
    针对应用程序依赖库漏洞的攻击
    luajit简介
    毫米波雷达在检测、分割、深度估计等多个方向的近期工作及简要介绍
    YoloV8改进策略:WaveletPool解决小目标的混叠问题,提高小目标的检测精度
    idea中把spring boot项目打成jar包
    [Linux嵌入式开发]Linux常用命令
  • 原文地址:https://blog.csdn.net/oldboy1999/article/details/126297368