IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ansible-配置自動化 -> 正文阅读

[系统运维]ansible-配置自動化

ansible介紹:

????????ansible可以做d麼?有時,我地需要應對多台服務器時,如果一個一個去操作或者通過shell腳本去執行,效率顯然係好低效噶,面對100台或者1000台,更加唔可以咁做。

? ? ? ? 咁我地可以使用ansible框架裡面的各個模塊,來執行我地所需的任務指令,達到高效噶目的。首先ansible係開源並且係無主無從架構,開箱即用,用完即走咁噶理念,並且具有一定噶普遍性。

? ? ? ? ansible我地要理清楚主機清單,首先使用時選擇一台server作為主機,依個主機唔係傳統意義上的,只是我地人為定義,把作為master噶主機安裝ansible即可

yum install httpd  解决yum无法使用问题
yum -y install epel-release 
yum -y install ansible

主机清单作用:

1.用户ansible controller配置主机时读取主机列表

2.实现主机分组

3.如果唔係主机清单里面的服务器,将唔會受到ansible的控制

配置主机清单需要在master主机上

vim /etc/ansible/hosts?将ip地址或者域名放置在最下方

?

1.添加域名时注意,一定要能解析才行

通过[webgroup]分组将需要服务器ip地址或域名一并写入组内

?

ansible-ping模块測試主机之间连通性

1.ansible controller是通过ssh协议和其他主机进行通信

2.选定一台服务器作为主机master,将主机清单放入即可

通过主机生成ssh公钥和私钥

ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ''

通过主机传给其他服务器实现免密登陆

ssh-copy-id 192.168.113.101

公钥和主机清单配置完成后进行测试

ansible 192.168.113.101 -m ping

如果定义了主机分组后?可以使用

ansible all -m ping?将清单下所有服务器进行ping测试

ansible?组名 -m ping?有时需要对个别组进行测试?直接使用定义好的组名即可

主机清单设置完成

1.真ping还是假ping:真ping使用网络协议?假ping?ansible使用ssh连接远程主机不是真正意义上的ping

2.如果真正完成ping需要分步骤实现

2.1?多主机使用免密登陆方式

2.2?一定要定义主机清单文件

2.3?使用ping模块的方法,ansible?ip -m ping

ansible-cron时间同步操作

项目实现使用?ansible-cron模块

1.选择时间源服务器

国内使用阿里 time1.aliyun.com

国际使用微软 time.windows.com

使用前先检测阿里云时间源是否可用

ntpdate time1.aliyun.com

crontab -l?检测是否已经存在计划任务

ansible-cron模块使用

ansible ip -m cron -a 'name="任务名" job="ntpdate time1.aliyun.com" minute=0 hour=*/1'

总结:

1.选择合适的时间源?

2.ansible?cron批量服务器周期性任务计划定义

ansible-copy模块

批量将解析域名同步到指定服务器上

ansible ip -m copy -a "src=源?dest=抵达"

ansible配置自动化总结

1.配置自动化场景-大量应用部署时,好处是提高效率以及准确性

2.配置自动化产品-无主无从架构?开箱即用?用完即走?通过ssh协议连接具有一定普遍性

3.ansible?工作原理?模块和主机清单

4.主机清单?直接录入ip或分组再录入

5.ping-用于实现主机连接性测试?cron-用于定义周期性计划任务?copy-用于本机的文件复制到远程主机

1.ansible ip -m hostname -a "name=别名"

2.批量创建文件 ansible ip -m file -a "path=路径?state=状态touch"

3.批量查看文件属性 ansible ip -m stat -a "path=路径"

4.ansible ip -m template -a "src=源 dest=抵达"和copy功能几乎相同,但是不能拷贝目录

5.ansible ip -m fetch -a "src=源?dest=抵达"? 从远程服务器文件拷到本地服务器上

6.ansible ip -m user -a "name=用户名"?批量创建用户?可以改uid?gid不能改

7.ansible ip -m group1 -a "name=组名?gid=组号"?批量创建组号

8.ansible ip -m yum -a "name=httpd,vsftpd state=present"?批量配置yum源

9.ansible ip -m service -a "name=vsftpd state=started enabled=on"?设置某个服务开机自启动

script模块?

10.ansible ip -m script -a "路径"? 远程服务器执行本地脚本sh

command和shell区别

如果命令需要加入管道或者大于小于这些则只能使用shell?

command用法:

ansible ip -m command -a "useradd aaa"?创建用户 -a后参数?跟平时linux命令几乎一样

wc -l统计多少

playbook(剧本)?ansible的编排

编排格式YMAL

格式要求:

1.---开头

2.不能使用tab键

3.#号开头注释

4.-?后面一定要空格

5.结尾一定是yaml或者yml

使用命令:

ansible-playbook?绝对路径?

好处:可视化?排错更加直观方便?幂等性?不需要推倒重试?只需要把错误的步骤解决就可以? 可以跨平台相对于shell来说

tasks?任务列表

handlers?需要通知调用?一般使用一次

-i?原文替换 /s替换?将/NO改成/YES

sed -i '/^anonymous_enable/s/NO/YES/' /etc/vsftpd/vsftpd.conf

roles?相当于shell里面的函数(封装)

创建模块化:mkdir httpd/{files,tasks,handlers,vars,templates,meta} -p

?? ??? ??? ??? ??? ?touch {mysql,php}/{files,handlers,vars,meta}/main.yml

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:35:59  更:2021-08-09 10:37:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 18:08:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码