自动化运维之 Ansible——安装配置

网友投稿 1109 2022-10-14

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

自动化运维之 Ansible——安装配置

Ansible相对于其他自动化运维工具(saltstack、puppet)的优势:

Ansible是一款轻量级框架,基于各个模块实现各种功能,模块可根据需要自行开发

agentless 无需安装agent,可根据具体情况建立一台操作机

支持playbook剧本

python语言开发,做运维的都比较容易接受的语言

其他等等,一百度一大堆,自行百度吧~

环境说明:

系统环境centos6.8

操作机 192.168.1.121

客户机 192.168.1.122

基本安装

安装gcc,用于编译python源码

yum install gcc

更新python版本

tar zxf Python-2.7.12.tgzcd Python-2.7.12./configuremakemake install

修改python默认版本

mv /usr/bin/python /usr/bin/python2.6ln -s /usr/local/bin/python2.7 /usr/bin/python

为防止yum执行异常,修改yum使用的python版本

vi /usr/bin/yum

将文件头#!/usr/bin/python修改为#!/usr/bin/python2.6

模块安装

setuptools

tar zxf setuptools-27.1.2.tar.gzcd setuptools-27.1.2python setup.py install

安装setuptools时可能会出现的错误RuntimeError: Compression requires the (missing) zlib module解决办法:安装zlib

yum install zlib zlib-devel -y

安装完成后进入python目录重新编译安装python2.7

cd Python-2.7.12makemake install

(不用删除,直接编译安装,之前建立的软链仍有效)

模块安装

安装完成后就可以用easy_install安装其他的大部分模块了

easy_install pycrypto pyyaml jinja2 markupsafe ecdsa paramiko simplejson

使用easy_install时可能会出现的问题error: Could not find suitable distribution for Requirement.parse('jinja2')找不到url等等信息解决办法:安装openssl

yum install openssl openssl-devel -y

安装完成后重新编译安装python2.7(同之前一样)

tar zxf yaml-0.1.7.tar.gzcd yaml-0.1.7./configuremake make install

安装ansible

下载:

tar zxf ansiblecd ansiblepython setup.py install

或者简单一些:

easy_install ansiblepip install ansible

(这两种方式安装都会自动选择适合的最新版本,推荐pip方式,能自动解决一些依赖问题,但是pip安装的没有ansible.cfg和hosts)

配置ansible

ssh 免密登录

ssh-keygen -t rsa

一路回车将~/.ssh/id_rsa.pub拷到其他服务器,并在其他服务器执行如下命令

cat id_rsa.pub >>~/.ssh/authorized_keyschmod 600 authorized_keys

ansible配置

mkdir -p /etc/ansible

将ansible/examples/下的ansible.cfg和hosts文件拷到/etc/ansible/

修改hosts文件添加如下内容

[webserver]192.168.1.122

(即webserver组下添加192.168.1.122主机,webserver组下可添加多台主机,之后可直接对webserver组进行操作)

简单测试

ansible webserver -m command -a'uptime'

出现绿色SECCESS字样说明成功

-m 使用的模块-a 为参数

其他模块

pingsetupfilecopycommandshell

等等

可根据需要进行测试和使用更多模块参考:ansible-doc -l

上一篇:Grafana配置Prometheus展示高大上牛掰的监控图表
下一篇:运维到底是做什么的?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~