问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CentOS 7部署Ansible:控制机与被控制机配置详解

创作时间:
2025-01-22 03:40:01
作者:
@小白创作中心

CentOS 7部署Ansible:控制机与被控制机配置详解

Ansible是一种非常流行的自动化运维工具,它允许用户通过SSH协议远程管理多台服务器。本文将详细介绍在CentOS 7系统上部署Ansible的完整过程,包括控制机和被控制机的配置、SSH免密登录设置以及基本的命令测试。

注意最少需要两台虚拟机(一台控制机,一台被控制)

控制机

  1. 配置网络(注意uuid一定要去掉)(注意这是我的每个人的都不一样)
    配置网络可以看我之前发布的文档

  2. 设置主机名(目的是号分辨哪台是ansible控制机)

    hostnamectl set-hostname ansible
    bash
    

    可以看到主机名已经从localhost变为ansible

  3. 关闭防火墙,关闭NetworkManager,关闭selinux

    systemctl stop firewalld
    systemctl disable firewalld
    

    上边的报错因为我少打一个d不必理会

    systemctl stop NetworkManager
    systemctl disable NetworkManager
    
    setenforce 0
    

    注意setenforce 0 是临时关闭selinux,永久关闭需要编辑/etc/selinux/config文件如下图所示

    两个命令都打一下因为修改配置文件要关机重启这里不想关机重启

  4. 然后下载阿里源

    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    
  5. 生成缓存

    yum makecache
    
  6. 下载ansible

    yum install -y ansible
    
  7. 查看ansible版本

    ansible --version
    

    至此控制机安装完成

被控制机咱们叫他server机

  1. 先设置IP(之前文档详细说明)
  2. 然后在控制机上ping一下这台server机的IP
    控制机准备完成

设置ansible配置

  1. ssh远程登录时不校验被登录机器

    vi /etc/ssh/ssh_config
    Host *       # 在这个内容下面新增加一个配置
    StrictHostKeyChecking no
    
  2. 把server机加入到控制机里

    vi /etc/ansible/hosts
    [sheng]         # 代码块里的名字自己设置
    192.168.11.56
    
  3. 优化ssh登录速度(两台电脑都要做)

    vi /etc/ssh/sshd_config
    UseDNS no
    

    注意前面的#号记得去掉

  4. 修改完配置文件后重启sshd

    systemctl restart sshd
    
  5. 建立信任关系,设置远程登录免密

    ssh-keygen -t rsa   # 执行这个命令不用输入东西一路回车
    ssh-copy-id 192.168.11.56  # IP地址输入你自己的
    

    ssh登录一下看看需不需要密码
    不用输入密码就ssh成功配置完成

  6. 进行测试
    可以看到被控制机防火墙是运行的
    在控制机上执行命令将被控制机的防火墙关闭

    ansible 192.168.11.56 -m systemd -a 'name=firewalld state=stopped'
    

    这里黄色显示很正常,只要不是红色就代表运行成功
    被控制机的防火墙成功被关闭
    至此自动化运维ansible部署完成

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号