栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

mac 部署 ansible 记录

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mac 部署 ansible 记录

简介

Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。

它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。

它使用SSH来和节点进行通信。Ansible基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作。
 

中文文档

总体介绍 — 国内最专业的Ansible中文官方学习手册https://ansible-tran.readthedocs.io/en/latest/docs/intro.html

安装

pip  install ansible

使用之前确认ssh是否可用

inventory 文件配置(主机清单)

配置文件用来配置服务器地址,用来管理多台机器。默认的文件配置地址:

/etc/ansible/hosts 没有就创建目录和hosts文件

配置文件

1. 基于端口,用户,密码定义主机清单
格式:

ansible基于ssh连接-i (inventory)参数后指定的远程主机时,也可以写端口,用户,密码。
如:

[test]

192.168.0.1 ansible_user=user ansible_ssh_pass=pass

[test]是分组名 ansible_ssh_port: 指定ssh端口 ansible_ssh_user:指定 ssh 用户 ansible_ssh_pass: 指定 ssh 用户登录是认证密码(明文密码不安全) ansible_sudo_pass: 指明 sudo 时候的密码,另外 pass要是字符串 即‘pass’,不知是不是只有我有这个问题,别的一些教程都直接写密码,直接写密码我报错没权限。

在macOS下使用ansible命令(inventory文件中使用了密码验证的方式)或者使用iTerm2来完成自动密码填充等场景会使用到sshpass。

安装sshpass

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

如果报错:Non-checksummed download of sshpass formula file from an arbitrary URL is unsupported! `brew extract` or `brew create` and `brew tap-new` to create a formula file in a tap on GitHub instead.

手动下载后再安装

wget https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

brew install sshpass.rb

ps: 这么操作如果还不行,就直接访问https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

这个链接内容拷贝到本地sshpass.rb中,然后执行

brew install sshpass.rb

详情可见 macOS 安装 sshpass - 简书

执行命令:ansible test -m ping

如果不成功可以通过命令:ansible test -m ping -vvv 来查看具体错误信息

2. 基于ssh密钥来访问定义主机清单
设置密钥 命令行: ssh-keygen 
拷贝密钥: ssh-copy-id root@192.168.0.1
测试: ssh 192.168.0.1

修改host,此时只用ip就可以

ps:不知是不是因为我使用的ubuntu用户,这么测试必须是 ssh ubuntu@192.168.0.1才可以通,在ansible test -m ping 时候也只有第一种成功。时间关系 并没有耗费太多时间在第二种方法上,但是通过其他成功案例来看,通过ssh是最方便安全的,第一种毕竟暴露了明文密码,还是有安全方便的风险。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/931771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号