Configuration Management

Slides:



Advertisements
Similar presentations
Configuring APACS & AAN Controllers
Advertisements

IcePro Source Code Management Source code analysis Runtime analysis Application deployment Source code generation Multi sites Click ! IcePro.
Installing and maintaining clusters of FreeBSD servers using PXE and Rsync Cor Bosman XS4ALL
UNIX ™ /Linux Overview Unix/IP Preparation Course June 9, 2013 Lusaka, Zambia.
Linux Operations and Administration
Session 5: Working with MySQL iNET Academy Open Source Web Development.
PVM. PVM - What Is It? F Stands for: Parallel Virtual Machine F A software tool used to create and execute concurrent or parallel applications. F Operates.
Cloud Standard API and Contextualization
Windows OS and Application Management Chris Brew Rutherford Appleton Laboratory J-Lab, HEPiX/HEPNT 30/10/2000.
Linux+ Guide to Linux Certification Chapter Fifteen Linux Networking.
Linux+ Guide to Linux Certification, Second Edition Chapter 14 Network Configuration.
The Art and Zen of Managing Nagios with Puppet Michael Merideth - VictorOps
…using Git/Tortoise Git
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Copyright © 2002 Legato Systems, Inc. AlphaStor 3.1 Support in NW Dan Gajanovic Legato Confidential.
Cisco Discovery Home and Small Business Networking Chapter 2 – Operating Systems Jeopardy Review Darren Shaver – Kubasaki High School – Okinawa, Japan.
Welcome to Azure App Services! Amie Seisay
Cyber Security Review, April 23-24, 2002, 0 Operated by the Southeastern Universities Research Association for the U.S. Depart. Of Energy Thomas Jefferson.
Welcome to Azure App Services! Amie Seisay
TOPIC 7.0 LINUX SERVICES AND CONFIGURATION. ROOT USER Root user is called “super user” because it has power far beyond those of mortal user. As root,
Docker, Containers, and the Future of Application Delivery Ivan Gaas.
Installing Applications in FreeBSD lctseng. Computer Center, CS, NCTU 2 Before we start  Permission issue root: the super user Like administrator in.
Automating Legacy Network Devices
Ansible and Ansible Tower 1 A simple IT automation platform November 2015 Leandro Fernandez and Blaž Zupanc.
Cloud Installation & Configuration Management. Outline  Definitions  Tools, “Comparison”  References.
EGI-InSPIRE RI Pakiti Michal Prochazka, (Daniel Kouril)
Introduction to Ansible
Passwords Passwords are unpleasant Hard to remember Remember a couple
Introduction to Ansible
SAP 3D Visual Enterprise Author 9 Frequently Asked Questions
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Development Environment
@ Bucharest DevOps Hacker Meetup
L – Modeling and Simulating Social Systems with MATLAB
Site Administration Tools: Ansible
Salt Configuration Management and David Spencer
L – Modeling and Simulating Social Systems with MATLAB
A451 Theory – 7 Programming 7A, B - Algorithms.
Containers and Virtualisation
FCC HtCondor Submission:
IT Atoumation / Conf. Mgmt...
Adding Salt to your Debian systems
Puppet
How to pack a punch for free
Lab 1 introduction, debrief
NAT , Device Discovery Chapter 9 , chapter 10.
Drupal VM and Docker4Drupal For Drupal Development Platform
Lab 10 Overview DNS.
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
How to Fix Norton Antivirus Sonar Protection Error.
We are here to help you in Reinstallation of Avira Antivirus. You just have to follow some steps which are mentioned in this Presentation……….
Intro to Config Management Using Salt Open Source
Ansible and Zabbix Rushikesh Prabhune (Software Technical Consultant)
Scaling Experiments.
Provisioning and Automating High Availability Postgres on AWS EC2
Using Visual Studio and VS Code for Embedded C/C++ Development
Simple Socket Client Project 1.
Introduction to Ansible
A simple way to configure PHP and Apache for Assignment 2
Presented By - Avinash Pawar
EMSE 6574 – Programming for Analytics: Python 101 – Python Enviornments Joel Klein.
OPS235: Week 1 Installing Linux ( Lab1: Investigations 1-4)
State Reporting Processing
Cloud Computing.
An introduction to the Linux environment v
SUSE Linux Enterprise Desktop Administration
Best practices for packaging and distributing device drivers
Macrosystems EDDIE: Getting Started + Troubleshooting Tips
Basic Dynamic Analysis VMs and Sandboxes
Shared Hosting Workshop
Presentation transcript:

Configuration Management SaltStack Configuration Management with SaltStack Nathan Fish KWLUG 2017-06-05 CC-BY-SA 3.0

What is SaltStack? Configuration management tool Like Ansible, Puppet, Chef, etc Python, Apache 2.0 License Created to fix gaps in Puppet

Why use Configuration Management? Configuration in git Only backup user data Self-documenting

Installing Salt ‘salt-master’ pkg on 1 master ‘salt-minion’ pkg on all machines Including master Both are daemons

‘salt-master’ listens ‘salt-minion’ connects to it Master pushes Network Architecture ‘salt-master’ listens ‘salt-minion’ connects to it Master pushes Minion reads /etc/salt/minion config to get master hostname If not defined, “salt” Installing salt-minion and writing this file during PXE preseed works great /etc/salt/minion_id defines the minion’s id If not defined, the minion takes it’s FQDN and writes it there Minions trust & save the master’s key the first time Advantages of this architecture: Minions can be completely firewalled / NAT New minions automatically connect

Minion first run /etc/salt/: If ./minion_id doesn’t exist, FQDN Create keypair in ./pki Read ./minion for master hostname Connect

Salt-key ‘salt-key’ tool on master Accept, delete, etc minion keys

Command Line salt <minion match> <module.function> Defaults to Bash globs ‘test.ping’ is a Python function Executed on minion Generally to use Salt you will use the ‘salt’ command line tool.

Example Execution functions system.reboot service.restart apache2 pkg.upgrade

“Idempotent” – safe to re-run *.sls, YAML format States Config is declarative What we want, not how “Idempotent” – safe to re-run *.sls, YAML format

Example State A simple state that installs some handy packages A *.sls file in your State tree can have 1 or more such States.

State Run Output

Assigns files to minions The Top File ( top.sls ) YAML format Assigns files to minions

Example State Top

Pillar Also *.sls, YAML format Rendered by master into Python dict Per minion Can set defaults and override them

Pillar Example

Jinja Templating language / preprocessor Not unique to Salt Template config & *.sls files Salt supports other template languages

Example SLS with Jinja

Tips / Gotchas Keep in mind that some things run on master, some on minion When debugging, you can use ‘salt-call’ on the minion to get more output salt-master has root to all minions - be careful

Questions? I have some extras if we run out of questions

Grains Bits of data about a machine Shouldn’t change often ‘salt ‘*’ grains.ls’ ‘salt ‘*’ grains.get ipv4’

Key management Master hostname can be changed Master key cannot (easily) If reinstalling minion, delete key from master first

LXC salt-run lxc.init <container> host=<host> template=<template> Autoaccept key