在进行事前准备时,从创建专用于ansible执行的用户到可以通过SSH连接为止
因为成为基础设施工程师约有将近2个月了,我决定进行Ansible模块的开发,所以做好了事前准备。
只要能够通过SSH连接到目标服务器,Ansible可以同时在多台服务器上执行重要任务,例如操作系统的配置和软件包的安装等。但是,如果操作不当,也可能引发严重的问题。
因此,为了防止误操作,我们将创建一个专门用于执行Ansible的用户,并根据需要随时授予权限。
※参考资料:https://www.amazon.co.jp/Ansible实践指南-第2版-impress-top-gear/dp/4295003271
– 请参考以下资料:https://www.amazon.co.jp/Ansible实践指南-第2版-impress-top-gear/dp/4295003271。
<操作环境>
Ansible服务器:Ubuntu 18.04
目标服务器:CentOS 7.4
步骤1:在Ansible服务器上创建用于执行Ansible的用户。
在Ansible服务器上(在这种情况下为ubuntu)执行以下操作。
[root@username ~] hostnamectl set-hostname ansible-user #ansible-userは任意。ここではansible用なのでansible-userとしました。
[root@username ~] useradd -s /bin/bash -m ansible-user
[root@username ~] passwd ansible-user #任意のパスワード設定
对处理对象服务器执行以下操作。
[root@username ~] useradd -s /bin/bash -m ansible-user
[root@username ~] passwd ansible-user #任意のパスワード設定
完成此步骤后,将在Ansible服务器上创建公钥和私钥,并确保可以连接到目标处理服务器。
[root@username ~] su - ansible-user #Ansible用のユーザーになってから鍵を作成する。
#ログは省略
[ansible-user@username ~] ssh-keygen
[ansible-user@username ~] ssh-copy-id -i ~/.ssh/id_rsa.pub localhost
[ansible-user@username ~] ssh-copy-id -i ~/.ssh/id_rsa.pub 処理対象サーバーのipアドレス
我会将密钥分发给每个处理目标服务器。在我的情况下,有5台处理目标服务器,所以我创建了ansible-user,并分发了密钥(使用ssh-copy-id -i ~/.ssh/id_rsa.pub 处理目标服务器的IP地址)进行了5次操作。
思考的事情
如果要从现在开始引入Ansible,对于大型系统而言,由于有数百台服务器,所以如果没有进行ssh连接,怎样才能配置使其能够进行ssh连接是一个令人头痛的问题。(为每台服务器执行上述操作非常繁琐…)
在考虑如何引入时,参考海外案例似乎是一个不错的选择。
希望这些对我自己的备忘和能对他人有所帮助。
如有任何指正或建议,请多多指教 m__m