为将Ubuntu服务器置于Ansible控制下做好准备

由于与CentOS相比,这次的过程更加复杂并需要更多准备工作。考虑到将来可能需要再次进行类似的操作,我会在这里记录备忘。

Ubuntu16.04 套件

做的事情

    • 実行ユーザ作成

 

    • (nano -> vimにする)

 

    • ansibleのsudo追加

 

    • 鍵の設定

 

    • (~/.ssh/configに追記)

 

    • python2.7のインストール

 

    dry-runのためにpython-aptをインストール

创建执行用户

$ sudo adduser ansible

将nano更改为vim。

帮忙改变有很多Vim用户的地方是一种友善的举动。

$ sudo update-alternatives --config editor

在中国,只需要一种选项,将以下内容以本地语言进行释义:

给Ansible增加sudo权限。

由於構築系的處理常常使用become:yes,因此在此情況下,最好將密碼設為無需輸入即可使用sudo。

$ vi /etc/sudoers.d/users

#以下を追記
ansible ALL=(ALL)   NOPASSWD: ALL

设置密码。

使用安装了Ansible的服务器创建的相应公钥将其注册到客户端。
从安装了Ansible的服务器执行以下命令。

$ ssh-copy-id -i ~/.ssh/[[対象の公開鍵]].pub ansible@<target_host>

请在`~/.ssh/config`文件中添加内容。

为了在执行ansible时顺利进行ssh连接,将客户端信息添加到配置文件中。
在ansible服务器中,追加以下内容到~/.ssh/config。

host [[対象サーバのホストを記入]]
StrictHostKeyChecking no
IdentityFile ~/.ssh/[[秘密鍵]]

↑只需要最低的设置。

安装Python 2.7

ansible默认使用python 2系列,因此我们需要安装2.7版本。
一开始我尝试使用pyenv进行版本管理,但在playbook中尝试执行sudo tasks时失败,所以最终我还是安装了普通的2.7版本并更改了路径。
可能还有其他更好的方法..

$ sudo apt-get install python2.7

似乎默认情况下已经包含了Python 2.7和3.6,但是在进行最小化安装时,没有安装Python 2系列,所以如果没有的话,我会进行安装。

如果保持这样的话无法使用命令如 python2.7 -V,因此将创建以下的符号链接。

$ ls -la /usr/bin/python*
#pythonコマンドがないことを確認してから

$ sudo ln -s /usr/bin/python2.7 /usr/bin/python

#確認
$ ls -la /usr/bin/python
lrwxrwxrwx 1 root root       9 Nov 24 09:52 /usr/bin/python -> python2.7
$ python -V
Python 2.7.12

顺便提一下,如果想要在ansible中使用python3系列,只需在执行playbook时加上以下选项即可运行。
-e ‘ansible_python_interpreter=/usr/bin/python3’

为了进行试运行,在本地安装Python-apt。

如果没有这个,无法以检查模式运行。

如果没有这个,就不能以检查模式运行。

$ sudo apt-get install python-apt

鉴于我经常使用它,所以我会安装python-selinux。(每次尝试使用ansible的apt模块安装时都会遇到错误,让我感到很困扰。)

以上。 .)

bannerAds