一、salt-ssh的使用

官方文档:https://docs.saltstack.com/en/2016.11/topics/ssh/index.html

(1)安装salt-ssh
[root@linux-node1 ~]# yum install -y salt-ssh (2)配置salt-ssh
[root@linux-node1 ~]# vim /etc/salt/roster
linux-node1:
host: 10.0.0.11
user: root
passwd: qwe123
linux-node2:
host: 10.0.0.12
user: root
passwd: qwe123 (3)使用ssh远程执行
[root@7mini-node1 ~]# salt-ssh '*' -r 'uptime'
7mini-node2:
----------
retcode:
0
stderr:
stdout:
root@10.0.0.12's password:
14:07:19 up 14 days, 8:41, 2 users, load average: 0.04, 0.08, 0.07
7mini-node1:
----------
retcode:
0
stderr:
stdout:
root@10.0.0.11's password:
14:07:20 up 23 days, 8:13, 2 users, load average: 2.86, 0.81, 0.34

二.配置管理

1)SLS:salt state举例安装apache

[root@7mini-node1 ~]# vim /srv/salt/base/web/apache.sls
apache:
pkg.installed:
- name: httpd
service.running:
- name: httpd
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://apache/files/httpd.conf
- user: root
- group: root
- mode: 644 解释说明:
apache:id声明,在所有环境(base、prod)下全局唯一
pkg:状态模块
.:引用关系
installed:模块中的方法
::代表层级关系
name:可以理解为参数,后面跟的是参数值,id就是name
file.managed:文件管理模块,必须要有source指定文件的来源路径
source:文件的来源路径,salt://代表着环境的根路径,这的根路径为:/srv/salt/base/
user、group、mode:分别指定文件的所属者,所属组和权限 以上的文件还可以使用分id的写法:
apache-install:
pkg.installed:
- name: httpd apache-service:
service.running:
- name: httpd apache-config:
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://apache/files/httpd.conf
- user: root
- group: root
- mode: 644 存在指定多个配置文件,还可以使用一下写法:(不适用name作为参数传递时,id就是最上面的参数)
/etc/httpd/conf/httpd.conf:
file.managed:
- source: salt://apache/files/httpd.conf
- user: root
- group: root
- mode: 644
/etc/httpd/conf/php.conf:
file.managed:
- source: salt://apache/files/php.conf
- user: root
- group: root
- mode: 644

2) LAMP的状态设计与实现部署

设计需求分析

1、设计分析

名称 软件包 配置文件 服务
使用模块 pkg file service
LAMP httpd、php、mariadb、mariadb-server、php-mysql、php-pdo、php-cli /etc/httpd/conf/httpd.conf、/etc/php.ini、/etc/my.cnf httpd、mysqld

2、Aapche的状态配置

[root@7mini-node1 prod]# pwd
/srv/salt/prod
[root@7mini-node1 prod]# mkdir apache php mysql
[root@7mini-node1 prod]# tree
.
├── apache
├── mysql
└── php 3 directories, 0 files [root@7mini-node1 prod]# cd apache/
[root@7mini-node1 apache]# vim apache.sls #编写apache的状态模块
apache-install:
pkg.installed:
- name: httpd apache-config:
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://apache/files/httpd.conf #salt://代表着环境的根路径,根路径为/srv/salt/prod
- user: root
- group: root
- mode: 644 apache-service:
service.running:
- name: httpd
- enable: True
[root@7mini-node1 apache]# mkdir files #创建source目录
[root@7mini-node1 apache]# cd files/
[root@7mini-node1 files]# cp /etc/httpd/conf/httpd.conf .
[root@7mini-node1 apache]# tree
.
├── apache.sls
└── files
└── httpd.conf 1 directory, 2 files
[root@7mini-node1 apache]# salt '7mini-node1' state.sls apache.apache saltenv=prod #执行正常无报错,为正常

3、php的状态配置

[root@7mini-node1 prod]# cd php
[root@7mini-node1 php]# mkdir files
[root@7mini-node1 php]# vim init.sls
php-install:
pkg.installed:
- pkgs:
- php
- php-pdo
- php-mysql php-config:
file.managed:
- name: /etc/php.ini
- source: salt://php/files/php.ini
- user: root
- group: root
- mode: 644
[root@7mini-node1 php]# cp /etc/php.ini files/
[root@7mini-node1 php]# tree
.
├── files
│ └── php.ini
└── init.sls 1 directory, 2 files
[root@7mini-node1 apache]# salt '7mini-node1' state.sls php.init saltenv=prod  

4、mysql的状态配置

[root@7mini-node1 prod]# cd mysql/
[root@7mini-node1 mysql]# vim init.sls
mysql-install:
pkg.installed:
- pkgs:
- mariadb
- mariadb-server mysql-config:
file.managed:
- name: /etc/my.cnf
- source: salt://mysql/files/my.cnf
- user: root
- gourp: root
- mode: 644 mysql-service:
service.running:
- name: mariadb-server
- enable: True
[root@7mini-node1 mysql]# mkdir files
[root@7mini-node1 mysql]# cp /etc/my.cnf files/
[root@7mini-node1 prod]# tree
.
├── apache
│ ├── files
│ │ └── httpd.conf
│ └── init.sls
├── mysql
│ ├── files
│ │ └── my.cnf
│ └── init.sls
└── php
├── files
│ └── php.ini
└── init.sls
[root@linux-node1 prod]# salt '7mini-node1' state.sls php.init saltenv=prod #执行无报错表示成功

 

5、写入top file,执行高级状态

[root@7mini-node1 base]# pwd
/srv/salt/base
[root@7mini-node1 base]# vim top.sls
prod:
'7mini-node1.example.com':
- apache.init
- php.init
- mysql.init
[root@linux-node1 base]# salt '7mini-node1*' state.highstate #执行无报错表示成功 测试7mini-node2是否能执行成功
[root@7mini-node1 ~]# salt '7mini-node2'  state.highstate

  

 

 

  

 

  

SaltStack的salt-ssh使用及LAMP状态设计部署(五)的更多相关文章

  1. SaltStack入门篇(五)之salt-ssh的使用以及LAMP状态设计部署

    1.salt-ssh的使用 官方文档:https://docs.saltstack.com/en/2016.11/topics/ssh/index.html ()安装salt-ssh [root@li ...

  2. SaltStack配置管理-LAMP状态设计

    上一篇:SaltStack之Salt-ssh 配置文件模板 apache: pkg.installed: - name: httpd service.running: - name: httpd /e ...

  3. 009(1)-saltstack之salt-ssh的使用及配置管理LAMP状态的实现

    1 salt-ssh的使用 1. 安装salt-ssh[root@slave1 .ssh]# yum install -y salt-ssh 2. 配置salt-ssh # Sample salt-s ...

  4. 009-saltstack之salt-ssh的使用及配置管理LAMP状态的实现

    1.salt-ssh的使用 官方文档:https://docs.saltstack.com/en/2016.11/topics/ssh/index.html (1)安装salt-ssh [root@l ...

  5. saltstack通过salt.client执行命令(转)

    利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令 master端想要执行类似 salt '*' cmd.run 'uptime ...

  6. saltstack 使用salt ‘*’ test.ping 报错Minion did not return(转)

    原文地址:http://blog.51cto.com/4634721/2093019 saltstack 使用salt ‘*’ test.ping 报错Minion did not return. [ ...

  7. SaltStack 的基本概念与工作原理 架构设计

    随着云计算技术的快速普及与发展,越来越多的企业开始学习和搭建自己的云平台代替传统的 IT 交付模式,企业的 IT 环境也随之越来越复杂,常规的运维方法与技术已经无法满足现在云环境中系统的配置与变更.基 ...

  8. LAMP 搭建wordpress部署教程贴.

    LAMP 搭建wordpress部署教程贴.这是一篇主要将LAMP,并且通过wordpress来进行验证,演示.如何去部署PHP CMS很多新手看到LAMP就很很头大,觉得很难搞,编译安装,搞了好几天 ...

  9. 在lamp上简单部署应用程序

    前言:上文中,说到了lamp的基本原理,apache与php的三种交互模式,php与mysql(mariadb)的交互,一次完整lamp的请求. LAMP简单的部署之后,便能够简单的搭建自己的网站. ...

随机推荐

  1. C语言 ------ #undef 的使用

    #undef 是在后面取消以前定义的宏定义 该指令的形式为 #undef 标识符 其中,标识符是一个宏名称.如果标识符当前没有被定义成一个宏名称,那么就会忽略该指令. 一旦定义预处理器标识符,它将保持 ...

  2. Java面试题:多继承

    招聘和面试对开发经理来说是一个无尽头的工作,虽然有时你可以从HR这边获得一些帮助,但是最后还是得由你来拍板,或者就像另一篇文章"Java 面试题:写一个字符串的反转"所说: 面试开 ...

  3. 字符串hash的学习部分 可以算是模板?

    资料来自于http://www.bilibili.com/video/av7230433/ 定义这个字符串为s ①单hash hash[i] = (hash[i - 1] * p + idx(s[i] ...

  4. 写一个简易web服务器、ASP.NET核心知识(4)

    前言 昨天尝试了,基于对http协议的探究,我们用控制台写了一个简单的浏览器.尽管浏览器很low,但是对于http协议有个更好的理解. 说了上面这一段,诸位猜到我要干嘛了吗?(其实不用猜哈,标题里都有 ...

  5. [POJ2356]Find a multiple 题解(鸽巢原理)

    [POJ2356]Find a multiple Description -The input contains N natural (i.e. positive integer) numbers ( ...

  6. matlab求逆运算:左除( \ )和右除( / ),inv,pinv

    矩阵求逆可以使用左除(\)和右除(/),inv,pinv 首先了解需要求逆的矩阵A是否为奇异方阵 inv 若A为非奇异方阵,则存在逆矩阵,可利用inv求逆: inv(A) pinv 若需要求逆的矩阵A ...

  7. 【Tomcat】tomcat中server.xml配置详解

    Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server>    <Listener />    <GlobaNaming ...

  8. BAT-快速切换JDK1.6/1.7

    Code: @echo OFF rem 修改背景/字体颜色为黑/绿 color 0A rem 自动设置JDK环境变量,本程序不会对 [系统环境变量] 造成破环!不需要重启!! rem 没有%%JAVA ...

  9. fastDFS 命令笔记【转】

    端口开放 这是命令运行的前提 iptables -I INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT iptables -I I ...

  10. rpmdb: Thread/process 9180/139855524558592 failed: Thread died in Berkeley DB library

    使用yum安装出现问题:rpmdb: Thread/process 9180/139855524558592 failed: Thread died in Berkeley DB library 解决 ...