安装SaltStack和Halite
2023-09-14 08:56:52 时间
本文记录安装SaltStack和halite过程。
首先准备两台rhel或者centos虚拟机sk1和sk2,sk1用于安装master,sk2安装minion。
配置yum源在每个节点上配置yum源:
$ rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
然后通过下面命令查看epel参考是否安装成功:
$ yum list #或者查看/etc/yum.repos.d目录下是否有epel.repo
如果没有安装成功,则可以手动下载epel-release-6-8.noarch.rpm,然后打开该rpm找到./etc/yum.repos.d/epel.repo,将其拷贝到/etc/yum.repos.d目录
因为我用jinja2作为SaltStack的渲染引擎,故需要在每个节点上安装python-jinja2:
$ yum install python-jinja2 -y安装saltstack
在sk1上安装master:
$ yum install salt-master
在sk1上安装minion:
$ yum install salt-minion关闭防火墙
$ iptables -F $ setenforce 0修改配置文件
修改master配置文件,使其监听0.0.0.0地址,并设置自动接受minion的请求。
$ vim /etc/salt/master interface: 0.0.0.0 #去掉对该行的注释 auto_accept: True #去掉对该行的注释,并修改False为True
在所有的minion节点配置master的id和自己的id:
$ vim /etc/salt/minion master: sk1 id: sk2
分别在sk1和sk2上配置开机启动:
$ chkconfig salt-master on $ chkconfig salt-minion on
分别在sk1和sk2上以service方式启动:
$ /etc/init.d/salt-master start $ /etc/init.d/salt-minion start
你可以在sk2上以后台运行salt-minion
$ salt-minion -d
或者在sk2上debug方式运行:
$ salt-minion -l debug
如果启动提示如下错误:
$ /etc/init.d/salt-master start Starting salt-master daemon: Traceback (most recent call last): File "/usr/bin/salt-master", line 10, in module salt_master() File "/usr/lib/python2.6/site-packages/salt/scripts.py", line 20, in salt_master master.start() File "/usr/lib/python2.6/site-packages/salt/__init__.py", line 114, in start if check_user(self.config[user]): File "/usr/lib/python2.6/site-packages/salt/utils/verify.py", line 296, in check_user if user in e.gr_mem] + [pwuser.gid]) AttributeError: pwd.struct_passwd object has no attribute gid
请下载saltstack源码重新编译:
$ wget https://github.com/saltstack/salt/archive/develop.zip $ unzip develop $ cd salt-develop/ $ python2.6 setup.py install
如果你通过’cmd.run’命令去运行java命令,你会得到这样的结果:
[root@sk1 salt]# salt * cmd.run java /bin/bash: java: command not found
这是因为minion在启动过程中并没有加载系统的环境变量,解决这个问题有两种方式:
运行java命令前先source环境变量 修改minion启动脚本,添加source命令:# Source function library. if [ -f $DEBIAN_VERSION ]; then break elif [ -f $SUSE_RELEASE -a -r /etc/rc.status ]; then . /etc/rc.status . /etc/rc.d/init.d/functions . ~/.bashrc . /etc/profilesalt minion和master的认证过程 minion在第一次启动时,会在/etc/salt/pki/minion/下自动生成minion.pem(private key), minion.pub(public key),然后将minion.pub发送给master master在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的public key, 然后master就能对minion发送指令了
master上执行:
[root@sk1 pillar]# salt-key -L Accepted Keys: Unaccepted Keys: Rejected Keys:
接受所有的认证请求:
[root@sk1 pillar]# salt-key -A
再次查看:
[root@sk1 pillar]# salt-key -L Accepted Keys: Unaccepted Keys: Rejected Keys:
salt-key更多说明:http://docs.saltstack.com/ref/cli/salt-key.html
在master上运行ping:
[root@sk1 pillar]# salt * test.ping sk2:salt * test.ping True
True表明测试成功。
安装halite$ git clone https://github.com/saltstack/halite生成index.html
$ cd halite/halite $ ./genindex.py -C安装salt-api
$ yum install salt-api配置salt master文件
配置salt的master文件,添加:
rest_cherrypy: host: 0.0.0.0 port: 8080 debug: true static: /root/halite/halite app: /root/halite/halite/index.html external_auth: pam: admin: - .* - @runner - @wheel
重启master;
$ /etc/init.d/salt-master restart添加登陆用户
$ useradd admin $ echo admin|passwd –stdin admin启动 salt-api
$ cd halite/halite $ python2.6 server_bottle.py -d -C -l debug -s cherrypy
然后打开http://ip:8080/app,通过admin/admin登陆即可。
雨客 微博@JavaChen,这里的所有博客文章来自http://blog.javachen.com/。
相关文章
- 【Python3网络爬虫开发实战】1.6.2-Tornado的安装
- CentOS6.3 编译安装LAMP(4):编译安装 PHP5.3.27
- VM Workstation 虚拟机安装Ghost XP教程
- weblogic domain的安装与配置
- CentOS 8 安装 oniguruma 和 oniguruma-devel
- kind 单机k8s环境安装及使用:kubernetes in docker
- vshpere esxi6.7安装
- 安装Kerberos服务端和客户端
- 踩坑 - Kali下安装配置maven,完美解决!
- Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
- CentOS7系统使用rpm方式安装MySQL5.7
- Android 4.4(KitKat)中apk包的安装过程
- vmware 安装vmware tools