当前位置:网站首页>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 文件夹
# 待定 自己写
其他
如有遗漏欢迎补充
如有问题欢迎留言
如有作用欢迎点赞
边栏推荐
- Breadth first search rotten orange
- Unicode decodeerror: 'UTF-8' codec can't decode byte 0xd0 in position 0 successfully resolved
- February 13, 2022 - Maximum subarray and
- MySQL27-索引优化与查询优化
- 【C语言】深度剖析数据存储的底层原理
- 【博主推荐】C#生成好看的二维码(附源码)
- 解决扫描不到xml、yml、properties文件配置
- CSDN question and answer tag skill tree (I) -- Construction of basic framework
- A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
- Anaconda3 安装cv2
猜你喜欢

MySQL 29 other database tuning strategies

Some problems in the development of unity3d upgraded 2020 VR

MySQL26-性能分析工具的使用

【博主推荐】C#MVC列表实现增删改查导入导出曲线功能(附源码)

CSDN博文摘要(一) —— 一个简单的初版实现

Mysql24 index data structure

IDEA 导入导出 settings 设置文件

CSDN问答标签技能树(五) —— 云原生技能树

Database middleware_ MYCAT summary

MySQL25-索引的创建与设计原则
随机推荐
Navicat 導出錶生成PDM文件
MySQL21-用戶與權限管理
API learning of OpenGL (2004) gl_ TEXTURE_ MIN_ FILTER GL_ TEXTURE_ MAG_ FILTER
Pytoch LSTM implementation process (visual version)
MySQL23-存储引擎
Isn't there anyone who doesn't know how to write mine sweeping games in C language
Just remember Balabala
CSDN blog summary (I) -- a simple first edition implementation
虚拟机Ping通主机,主机Ping不通虚拟机
API learning of OpenGL (2001) gltexgen
[paper reading notes] - cryptographic analysis of short RSA secret exponents
PyTorch RNN 实战案例_MNIST手写字体识别
MySQL transaction log
Emotional classification of 1.6 million comments on LSTM based on pytoch
Record the first JDBC
【博主推荐】SSM框架的后台管理系统(附源码)
MySQL33-多版本并发控制
Global and Chinese market of wafer processing robots 2022-2028: Research Report on technology, participants, trends, market size and share
Mysql21 user and permission management
Anaconda3 installation CV2