0
点赞
收藏
分享

微信扫一扫

ansible学习

洒在心头的阳光 2022-03-15 阅读 146

运维配置自动化ansible

1.自动化列举

1.1 操作系统预备自动化

例如PXE

1.2.配置自动化

ansible

1.3.监控自动化

  • 系统与应用监控 zabbix
  • 日志监控 ELK

1.4.代码持续集成与代码持续发布自动化

git、Jenkins、docker等

2.配置自动化应用场景

2.1大量服务器快速配置应用部署,通过配置自动化实现。

  • 提供配置效率
  • 提高配置的准确性
  • 降低人工参与度

2.2配置自动化的相关产品

序号

工具

描述

1

ansible

开箱即用,使用ssh协议

2

saltstack

需要agent端配合,配置部署速度快

3

puppet

咯安排配置自动化,需要agent端配合

3.ansible工作原理

3.1原理

无主无从架构,开箱即用,用完即走。

在这里插入图片描述

modules:工具模块

host inventory:主机清单

play books:剧本,批量操作多台机器

3.2总结:

  • 主机
  • ansible
    • 模块
    • 主机清单
    • ssh
    • playbooks

4.ansible安装和主机配置

4.1安装ansible

寻找一台主机作为ansible controller,其它节点通过试试协议进行连接操作。

sudo apt install ansible -y

4.2主机清单

4.2.1主机清单的作用

ansible controller在对主机进行操作时,仅认主机清单中定义的主机列表,即从主机清单中读取到主机列表时,才可以进进行配置。

  • 用于ansible controller配置主机时读取主机列表
  • 实现主机分组

4.2.2 主机清单定义方法

主机清单存储位置:

/etc/ansible/hosts

在最后追加主机

[testservers]
192.168.108.135
192.168.108.136

4.2.3 总结:

作用:

  1. 读取主机ip或主机名称
  2. 实现主机分组操作

配置:

  1. 直接在主机清单文件中添加ip或主机名
  2. 在主机清单中添加一个分组,然后再添加ip或主机名但分组中

5.ansible应用案例

5.1开通远程免密登录

(PS:这里使用root用户,也可以使用普通用户,不通用户名称,需要在ssh-copy-id后面配置)

在ansible controller机器中(控制机),生成root的密钥对,并设置私钥密码为空

# 切换到root
sudo su
# 生成ansible controller机器的密钥对,并设置私钥密码为空
ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ''
# 同步密钥到对应主机
#  此时对应主机还没有密钥对(即/root/.ssh目录都没有)
#  一次认证,后面都是免密登录
ssh-copy-id sw1@192.168.108.135
ssh-copy-id sw2@192.168.108.136

免密登录设置完毕。

5.1.1免密登录注意事项

设置什么用户免密登录,只能该用户进行免密登录。

例如,ansible controller机器在用户sw用户下,设置sw1和sw2机器的免密登录,那么ansible controller机器只能sw用户免密登录到sw1和sw2,不能用root免密登录到sw1和sw2。

5.2设置主机清单

5.2.1编辑/etc/ansible/hosts

vim /etc/ansible/hosts


[testservers]
sw1@192.168.108.135
sw2@192.168.108.136

5.3 执行时钟同步

# ansible ip -m modeule<m> -a args
# 例如
ansible sw1@192.168.108.135 -m cron -a 'name="test cron" job="ntpdate time1.aliyun.com" minute=0 hour=*/1'

5.4 copy本地(ansible controller)文件到远程主机

ansible testservers -m copy -a 'src=/home/sw/copy_dir_test dest=/root/'

5.5 ping远程主机

ansible testservers -m ping

总结

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于 java开发 的学习思路及方向。从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。

由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的 点击我的Gitee获取。
还有 高级java全套视频教程 java进阶架构师 视频+资料+代码+面试题!

全方面的java进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。

举报

相关推荐

0 条评论