# YOHO ANSIBLE ROLES



---------

## 更新代码

```bash

# 第一次 clone
git clone --recursive 

# 更新 submodule
git submodule foreach git pull origin master
git add .
git commit -m "update submodule"
git push
```


--------------


## 准备`ansible`的环境

>  
>1.安装`ansible`
>
>2.`yoho_server` copy 到 `~/.ssh/`
>
>3.`git clone --recursive ` 本项目即可


## `playbook`介绍


| playbook |  说明| 
| --- | --- | 
|authkey | copy 公钥到目标机器`ssh`的 `authorized_keys`中。 -- 建立信任关系 |
|vault-test|测试hashicorp vault的集成。-- 避免将敏感信息写入到配置中 |
|java.health_check| 通过http接口检查java服务的健康情况|
|lb-manager| 修改`qcloud` 负载均衡器的权重|
|java-loglevel|修改java服务的日志级别|
|java-nginx|同步java nginx的配置|
|java-restart-service|重启java服务|
|ping| ping, 测试用|
|java-resolv| 修改目标机器的/etc/resolv文件|
|ufo-nginx| 同步ufo的nginx配置|
|cobar.reload| 刷新`cobar server`的配置|
|yoho.dns | 刷新`dns server (bind9)`的配置|
|yoho.dns.mysql_read_to_master| MySQL数据库读切换到主库。Note: 切换后需要reload cobar|
|java-rsyslog| 同步java服务的rsyslog客户端配置|

## `hashicorp vault` 配置

> Why: credentials 信息统一管理
>
> 服务器地址: `10.66.107.2`
>


## 如何运行

> jump to server:   root@10.66.233.9
>
> 目录:  `/root/ansible/yoho-ansible-roles`
>

```bash
# run playbooks
ansible-playbook  -i inventories/az3/hosts  playbooks/ping.yml

# run command
ansible all -m shell -a "cat /etc/resolv.conf"  -i inventories/az3/hosts

```