当前位置:网站首页>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 文件夹
# 待定 自己写
其他
如有遗漏欢迎补充
如有问题欢迎留言
如有作用欢迎点赞
边栏推荐
- CSDN question and answer tag skill tree (II) -- effect optimization
- Mysql27 - Optimisation des index et des requêtes
- Use of dataset of pytorch
- CSDN question and answer module Title Recommendation task (II) -- effect optimization
- Global and Chinese market of operational amplifier 2022-2028: Research Report on technology, participants, trends, market size and share
- Anaconda3 installation CV2
- CSDN Q & a tag skill tree (V) -- cloud native skill tree
- API learning of OpenGL (2005) gl_ MAX_ TEXTURE_ UNITS GL_ MAX_ TEXTURE_ IMAGE_ UNITS_ ARB
- CSDN问答模块标题推荐任务(二) —— 效果优化
- Global and Chinese market of transfer switches 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢
CSDN问答模块标题推荐任务(一) —— 基本框架的搭建
Unicode decodeerror: 'UTF-8' codec can't decode byte 0xd0 in position 0 successfully resolved
【博主推荐】C#MVC列表实现增删改查导入导出曲线功能(附源码)
Isn't there anyone who doesn't know how to write mine sweeping games in C language
Navicat 導出錶生成PDM文件
Record the first JDBC
La table d'exportation Navicat génère un fichier PDM
MySQL32-锁
Postman uses scripts to modify the values of environment variables
Just remember Balabala
随机推荐
Opencv uses freetype to display Chinese
[C language foundation] 04 judgment and circulation
保姆级手把手教你用C语言写三子棋
Esp8266 at+cipstart= "", "", 8080 error closed ultimate solution
A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
Postman environment variable settings
Mysql21 user and permission management
[paper reading notes] - cryptographic analysis of short RSA secret exponents
Why is MySQL still slow to query when indexing is used?
@controller,@service,@repository,@component区别
CSDN question and answer tag skill tree (I) -- Construction of basic framework
How to find the number of daffodils with simple and rough methods in C language
Bytetrack: multi object tracking by associating every detection box paper reading notes ()
MySQL22-逻辑架构
CSDN question and answer module Title Recommendation task (I) -- Construction of basic framework
Postman Interface Association
【博主推荐】C# Winform定时发送邮箱(附源码)
PyTorch RNN 实战案例_MNIST手写字体识别
MySQL33-多版本并发控制
Global and Chinese market for intravenous catheter sets and accessories 2022-2028: Research Report on technology, participants, trends, market size and share