通过批量启动ntp服务来讲讲ansible的安装配置

简介:

云上服务程序采取事务管理,强依赖时间同步,登陆每一台服务器进行安装启动,太麻烦了,肯定是需要批量操作的。
在批量管理工具中,有saltstack,ansible,puppet还有pssh,这里面ansible来说相对轻量且功能比较多,算是比较零门槛的自动化运维工具

  本文,就ansible的轻量部署安装,以及执行命令进行简单的介绍,此次暂不涉及ansible的playbook。

步骤主要包含:

    配置server端和服务器端免密登陆
    安装ansible,并进行配置
    通过ansible下发安装启动ntp的命令
    查看服务器ntp运行状态,以及各服务器之间时间是否有较大差异

说ansible轻量的原因就是因为ansible只需安装server端,不需要安装client,对应用服务器无额外操作,但server端还是需要和各服务器之间通信的,此时有两种方式:

  1. 密码明文操作,这个在后面介绍ansible具体配置的时候说
  2. 设置server端和服务器免密登陆,这种方式相对比较安全,下面优先说这种方式

配置服务器免密登陆

key方式登陆服务器
sh-keygen -t rsa

image

查看公钥位置
ll ~/.ssh/

image

将公钥推送给服务器
sshpass -p密码 ssh-copy-id  -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no ip  //此步骤可通过脚本方式批量执行完成
参数说明:-I 后面跟公钥 ,-o关闭host key交互
脚本参考:

image

-------------------------------------此处是ansible正式安装分割线------------------------------------------------

Ansible安装

yum安装方式

#安装ansible依赖包
 yum install epel-release -y 
  #安装ansible
  yum install ansible

Ansible配置

Ansible的目录层级如下:
配置文件目录:/etc/ansible/
执行文件目录:/usr/bin/
Lib库依赖目录:/usr/lib/pythonX.X/site-packages/ansible/
Help文档目录:/usr/share/doc/ansible-X.X.X/
Man文档目录:/usr/share/man/man1/

修改ansible.cfg

Vim ansible.cfg
host_key_checking = False //将这行注释打开,避免批量执行命令时需要验证host key导致执行失败

编辑hosts

/etc/ansible/hosts主要是以集群的方式分类被控服务器
vim /etc/ansible/hosts
#在文件最后进行新增。格式如下:
[集群命名]  
IP

*通过此类配置后,可直接批量管理集群内配置的服务器*

当不想通过免密登陆的方式管理服务器时,可以通过在/etc/ansible/hosts里配置明文密码的方式

[集群命名]  
IP  ansible_ssh_user=user  ansible_ssh_pass=pass 
参数说明:
ansible_ssh_user 是被控机器的登陆用户名
ansible_ssh_pass 是被控机器的登陆密码

探测连通性

#确认ansible server是否可以下发命令到被控机器
ansible xx -m command -a "free -m"  //xx为集群名字   “”内的内容为批量执行命令


如果能正常返回被控机器的内存情况,则代表安装已完成

正式执行操作

#批量安装ntp服务并启动
ansible xx -m shell -a "yum install ntp -y && systemctl start ntpd "
#因为ntp服务是缓慢同步的,等待5分钟左右查看状态
ansible xx -m shell -a "systemctl status ntpd && ntpstat"

可选项

设置ntp服务开机自启动
ansible xx -m shell -a " systemctl enable ntpd"

验证命令是否生效

#登陆被控服务器,执行命令查看
date&&ntpstat
ntpq -p

Ntpq -p 每列代表含义
第一列中的字符指示源的质量。星号 ( * ) 表示该源是当前引用。
remote:列出源的 IP 地址或主机名。
when:指出从轮询源开始已过去的时间(秒)。
poll:指出轮询间隔时间。该值会根据本地时钟的精度相应增加。
reach:是一个八进制数字,指出源的可存取性。值 377 表示源已应答了前八个连续轮询。
offset:是源时钟与本地时钟的时间差(毫秒)

至此,ansible的安装配置已完成,且可以正常下发命令

ansible可以做的还有很多,本文只做了简单的基础操作,后续会继续补充

相关文章
|
运维 Shell 应用服务中间件
ansible基本概述和安装配置(一)
Ansible自动化管理(1) 1.ansbile基本概述 自动化运维工具: shell脚本/Ansible(无客户端)/Saltstack(有客户端master-minio) 服务器部署流程 买云主机—环境部署—软件部署—配置部署—启动服务—测试—加入集群 1.1.ansible能做什么 ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作
372 0
ansible基本概述和安装配置(一)
|
Linux 网络安全 Python
|
20天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
15天前
|
运维 应用服务中间件 Linux
自动化运维的利器:Ansible在配置管理中的应用
【10月更文挑战第39天】本文旨在通过深入浅出的方式,向读者展示如何利用Ansible这一强大的自动化工具来优化日常的运维工作。我们将从基础概念讲起,逐步深入到实战操作,不仅涵盖Ansible的核心功能,还会分享一些高级技巧和最佳实践。无论你是初学者还是有经验的运维人员,这篇文章都会为你提供有价值的信息,帮助你提升工作效率。
|
2月前
|
运维 负载均衡 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第34天】在现代IT运维工作中,自动化已成为提升效率、减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。我们将通过实际案例展示如何利用Ansible的Playbooks来自动化常见任务,并讨论其对提高运维团队工作效率的影响。
|
2月前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
18天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
41 4
|
17天前
|
运维 安全 应用服务中间件
自动化运维的利剑:Ansible在配置管理中的应用
【10月更文挑战第37天】本文将深入探讨如何利用Ansible简化和自动化复杂的IT基础设施管理任务。我们将通过实际案例,展示如何用Ansible编写可重用的配置代码,以及这些代码如何帮助运维团队提高效率和减少人为错误。文章还将讨论如何构建Ansible playbook来自动部署应用、管理系统更新和执行常规维护任务。准备好深入了解这个强大的工具,让你的运维工作更加轻松吧!
33 2
|
18天前
|
运维 Devops 应用服务中间件
自动化运维的利器:Ansible实战指南
【10月更文挑战第36天】在快速迭代的数字时代,自动化运维成为提升效率、减少错误的关键。Ansible以其简洁性、易用性和强大的功能脱颖而出。本文将带你了解Ansible的核心组件,通过实际案例深入其应用,并探讨如何结合最佳实践优化你的自动化工作流程。无论你是新手还是有经验的运维人员,本指南都将为你提供宝贵的知识和技能。