设为首页 收藏本站
查看: 935|回复: 0

[经验分享] ansible 学习记录 1-Jason的博客

[复制链接]

尚未签到

发表于 2018-7-29 09:13:15 | 显示全部楼层 |阅读模式
  多看书总是让人进步,今天啃了一会儿《奔跑吧Ansible》,重点看了第15页的内容,虽然刚开始的觉得一点没看明白,但是通过search 关键字,渐渐地理解了一点内容,如书中讲的 ansible testserver -i hosts -m ping
  -i 是ansible命令的一个选项,该选项的参数为inventory file,即Inventory配置文件,
  inventory 文件的类似下面的内容:
  testserver ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 \
  ansible_ssh_user=root \
  ansible_ssh_private_key_file=
  通过百度搜索,得出了其实可以通过private key 代替ssh 互信来实现anible 操控其他主机。
  最近在作自动化部署发布.读了一下ansible的代码和工作流.
  需要部署一些免密码登录的操作. 记录下
  现在有两台机器, 一台服务器A安装了ansible, 一台是服务器B需要被操作的.
  随便建立一个项目文件夹.
  为了方便管理, 我这样划分的项目
  在conf里面放所有的配置, 包括hosts和ansible.cfg, 然后作一个软链接到最外面. ansible.cfg的优先级将是当前目录最高
  a
  在ssh_keys里面, 存放着很多服务器的私钥. 注意是私钥.
  ansible用了paramiko库.
  ansible.cfg 配置如下. 注意ssh_connection下面的contrl_path=./ssh_keys, 不指定的话会一直报group-readable or world-readable and thus insecure
[defaults]inventory       = ./conf/hostspull_interval   = 15sudo_user       = roottransport       = paramikomodule_lang     = Chost_key_checking = Falsesudo_exe        = sudo# SSH timeouttimeout         = 30#remote_user     = root#remote_port     = 22remote_tmp      = $HOME/.ansible/tmp  

  
[ssh_connection]# if True, make ansible use scp if the connection type is ssh, default is sftpscp_if_ssh      = True#sftp_batch_mode= Falsecontrol_path = ./ssh_keys12345678910111213141516171819
  去服务器B上生成密钥对,
#ssh root@服务器B#ssh-keygen 如果要重命名可以自己指定, 回车后生成密钥对# echo ~/.ssh/id_rsa.pub >> known_hosts  这里把生成的公钥放入known_hosts如果自己配置了ssh_config, 关闭了known_hosts, 可能就需要写进~/.authorized_keys里面去了.1234  把服务器B上的私钥回传到ansible执行的服务器A的ssh_keys里, 命名为
  服务器B_ip_.key
  给ssh_keys文件夹授权为700, 一定要700, 其它的都会报错.
  建立hosts文件里面指定server, 每个server一行.这里我测试就写一行.
  [test_server]
  10.0.1.5 ansible_ssh_private_key_file=ssh_keys/10.0.1.5.key ansible_ssh_user=root
  现在回到服务器A的这个ansible文件夹下测试:
  ansible test_server -m shell -a ‘ls -la /etc/hostname’
10.0.1.5 | success | rc=0 >>-rw-r--r-- 1 root root 15 Jun  4  2012 /etc/hostname  其实也可以配置ansible的配置文件:
  [defaults]
  hostfile = hosts # 注意就是上面提到的文件 位于 /playbook/hosts
  remote_user = vagrant
  private_key_file = .vagrant/machines/defaults/virtualbox/private_key
  host_key_checking = False
  这样的话 执行ansible命令是可以简化为
  ansible testserver -m command -a uptime
  还可以简化(command 模块常用,ansible命令将它设为了默认模块)
  ansible testserver -a uptime

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-542836-1-1.html 上篇帖子: ansible实战与配置 Ⅱ 下篇帖子: 通过ansible部署高可用LNAMMKP架构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表