没有接触过ansible,看的ansible中文教程,第一次看很多地方都不是很明白,整理一下第一条命令的配置过程。
- 安装ansible是在笔记本中安装的ubuntu16.04系统(物理机)设定为controller节点,可以完全参考安装教程,使用pip 或者apt-get install 进行安装,这一部分基本没有什么问题。
- 安装完成在新手上路章节配置是个重点:|
教程中第一句话: 现在你已经安装了Ansible,是时候从一些基本知识开始了. 编辑(或创建)/etc/ansible/hosts 并在其中加入一个或多个远程系统. 你的public SSH key必须在这些系统的``authorized_keys``中:
其中节点设置文件就是/etc/ansible/下的 hosts文件,配置这个文件,将虚机的的ip添加到文件末尾
其中[slave]是自己起的名称(就是一会ansible要管理的主机,可以随便取),下面的IP是另一台虚机(VM 起的ubunt系统,设定为slave节点)的IP地址,注意要在一个局域网内,能ping通。 - authorized_keys的生成
首先在controller节点执行ssh-keygen
会在~/.ssh/下生成公钥和私钥,然后将公钥id_rsa.pub拷贝到slave机器的root目录下面,执行如下命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.115
这个地方可能会失败,报没有权限的问题。这个时候需要先连接到slave节点,配置该节点允许ssh 远程root用户登录:
cd /etc/ssh vim sshd_config 将如下字段修改为yes,之前应该是with-out passw之类的 PermitRootLogin yes 然后service ssh reatart 如果没有配置过root的密码,执行: sudo passwd root 输入root密码,习惯输入为root root
然后再执行: ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.115。根据提示输入密码
-
拷贝完成后,可以连接到slave节点进行查看,在~/.ssh/目录下就会出现authorized_keys 文件(如果用户名用的user,那么在对应的目录下面也会有该文件)
-
到这,再去执行ansible slave -m ping 就可以出现如下结果:
-
后记
其实报错不可以怕,错误粘贴出来,多搜索几次,总能找到答案。