2021-11-14 14:32:08 +08:00

57 lines
1.3 KiB
Markdown

---
title: "Ansible"
date: 2019-10-30T11:38:39+08:00
lastmod: 2019-10-30T11:38:39+08:00
tags: ["ansible"]
categories: ["dev/ops"]
---
# CentOS7 安装 ansible
```bash
yum install ansible
```
# 修改配置文件 /etc/ansible/ansible.conf
```
# 取消 ssh key 验证
host_key_checking = False
# 改用 debug 输出模式
stdout_callback = debug
```
# 修改配置文件 hosts
```
# 增加 tomcat 服务器组
[tomcat]
tomcat101 ansible_ssh_host=192.168.1.101
tomcat102 ansible_ssh_host=192.168.1.102
tomcat103 ansible_ssh_host=192.168.1.103
# 增加 mysql 服务器组
[mysql]
mysql201 ansible_ssh_host=192.168.1.201 ansible_ssh_pass=111111
mysql202 ansible_ssh_host=192.168.1.202
mysql203 ansible_ssh_host=192.168.1.203
# 全局设置全部服务器的默认设置
[all:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass=123456
```
# authorized_key 模块
```bash
# 分发密钥
ansible all -m authorized_key -a "user=root key='{{ lookup('file', '/root/.ssh/id_rsa.pub') }}'"
```
# 简单使用
- 批量设置主机名为资产名
```bash
ansible all -m shell -a 'hostnamectl set-hostname {{inventory_hostname}}'
ansible all -m shell -a 'echo "{{ansible_ssh_host}} {{inventory_hostname}}" >> /etc/hosts'
```
# ansible 常用 roles
- [https://gitee.com/colben/ansible](https://gitee.com/colben/ansible)