为什么要用自动化配置管理工具?
由于企业不断发展,传统运维已经跟不上步伐,现在都在招运维开发工程师,薪资也高不少,像我们这传统的运维显然遇到了瓶颈,薪资也是提不上去,所以要面临转型。
时不我待,转起大脑,向DevOPS迈进,首先熟练使用一个自动化配置管理工具,凭自己的了解,这样的工具有Puppet、Saltstack、Ansible、Fabric等,种类这么多,该学习哪个呢?于是在网上找一些招聘信息,寻找企业用的最多的一个工具,经了解,Puppet用的是最多的,可是学习成本相对较高,而且基于Ruby语言开发,比较陌生;SaltStack企业用的也不少,功能也强大,是Python开发的,还好自身也有一定的Python语言基础,学习起来相对好些。其他的用的比较少,就先不考虑了。开始行动吧!
SaltSack是什么?
由Python语言开发,因此安装配置很简单,具有很强的可扩展性;Salt和Puppet类似,分为管理端(master)和被管理端(minion),他们之间通过高性能的ZaroMQ通讯,能够管理上万台服务器。
SaltSack为我们做些什么?
系统软件安装和初始化、配置文件管理、定期执行任务、批量部署应用、远程执行命令等等,足够系统自动化运维了吧!
开始安装部署,尝试使用下,我这里使用的是Ubuntu系统,安装方式与RedHat系统不同,但操作命令都是一样的。
CentOS6安装方式:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum update
# yum install salt-master
# yum install salt-minion
1、安装管理端(Salt-master)
# sudo apt-get install python-software-properties # sudo apt-get install software-properties-common # echo deb http://ppa.launchpad.net/saltstack/salt/ubuntu `lsb_release -sc` main | sudotee /etc/apt/sources.list.d/saltstack.list #添加salt网络源 # wget -q -O-"http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6"| sudo apt-key add - #添加秘钥 # sudo apt-get update # apt-get install salt-master
2、安装被管理端(Salt-minion)
# sudo apt-get install python-software-properties # sudo apt-get install software-properties-common # echo debhttp://ppa.launchpad.net/saltstack/salt/ubuntu `lsb_release -sc` main | sudotee /etc/apt/sources.list.d/saltstack.list # wget -q -O- "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6"| sudo apt-key add – # sudo apt-get update # apt-get install salt-minion
3、配置被管理端(管理端不用配置)
# vi /etc/salt/minion master:192.168.1.10 #指定master地址 id:host1 #标识ID,用于在master显示 # /etc/init.d/salt-minion restart
#重启minion(master服务也要启动),minion第一次启动会在/etc/salt/pki/minion目录下生成minion.pem(私钥)和minion.pub(公钥),然后将minion.pub发给master,master通过salt-key -A命令接收公钥,并保存在/etc/salt/pki/master/minions目录
4、添加minion与master认证(以下基本都在master操作了)
#先在master查看所有认证主机
# salt-key -L Accepted Keys: host1 #此时颜色是红色的,说明通信没问题 Unaccepted Keys: Rejected Keys:
#这时我们接收所有的认证请求
# salt-key –A # salt-key -L Accepted Keys: host1 #此时颜色变绿,认证成功 Unaccepted Keys: Rejected Keys:
5、测试是否运行正常
#执行一个内置test.ping命令,以下说明正常
#命令格式: 命令 对象 执行模块 参数
# salt ‘*‘ test.ping
host1:
True
#也可以运行Bash命令
# salt ‘*‘ cmd.run ‘df -h‘
本文出自 ““企鹅”那点事儿” 博客,请务必保留此出处http://lizhenliang.blog.51cto.com/7876557/1638043
原文地址:http://lizhenliang.blog.51cto.com/7876557/1638043