利用Saltstack的States初始化系统

今天和大家介绍一下如何运用State初始化系统吧

States是satlstack中的配置语言
  安装软件包、管理配置文件都需要编写一些states sls文件

  states sls使用YAML语法


查看所有states列表
[[email protected]    pillar]#    salt ‘onde1‘ sys.list_state_modules    (node1是被管理节点的ID)

查看states模块功能
[[email protected]    pillar]#    salt ‘node1‘ sys.list_state_func=ons    file

下面给大家具体实例操作一下吧

1.  配置minion的dns服务器地址为192.168.4.100
2.  配置历史命令显示时间和用户
3.  配置系统能够实现ip转发
4.  配置系统创建用户bob,初始密码为123456,同时要求用户初次登陆必须修改密码

系统初始化概述
  服务器上架并安装好操作系统后,都会有一些基础的配置操作
  建议将所有服务器都会涉及的基础配置或者软件部署都归类放在base环境下
  可以在base环境下创建一个init目录,将系统初始化配置的sls文件均放到init目录下,称其为“初始化模块”

实施步骤:

修改master上的/etc/salt/master配置文件:

593 # Example:
 594 file_roots:
 595   base:
 596     - /srv/salt/base

1、配置DNS
  强烈建议在内网建立自己的内网DNS服务器

[[email protected] init]# vim dns.sls
resolv_file:
  file.managed:
    - name: /etc/resolv.conf
    - source: salt://init/files/resolv.conf
    - user: root
    - group: root
    - mode: 644

resolv.conf文件路径是/srv/salt/base/resolv.conf

2、配置历史命令显示时间:
[[email protected] init]# vim history.sls
profile_file:
  file.append:
    - name: /etc/profile
    - text:
      - export HISTTIMEFORMAT="%F %T:"

3、配置系统能够实现ip转发(路由转发):
[[email protected] init]# cat sysctl.sls
net.ipv4.ip_forward:
  sysctl.present:
    - value: 1

4、配置系统创建用户bob,初始密码为123456,同时要求用户初次登陆必须修改密码
[[email protected] init]# vim add_usr.sls
useradd bob:
  cmd.run:
    - unless: id bob
echo 123456 | passwd --stdin bob:
  cmd.run:
    - onlyif: id bob
chage -d0 bob:
  cmd.run:
    - onlyif: id bob

5、修改入口文件:
[[email protected] base]# vim top.sls
base:
  ‘[email protected][12]‘:
    - init.dns
    - init.history
    - init.sysctl
    - init.add_usr

[[email protected] base]# salt -E ‘node[12]‘ state.highstate env=base test  (测试是否能执行成功。)

[[email protected] base]# salt -E ‘node[12]‘ state.highstate env=base (执行修改,saltenv=base指环境是base,不是dev)

6、验证:ssh到节点上去,验证以下就行了,或者使用salt的命令去查看,此处省略!!!

时间: 2024-08-05 19:14:42

利用Saltstack的States初始化系统的相关文章

利用命令行删除Android系统自带应用的方法

一般来说,手机厂家都会在手机中内置许多应用,而这些应用是使用一般的应用程序管理无法删除的.当然,现在有一些APP,如360和豌豆荚,在获取了系统的root权限之后是可以删除自带应用的.但是如果我不想让一个app来获取我的root权限呢?有没有方便.快捷的方法呢? 当然有,那就是利用shell命令.当然,首先要安装当前手机的驱动程序,否则无法进行调试. 在如何删除Android系统中的内置应用一文中作者也介绍了利用命令行删除系统应用的方法,但是个人感觉太麻烦了,其实有更简单的方法,只要三步即可:a

SQL Server 重新初始化系统数据库中的单引号问题

在最近的数据库跨机房迁移中,由于硬件的限制,需要滚动式地将数据库一台台迁移到新机房,先在新机房搭建一个新环境,将数据迁移过去,再将旧机房的机器下架搬到新机房,重新配置后用于下一轮的升级,重新配置过程中,有以下几个问题: 1:由于机房和IP已经发生变化,因此需要按照命名规则修改服务器名称. 2:原数据库上的数据如登录账号/作业/链接服务器等等需要删除 3:部分服务器因磁盘变动,仅保留系统盘,部分SQL Server文件(如果系统数据库文件)已经丢失 对于问题1和问题2,可以进行手动删除或者写个脚本

django 利用钉钉 扩展用户系统

django 利用钉钉 扩展用户系统 用户架构图 说明 以django 自带 user,group 为基础 ,结合 钉钉用户系统 进行结合,以达到能够满足实际需求. 组关系: 钉钉部门组 通过 多对多 关系到 系统Group. 然后设置计划任务,如果 有钉钉部门组 关联到了 系统组,就把该用户组下的 用户 自动添加相应的 系统组. 组关系2: 自定义权限组 通过 多对多 关系到 系统Group. 根据 用户 系统组 的名字 查询到 自定义权限信息,进行判断 版本 Django==2.0.9 js

Linux初始化系统盘后重新挂载数据盘方法

Linux实例初始化系统盘后重新挂载数据盘在Linux实例中,重新初始化系统盘不会改变数据盘里的内容,但是数据盘的挂载信息会丢失,所以,在Linux重启后,按以下步骤创建新的挂载点信息并挂载数据盘分区. 说明:本文档中,假设初始化系统盘之前,实例上挂载的数据盘分区名称为/dev/vdb1,挂载点名称为/InitTest.----------------分割线-----------------------------------服务器租用托管:品牌服务器.双核/四核/八核服务器海外服务器租用托管.

(六)saltstack项目实战_系统初始化

一.系统初始化 1. 编写resolv.conf(dns) 文件 [[email protected] init]# cat /etc/salt/states/init/dns.sls /etc/resolv.conf: file.managed: - source: salt://init/files/resolv.conf - user: root - group: root - mode: 644 2. 给历史命令(history)添加时间 [[email protected] init]

SaltStack初始化系统

目录规划如下: [[email protected] /srv]# tree  . ├── pillar │   ├── base │   │   ├── top.sls │   │   └── zabbix │   │       └── agent.sls │   └── prod └── salt     ├── base     │   ├── init     │   │   ├── audit.sls     │   │   ├── dns.sls     │   │   ├── e

利用saltstack初始化OpenStack服务器环境

目录架构图如上图所示 sls脚本详情如下: Sync_Host: file.managed: - name: /etc/hosts - source: salt://state/files/hosts - user: root - group: root - mode: 644 install_httpd: pkg.installed: - name: httpd - name: httpd-devel httpd_running: service.running: - name: httpd

三、利用EnterpriseFrameWork快速开发Winform系统(C/S)

上一章讲解了开发Web系统的详细步骤,以书籍的管理作实例实现对书籍的增.删.改.查功能,本章接着上面的实例继续补充用Winform界面来实现此功能: 界面效果如下: 解决方案目录结构:     上图红色部分为这次新增加的文件,开发步骤: 1)新增Winform控制器,bookwinController.cs 2)新增界面接口,IfrmBook.cs 3)新增界面窗口,frmBookManager.cs 其中实体Book.cs和Dao在上一章实例中已经完成,所以直接调用就行了: bookwinCo

通过Python利用saltstack进行生成服务器资产清单

前言:人工去对每一台服务器的硬件信息并记录早已经过去了,无论通过脚本还是自动化工具都是可以进行一次编写到处抓取的,本文主要使用saltstack作为使用工具,然后利用其提供的APi编写所需的Python脚本~~ 需求如下:生成服务器主机名,IP地址,内存,CPU核数,操作系统,数据盘配额,主要运行服务 saltstack快速入门,可参考:http://youerning.blog.51cto.com/10513771/1708964 这里主要用到saltstack的grains,就是saltst