5.Ansible 主机清单 重新修改

1 Ansible rolers 介绍

官方地址

https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html

1. Ansible安装部署和主机清单配置目录

[root@m01 ~] yum install ansible -y
1.png
2.png
3.png
[root@m01 ~/.ssh] ssh-copy-id 10.0.0.31 -o StrictHostKeyChecking=no

2. SSH使用密码连接并且端口号不是22

4.png

3. Ansible 常用模块

5.png
5.png
6.png
7.png

3 file 文件相关

命令解释:

https://docs.ansible.com/ansible/latest/modules/file_module.html#file-module
8.png
9.png
10.png

4. script 执行脚本

11.png
[root@m01 ~] ansible -vvvv web -m script -a "/root/echo_ip.sh" 

5.cron 定是任务 *****

12.png
13.png

6 group 组相关

14.png

8. yum 安装软件

15.png

9.service 服务启动

16.png

10 mount 挂载命令

[root@m01 ~] ansible backup -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs state=mounted"
17.png
18.png

11. unarchive 解压缩

19.png
20.png

12. archive 压缩

21.png
22.png
23.png

13 编写NFS和Rsync的Ansible 一键安装脚本

13.2 正常的流程

1  手动完成
2  按服务分类或者服务器分类 收集所有的操作步骤
3  收集所有的配置文件和密码文件
4  把shell命令翻译成ansible 命令

13.2 rsync 安装

[root@m01 ~] vim ansible_rsync.sh 
#!/bin/bash
#1.创建组
ansible backup -m group -a "name=www gid=666
"
#2.创建用户
ansible backup -m user -a "name=www uid=666 group=www shell=/sbin/nologin create_home=no"

#3.配置文件
ansible backup -m copy -a "src=/opt/rsyncd.conf dest=/etc/"

#4.配置虚拟用户密码文件
ansible backup -m copy -a "src=/opt/rsync.passwd dest=/etc/ mode='0600'"

#5. 创建数据目录并更改权限
ansible backup -m file -a "name=rsync state=latest"
ansible backup -m file -a "path=/data state=directory owner=www group=www"
ansible backup -m file -a "path=/backup state=directory owner=www group=www"

#6. 启动
ansible backup -m service -a "name=rsyncd state=started enabled=yes"

-----------------------------------------------------------------------------------------

20.05.4

24.png

4.剧本的格式书写要求

1.严格的缩进表示层级关系
2.一定不要使用 tab
3.:后面必须有空格
4. - 后面必须有空格
5. yaml 格式的文件后缀名需要改成yaml或者 yml 

4.1.playbook剧本的优势

1.减少重复书写的指令:ansible backup -m file -a
2.看起来简洁清晰
3.功能强大,可以控制流程
4.其他剧本可以复用
5.提供检查语法和模拟执行
24.png
25.png

5.剧本高级特性-循环

26.png

6.高级特性-变量

27.png

6.1.使用变量获取主机的eth1地址和主机名

28.png
29.png

7.剧本高级特性--注册变量

30.png

8.如果配置文件发生了变化,就重启服务,否则不重启

31.png

9.剧本高级特性-服务状态管理

32.png

10.剧本高级特性-选择标签

33.png

11.编写 rsync 角色

34.png
[root@m01 /etc/ansible/roles] mkdir rsync/{tasks,handlers,files,templates,vars} -p
35.png
[root@m01 /etc/ansible/roles/rsync/files] cat rsyncd.conf 
uid = www
gid = www 
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /opt/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
path = /backup

[data]
path = /data
 
[root@m01 /etc/ansible/roles/rsync/files] cat rsync.passwd 
rsync_backup:123456
35.png
[root@m01 /etc/ansible/roles/rsync/handlers] cat main.yaml 
- name: restart rsyncd
  service: 
    name: rsyncd
    state: restarted
36.png
[root@m01 /etc/ansible/roles/rsync/tasks] cat main.yaml   
- name: 01_add_group
  group:
    name: www
    gid: 666

- name: 02_add_user
  user: 
    name: www 
    uid: 666 
    group: www 
    create_home: no 
    shell: /sbin/nologin

- name: 03_mkdir
  file:
    path: /data 
    state: directory 
    owner: www 
    group: www

- name: 04_yum
  yum: 
    name: rsync
    state: latest

- name: 05_cofing
  copy: 
    src: "{{ item.src }}" 
    dest: /etc/
    mode: "{{ item.mode }}"
  loop:
    - { src: rsyncd.conf,  mode: "0644" }
    - { src: rsync.passwd, mode: "0600" }
  notify: restart rsyncd 

- name: 07_start
  service: 
    name: rsyncd 
    state: started 
    enabled: yes
37.png

12.编写 jinga 模版文件

[root@m01 /etc/ansible/roles] mkdir sshd/{tasks,handlers,files,templates,vars} -p
38.png
39.png
18 Port {{ ssh_port }}
21 ListenAddress {{ ansible_facts.eth0.ipv4.address }}
40.png
[root@m01 /etc/ansible/roles/sshd] cat handlers/main.yml 
- name: restart sshd
  service:
    name: sshd
    state: restarted

[root@m01 /etc/ansible/roles/sshd] cat tasks/main.yml 
- name: 01-copy_config
  template:
    src: sshd_config.j2
    dest: /etc/ssh/sshd_config
  notify: restart sshd

[root@m01 /etc/ansible/roles/sshd] cat vars/main.yml 
sshd_port: 22

[root@m01 /etc/ansible/roles] cat sshd.yml 
- hosts: web
  roles:
    - sshd
41.png
42.png
43.png

13.ansible 拆分各个服务角色文件

44.png
[root@m01 /etc/ansible/roles/init] vim tasks/main.yaml 
- name: 01_add_group
  group:
    name: www
    gid: 666

- name: 02_add_user
  user:
    name: www
    uid: 666
    group: www
    create_home: no
    shell: /sbin/nologin

- name: 03_mkdir
  file:
    path: /data
    state: directory
    owner: www
    group: www

- name: 04_yum
  yum:
    name: rsync
    state: latest
45.png
  oot@m01 /etc/ansible/roles/rsync/tasks]# vim main.yaml 
- name: 01_cofing
  copy:
    src: "{{ item.src }}"
    dest: /etc/
    mode: "{{ item.mode }}"
  loop:
    - { src: rsyncd.conf,  mode: "0644" }
    - { src: rsync.passwd, mode: "0600" }
  notify: restart rsyncd

- name: 02_start
  service:
    name: rsyncd
    state: started
    enabled: yes

[root@m01 /etc/ansible/roles]# vim rsync.yml 
- hosts: backup
  roles:
    - init
    - rsync
46.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353