当前位置:网站首页>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-nlp: difficulty level classification of blog posts based on skill tree and weak supervised learning (I)
- C language string function summary
- 保姆级手把手教你用C语言写三子棋
- Generate PDM file from Navicat export table
- MySQL27-索引优化与查询优化
- Moteur de stockage mysql23
- MySQL完全卸载(Windows、Mac、Linux)
- MNIST implementation using pytoch in jupyter notebook
- 【博主推荐】C# Winform定时发送邮箱(附源码)
- [paper reading notes] - cryptographic analysis of short RSA secret exponents
猜你喜欢
Idea import / export settings file
ByteTrack: Multi-Object Tracking by Associating Every Detection Box 论文阅读笔记()
MySQL23-存储引擎
CSDN问答标签技能树(一) —— 基本框架的构建
Win10: how to modify the priority of dual network cards?
[C language foundation] 04 judgment and circulation
MySQL21-用戶與權限管理
Nanny hand-in-hand teaches you to write Gobang in C language
How to change php INI file supports PDO abstraction layer
How to find the number of daffodils with simple and rough methods in C language
随机推荐
February 13, 2022-3-middle order traversal of binary tree
Mysql25 index creation and design principles
Timestamp with implicit default value is deprecated error in MySQL 5.6
虚拟机Ping通主机,主机Ping不通虚拟机
Adaptive Bezier curve network for real-time end-to-end text recognition
Invalid default value for 'create appears when importing SQL_ Time 'error reporting solution
MySQL36-数据库备份与恢复
PyTorch RNN 实战案例_MNIST手写字体识别
Transactions have four characteristics?
CSDN Q & a tag skill tree (V) -- cloud native skill tree
[reading notes] rewards efficient and privacy preserving federated deep learning
Mysql27 - Optimisation des index et des requêtes
Mysql33 multi version concurrency control
Use JUnit unit test & transaction usage
Case identification based on pytoch pulmonary infection (using RESNET network structure)
Mysql21 - gestion des utilisateurs et des droits
API learning of OpenGL (2003) gl_ TEXTURE_ WRAP_ S GL_ TEXTURE_ WRAP_ T
解决:log4j:WARN Please initialize the log4j system properly.
MySQL完全卸载(Windows、Mac、Linux)
There are three iPhone se 2022 models in the Eurasian Economic Commission database