当前位置:网站首页>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问答模块标题推荐任务(一) —— 基本框架的搭建
- [programmers' English growth path] English learning serial one (verb general tense)
- API learning of OpenGL (2002) smooth flat of glsl
- 第一篇博客
- 解决扫描不到xml、yml、properties文件配置
- API learning of OpenGL (2003) gl_ TEXTURE_ WRAP_ S GL_ TEXTURE_ WRAP_ T
- MNIST implementation using pytoch in jupyter notebook
- 1. Mx6u learning notes (VII): bare metal development (4) -- master frequency and clock configuration
- [reading notes] rewards efficient and privacy preserving federated deep learning
- 评估方法的优缺点
猜你喜欢
Database middleware_ MYCAT summary
Mysql26 use of performance analysis tools
Mysql22 logical architecture
Breadth first search rotten orange
MySQL23-存储引擎
[Li Kou 387] the first unique character in the string
【博主推荐】C#生成好看的二维码(附源码)
【博主推荐】C# Winform定时发送邮箱(附源码)
How to change php INI file supports PDO abstraction layer
La table d'exportation Navicat génère un fichier PDM
随机推荐
Development of C language standard
解决:log4j:WARN Please initialize the log4j system properly.
Anaconda3 installation CV2
Pytoch LSTM implementation process (visual version)
[untitled]
[paper reading notes] - cryptographic analysis of short RSA secret exponents
Mysql21 - gestion des utilisateurs et des droits
Global and Chinese market of thermal mixers 2022-2028: Research Report on technology, participants, trends, market size and share
【博主推荐】C# Winform定时发送邮箱(附源码)
CSDN question and answer module Title Recommendation task (I) -- Construction of basic framework
Copy constructor template and copy assignment operator template
Global and Chinese market of wafer processing robots 2022-2028: Research Report on technology, participants, trends, market size and share
Transactions have four characteristics?
MySQL完全卸载(Windows、Mac、Linux)
Valentine's Day is coming, are you still worried about eating dog food? Teach you to make a confession wall hand in hand. Express your love to the person you want
Mysql34 other database logs
csdn-Markdown编辑器
【博主推荐】C#生成好看的二维码(附源码)
A trip to Macao - > see the world from a non line city to Macao
MySQL27-索引优化与查询优化