当前位置:网站首页>Ansible实战系列二 _ Playbook入门
Ansible实战系列二 _ Playbook入门
2022-07-06 09:13:00 【hyh123a】
前言
需求: 操纵多台主机, 为Kubespray做铺垫
环境
Ubuntu 20.04
1、命令
-k(–ask-pass) 用来交互输入ssh密码
-K(-ask-become-pass) 用来交互输入sudo密码
-u 指定用户
# ansible-playbook a.yml --syntax-check #检查yaml文件的语法是否正确
# ansible-playbook a.yml --list-task #检查tasks任务
# ansible-playbook a.yml --list-hosts #检查生效的主机
# ansible-playbook a.yml --start-at-task='Copy Nginx.conf' #指定从某个task开始运行
2、例子
demo 1: 入门小例子
- 编辑
sudo nano demo1.yaml
# 修改如下
- hosts: 172.16.106.20 #指定主机
remote_user: ubuntu20 #指定在被管理的主机上执行任务的用户
tasks: #任务列表↓
- name: hello world #任务名关闭防火墙
command: 'echo hello world' #调用command模块 执行关闭防火墙命令
- 执行
ansible-playbook demo1.yml --syntax-check
ansible-playbook demo1.yaml
- 输出如下
PLAY [172.16.106.20] ***************************************************************************************
TASK [Gathering Facts] *************************************************************************************
ok: [172.16.106.20]
TASK [hello world] *****************************************************************************************
changed: [172.16.106.20]
PLAY RECAP *************************************************************************************************
172.16.106.20 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
demo 2: 指定用户组
默认是/etc/ansible/hosts里面的
- 查看
cat /etc/ansible/hosts
# 输出
[web]
172.16.106.20 ansible_ssh_user='ubuntu20'
172.16.106.21 ansible_ssh_user='ubuntu20'
172.16.106.22 ansible_ssh_user='ubuntu20'
- 编辑
sudo nano demo2.yaml
# 修改如下
- hosts: web #指定主机
remote_user: ubuntu20 #指定在被管理的主机上执行任务的用户
tasks: #任务列表↓
- name: hello world #任务名关闭防火墙
command: 'echo hello world' #调用command模块 执行关闭防火墙命令
- 执行
ansible-playbook demo2.yml --syntax-check
ansible-playbook demo2.yaml
- 输出如下
PLAY [web] *********************************************************************************************************************************
TASK [Gathering Facts] *********************************************************************************************************************
ok: [172.16.106.20]
ok: [172.16.106.21]
ok: [172.16.106.22]
TASK [hello world] *************************************************************************************************************************
changed: [172.16.106.20]
changed: [172.16.106.21]
changed: [172.16.106.22]
PLAY RECAP *********************************************************************************************************************************
172.16.106.20 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
172.16.106.21 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
172.16.106.22 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
demo 3: 大致文件夹架构
tree
# 输出如下
.
├── demo3.yaml
└── hosts
└── demo3.ini
- 编辑 hosts 文件夹
sudo nano hosts/demo3.ini
# 修改如下:
[web]
172.16.106.20 ansible_ssh_user='ubuntu20'
172.16.106.21 ansible_ssh_user='ubuntu20'
172.16.106.22 ansible_ssh_user='ubuntu20'
- 编辑 yaml 文件
sudo nano demo3.yaml
# 修改如下:
- hosts: web
tasks:
- name: echo hello world
command: 'echo hello world'
- 运行
ansible-playbook demo3.yaml --syntax-check
ansible-playbook -i hosts/demo3.ini demo3.yaml
demo 4: 添加 roles 文件夹
# 待定 自己写
其他
如有遗漏欢迎补充
如有问题欢迎留言
如有作用欢迎点赞
边栏推荐
- frp内网穿透那些事
- Record the first JDBC
- 导入 SQL 时出现 Invalid default value for ‘create_time‘ 报错解决方法
- Global and Chinese market of thermal mixers 2022-2028: Research Report on technology, participants, trends, market size and share
- MySQL24-索引的数据结构
- [BMZCTF-pwn] 11-pwn111111
- Invalid default value for 'create appears when importing SQL_ Time 'error reporting solution
- A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
- 【C语言】深度剖析数据存储的底层原理
- 【博主推荐】C# Winform定时发送邮箱(附源码)
猜你喜欢
解决:log4j:WARN Please initialize the log4j system properly.
Invalid global search in idea/pychar, etc. (win10)
MySQL35-主从复制
Isn't there anyone who doesn't know how to write mine sweeping games in C language
Postman Interface Association
MySQL33-多版本并发控制
CSDN问答模块标题推荐任务(二) —— 效果优化
Record the first JDBC
Breadth first search rotten orange
[reading notes] rewards efficient and privacy preserving federated deep learning
随机推荐
[untitled]
MySQL24-索引的数据结构
ByteTrack: Multi-Object Tracking by Associating Every Detection Box 论文阅读笔记()
Installation and use of MySQL under MySQL 19 Linux
IDEA 导入导出 settings 设置文件
Mysql23 storage engine
MySQL33-多版本并发控制
Opencv uses freetype to display Chinese
Water and rain condition monitoring reservoir water and rain condition online monitoring
1. Mx6u learning notes (VII): bare metal development (4) -- master frequency and clock configuration
[BMZCTF-pwn] 11-pwn111111
windows下同时安装mysql5.5和mysql8.0
Mysql27 index optimization and query optimization
C language string function summary
How to change php INI file supports PDO abstraction layer
Timestamp with implicit default value is deprecated error in MySQL 5.6
Solve the problem that XML, YML and properties file configurations cannot be scanned
MySQL23-存儲引擎
Mysql28 database design specification
La table d'exportation Navicat génère un fichier PDM