mirror of
https://git.theinfopunk.com/punk/thewwwdotcom-blog.git
synced 2025-07-26 12:14:44 -04:00
315 lines
5.6 KiB
Markdown
315 lines
5.6 KiB
Markdown
---
|
|
title: "Creating the Ultimate Container Playground: Salt in LXD"
|
|
date: "2018-06-03"
|
|
categories:
|
|
- "docker-containers-and-kubernetes"
|
|
- "linux"
|
|
---
|
|
|
|
# Introduction: Installing Saltstack
|
|
|
|
The great thing about being able to spin up several new system containers running multiple Linux distros is that you get to experiment with software like Saltstack without the hassle of creating multiple VM's. This can be especially daunting on a machine that is lacking resources.
|
|
|
|
The following directions are how I installed Salt on multiple containers running at the same time but using less that 2G of RAM total for testing. Saltstack easily controlled all of their very different package manager and system configurations effortlessly.
|
|
|
|
## Master and Minion on OpenSUSE
|
|
|
|
zypper in salt-master salt-minion
|
|
|
|
echo "10.132.120.155" >> /etc/hosts
|
|
|
|
systemctl enable salt-master
|
|
|
|
systemctl start salt-master
|
|
|
|
systemctl enable salt-minion
|
|
|
|
systemctl start salt-minion
|
|
|
|
## Minion on Fedora
|
|
|
|
dnf install salt-minion
|
|
|
|
echo "10.132.120.155" >> /etc/hosts
|
|
|
|
systemctl enable salt-minion
|
|
|
|
systemctl start salt-minion
|
|
|
|
## Minion on Ubuntu
|
|
|
|
apt update
|
|
|
|
sudo apt install salt-minion
|
|
|
|
echo "10.132.120.155" >> /etc/hosts
|
|
|
|
systemctl enable salt-minion
|
|
|
|
systemctl restart salt-minion
|
|
|
|
## Minion on Arch
|
|
|
|
pacman -S salt
|
|
|
|
echo "10.132.120.155" >> /etc/hosts
|
|
|
|
systemctl enable salt-minion
|
|
|
|
systemctl start salt-minion
|
|
|
|
## Minion on CentOS
|
|
|
|
vim /etc/yum.repos.d/saltstack.repo (see https://docs.saltstack.com/en/latest/topics/installation/rhel.html)
|
|
|
|
echo "10.132.120.155" >> /etc/hosts
|
|
|
|
yum install salt-minion
|
|
|
|
systemctl enable salt-minion
|
|
|
|
systemctl start salt-minion
|
|
|
|
## Set up Salt Master
|
|
|
|
opensuse:~ # salt-key -A
|
|
The following keys are going to be accepted:
|
|
Unaccepted Keys:
|
|
opensuse
|
|
ubuntu.lxd
|
|
arch
|
|
fedora
|
|
centos
|
|
Proceed? \[n/Y\] y
|
|
Key for minion opensuse accepted.
|
|
Key for minion ubuntu.lxd accepted.
|
|
Key for minion arch accepted.
|
|
Key for minion fedora accepted.
|
|
Key for minion centos accepted.
|
|
|
|
# Testing Saltstack
|
|
|
|
**opensuse:~ #** salt '\*' grains.get os
|
|
ubuntu.lxd:
|
|
Ubuntu
|
|
centos:
|
|
CentOS
|
|
arch:
|
|
Arch
|
|
fedora:
|
|
Fedora
|
|
opensuse:
|
|
SUSE
|
|
|
|
**opensuse:~ #** salt '\*' grains.get saltversion
|
|
fedora:
|
|
2017.7.3
|
|
ubuntu.lxd:
|
|
2017.7.4
|
|
centos:
|
|
2018.3.0
|
|
opensuse:
|
|
2018.3.0
|
|
arch:
|
|
2018.3.0
|
|
|
|
## Install a package
|
|
|
|
**opensuse:~ #** salt '\*' pkg.install mutt
|
|
arch:
|
|
\----------
|
|
mailcap:
|
|
\----------
|
|
new:
|
|
2.1.48+14+g5811758-1
|
|
old:
|
|
mutt:
|
|
\----------
|
|
new:
|
|
1.10.0-1
|
|
old:
|
|
centos:
|
|
\----------
|
|
mailcap:
|
|
\----------
|
|
new:
|
|
2.1.41-2.el7
|
|
old:
|
|
mutt:
|
|
\----------
|
|
new:
|
|
5:1.5.21-27.el7
|
|
old:
|
|
tokyocabinet:
|
|
\----------
|
|
new:
|
|
1.4.48-3.el7
|
|
old:
|
|
urlview:
|
|
\----------
|
|
new:
|
|
0.9-15.20121210git6cfcad.el7
|
|
old:
|
|
fedora:
|
|
\----------
|
|
mailcap:
|
|
\----------
|
|
new:
|
|
2.1.48-2.fc27
|
|
old:
|
|
mutt:
|
|
\----------
|
|
new:
|
|
5:1.9.2-1.fc27
|
|
old:
|
|
perl-Time-Local:
|
|
\----------
|
|
new:
|
|
1:1.250-394.fc27
|
|
old:
|
|
tokyocabinet:
|
|
\----------
|
|
new:
|
|
1.4.48-9.fc27
|
|
old:
|
|
urlview:
|
|
\----------
|
|
new:
|
|
0.9-22.20131022git08767a.fc27
|
|
old:
|
|
opensuse:
|
|
\----------
|
|
exim:
|
|
\----------
|
|
new:
|
|
4.86.2-20.1
|
|
old:
|
|
libgc1:
|
|
\----------
|
|
new:
|
|
7.2d-11.3
|
|
old:
|
|
libgmime-2\_6-0:
|
|
\----------
|
|
new:
|
|
2.6.20-6.3
|
|
old:
|
|
libgpgme11:
|
|
\----------
|
|
new:
|
|
1.9.0-1.3
|
|
old:
|
|
libkyotocabinet16:
|
|
\----------
|
|
new:
|
|
1.2.76-16.1
|
|
old:
|
|
liblua5\_2:
|
|
\----------
|
|
new:
|
|
5.2.4-6.1
|
|
old:
|
|
libmysqlclient18:
|
|
\----------
|
|
new:
|
|
10.0.34-32.2
|
|
old:
|
|
libnotmuch4:
|
|
\----------
|
|
new:
|
|
0.22.1-3.17
|
|
old:
|
|
libpq5:
|
|
\----------
|
|
new:
|
|
9.6.8-15.1
|
|
old:
|
|
libspf2-2:
|
|
\----------
|
|
new:
|
|
1.2.10-8.1
|
|
old:
|
|
libtalloc2:
|
|
\----------
|
|
new:
|
|
2.1.10-2.3.1
|
|
old:
|
|
libxapian22:
|
|
\----------
|
|
new:
|
|
1.2.21-5.3
|
|
old:
|
|
mutt:
|
|
\----------
|
|
new:
|
|
1.8.2-1.7
|
|
old:
|
|
mutt-doc:
|
|
\----------
|
|
new:
|
|
1.8.2-1.7
|
|
old:
|
|
mutt-lang:
|
|
\----------
|
|
new:
|
|
1.8.2-1.7
|
|
old:
|
|
perl-Expect:
|
|
\----------
|
|
new:
|
|
1.32-5.1
|
|
old:
|
|
perl-IO-Tty:
|
|
\----------
|
|
new:
|
|
1.12-6.1
|
|
old:
|
|
python-curses:
|
|
\----------
|
|
new:
|
|
2.7.13-27.3.1
|
|
old:
|
|
python-urwid:
|
|
\----------
|
|
new:
|
|
1.3.0-6.2
|
|
old:
|
|
urlscan:
|
|
\----------
|
|
new:
|
|
0.8.3-1.2
|
|
old:
|
|
urlview:
|
|
\----------
|
|
new:
|
|
0.9-737.1
|
|
old:
|
|
w3m:
|
|
\----------
|
|
new:
|
|
0.5.3.git20161120-163.3
|
|
old:
|
|
ubuntu.lxd:
|
|
\----------
|
|
imap-client:
|
|
\----------
|
|
new:
|
|
1
|
|
old:
|
|
libgpgme11:
|
|
\----------
|
|
new:
|
|
1.10.0-1ubuntu1
|
|
old:
|
|
libtokyocabinet9:
|
|
\----------
|
|
new:
|
|
1.4.48-11
|
|
old:
|
|
mutt:
|
|
\----------
|
|
new:
|
|
1.9.4-3
|
|
old:
|
|
**opensuse:~ #**
|