2016年5月

Ansible 连接错误

安装完ansible,在/etc/ansible/hosts添加了公司的正式服和测试服之后,尝试连接服务器,看看配置正不正确。
ansible all -m ping
却报了UNREACHABLE的错误。

www.xxx2.com | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh.",
    "unreachable": true
}
www.xxx.com | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh.",
    "unreachable": true
}

我已经把自己的key放到了服务器上的,为什么还不行呢?
在StackOverflow上找到解决方案。说是没有添加公钥。
这就奇怪了,我是按照文档说明的去做的。
Whatever,打开/etc/ansible/ansible.cfg,找到[defaults]中的private_key_file部分;

[defaults]
private_key_file=~/.ssh/my-key.pem

指定公钥位置即可。

www.xxx.com | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

Ansible安装

为了补补我厂的运维,于是开始了解运维方面的知识。
其实是代码质量比较差,想要做持续集成。

但是我发现发布上去的代码需要在质量上可靠,可以简单地映射为能跑通测试。
然而完全没经验写测试代码……

好像扯远了。

目前的路径是 服务器管理(连接、执行命令安装等)-> 代码部署 ->服务器监控。
因为现在基本上代码扔上去之后就基本不管了。偶尔看看报错日志的程度。
也没有多少人看用户反馈,好像pc端也没有反馈的地方……

从上方提供的路径决定先从服务器管理下手。
在咨询了前辈们之后,决定用Ansible。
理由是:

  1. 简单(听说的)
  2. 我厂服务器还不算多,Ansible足以应付。(也是听说ansible管理大量服务器上有不足)

(好吧,都是听说的)

下面正式开始安装过程:

按照官方文档安装。

$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible

很顺利的安装完了。
接下来就是配置和使用了。