Ansible笔记(2)

(5)Ansible应用

playbooks框架与格式

目录:

inventory/				#server清单目录
	testenv				#具体清单与变量声明文件
roles/					#roles任务列表
	testbbox/			#详细任务
		tasks/
			main.yml	#主任务文件
deploy.yml				#playbook任务入口

testenv:

[testservers] 				#server组列表
test.example.com			#目标部署服务器主机名

[testservers:vars]			#server组列表的参数
server_name=test.example.com
user=root
output=/root/test.txt

主任务文件main.yml

- name: print server name and user to remote testbox		#任务名称
  shell: "echo 'hello,world' > {{output}}"		#使用shell模块执行的命令

任务入口文件deploy.yml

- hosts: "testservers"		#server列表
  gather_facts: true		#获取server基本信息
  remote_user: root			#目标服务器系统指定用户
  roles:					
  	- testbox				#进入roles/testbox目录

注意:需要配置SSH免密码秘钥认证

步骤

  1. Ansible服务器创建SSH本地秘钥 ssh-keygen -t rsa
  2. Ansible服务器建立与目标部署主机的秘钥认证 ssh-copy-id -i /home/deploy/.ssh/id_rsa.pub root@test.example.com

执行playbook

  1. 部署到testenv环境 ansible-playbook -i inventory/testenv ./deploy.yml

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券