offical website

reference1

reference2

  1. install
apt-get install python-software-properties
apt install software-properties-common
apt-get update
apt-get install salt-master
apt-get install salt-minion
  1. config

if master: vim /etc/salt/master

interface: master ip		            //(注意:key:空格value之间不能漏掉空格,否则报错)
auto_accept: True

if minion: vim /etc/salt/minon

master: master ip
id: minion ip
  1. usual salt cmd //(salt, salt-run, salt-cp 适用于master)
salt-call test.ping					    //(适用master and minion)
salt 'hostname' test.ping //(适用minion)
//(可选)/etc/salt/minion_id:存放minion master: Accepted Keys
salt-key -L // list all salt-key
salt '*' cmd.run 'df -lh' //master run cmd on minion host
salt-call cmd.run 'hostname -I' //minion run cmd on minion host
salt-run manage.down //查看所有没在线minion
salt-run manage.up //查看所有在线minion
salt-key -a minion_key //接受某个minion-key 大写A介绍所有
salt-key -d minion_key //删除某个minion-key大写D删除所有
//将master中的文件复制到制定minion主机,可重命名
salt-cp 'minion_ip' master_txt minion_dir/rename.txt
salt '*' pkg.version python //显示软件包版本信息
salt '*' pkg.install git //install git on minion
salt '*' pkg.install pkgs=['vim','rpm'] //install two more pkgs
salt '*' network.connect google-public-dns-a.google.com port=53 proto=udp
salt '*' service.start mysql //启动mysql服务
salt '*' cmd.run 'service mysql start'
  1. get data

A. Grains are used to get static data about your systems

B. Salt pillar is used to deliver data to your systems.

C. SaltStack configuration management lets you create a re-usable configuration template, called a state

salt -G 'os:Ubuntu' test.ping			//static data Grains
salt -E '192.168.43.*' test.ping //regular expression
salt -L 'minion1,minion2' test.ping //in a list
  1. salt state

    vim /srv/salt/nettools.sls
install_id_whatever:
pkg.installed:
- pkgs: // multi pkgs
- rsync
- lftp
- curl
- name: git //single pkg
run cmd to install pkgs in nettools.sls on minion host

salt '*' state.apply nettools

or

salt '*' state.sys nettools.sls

vim /srv/salt/test.sls

install_id_test:
pkg.install:
-pkgs:
- mysql-server
- django

vim /srv/salt/top.sls

base:
'*':
- nettools
'specific_minion_host'
- test

salt '*' state.apply // default use top.sls

salt 'specific_minion_host' state.apply test.sls

  1. to be continue

saltstack入门个人笔记的更多相关文章

  1. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  2. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  3. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  4. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  5. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  6. Nginx快速入门菜鸟笔记

    Nginx快速入门-菜鸟笔记   1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6. ...

  7. 第三章 Git的入门 - 读书笔记

    Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...

  8. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  9. Scala入门学习笔记三--数组使用

    前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...

随机推荐

  1. django上课笔记2-视图CBV-ORM补充-Django的自带分页-Django的自定义分页

    一.视图CBV 1.urls url(r'^login.html$', views.Login.as_view()), 2.views from django.views import View cl ...

  2. Django学习:模板语法

    一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...

  3. java中多线程的两种创建方式

    一丶继承Thread类实现多线程 第一步:继承Thread类第二步:重写run()方法第三步:创建继承了Thread类的对象 , 调用start()方法启动. //线程创建方式一 : /* 第一步:继 ...

  4. 1049 - One Way Roads 观察 dfs

    http://lightoj.com/volume_showproblem.php?problem=1049 题意是,在一副有向图中,要使得它变成一个首尾相连的图,需要的最小代价. 就是本来是1--& ...

  5. scau 1144 数星星 bit + 扫描线的思想

    这题如果用二维树状数组,则会直接爆内存. 那么可以运用扫描线的思路. 就是,它同时被x和y限制了,那么可以在查询的时候,确保x先满足了,(把x按小到大排序) 然后就相当于是关于y的一个一维bit了, ...

  6. ubuntu用户自定义的命令alias永久生效

    cd ~ vi .bash_profile alias ll='ls -ltr' . .bash_profile ps:写在.bashrc终端断开就没了

  7. python实战之爬取喜玛拉雅专辑信息

    import urllib.request import json from lxml import etree url='http://www.ximalaya.com/dq/8.ajax' hea ...

  8. ibatis学习笔记

    步骤: 搭建配置环境:导入相关jar包 配置文件: JDBC连接属性文件 总配置文件 关于每个实体的映射(map.xml)文件 JDBC连接属性文件 jdbc.properties ## mysql ...

  9. js中不容小觑的var声明

    在学习vue相关课程中,有一次跟着老师敲代码,写出了如下代码: var Child = { template:`<div @click='handleClick'><slot> ...

  10. 【程小白】Java基本特性

    一.StringBuffer.StringBuilder的区别 StringBuffer是线程安全的,StringBuilder是线程不安全的.所以以后在单线程中,如果涉及大量字符串操作,还是用Str ...