mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-12-04 10:34:49 +02:00
92 lines
1.7 KiB
Markdown
92 lines
1.7 KiB
Markdown
salt-master
|
|
===========
|
|
|
|
![](https://badge.imagelayers.io/vimagick/salt-master:latest.svg)
|
|
|
|
Salt is a new approach to infrastructure management. Easy enough to get running
|
|
in minutes, scalable enough to manage tens of thousands of servers, and fast
|
|
enough to communicate with them in seconds.
|
|
|
|
Salt delivers a dynamic communication bus for infrastructures that can be used
|
|
for orchestration, remote execution, configuration management and much more.
|
|
|
|
This image contains `salt-master`/`salt-ssh` and other power tools:
|
|
|
|
- curl
|
|
- httpie
|
|
- ipython
|
|
- jq
|
|
- vim-tiny
|
|
|
|
## network topology
|
|
|
|
- master
|
|
- coreos: 192.168.1.1
|
|
- minions
|
|
- arch: 192.168.1.100
|
|
- debian: 192.168.1.101
|
|
- ubuntu: 192.168.1.102
|
|
|
|
## docker-compose.yml
|
|
|
|
```
|
|
master:
|
|
image: vimagick/salt-master
|
|
ports:
|
|
- "4505:4505"
|
|
- "4506:4506"
|
|
restart: always
|
|
```
|
|
|
|
## salt-master
|
|
|
|
```
|
|
$ cd ~/fig/salt/
|
|
$ docker-compose up -d
|
|
$ alias salt='docker exec -it salt_master_1 bash'
|
|
```
|
|
|
|
## salt-minion
|
|
|
|
```
|
|
# create roster
|
|
$ cat > /etc/salt/roster << _EOF_
|
|
arch:
|
|
host: 192.168.1.100
|
|
user: root
|
|
passwd: XcAreP36
|
|
debian:
|
|
host: 192.168.1.101
|
|
user: root
|
|
passwd: 0Q4yEQw7
|
|
ubuntu:
|
|
host: 192.168.1.102
|
|
user: root
|
|
passwd: pc2wW6Dv
|
|
_EOF_
|
|
|
|
# deploy master key
|
|
$ salt-ssh -i --passwd xxxxxx --key-deploy '*' test.ping
|
|
|
|
# install salt-minion
|
|
$ salt-ssh '*' -r 'curl -L https://bootstrap.saltstack.com | sudo sh -s -- -A 192.168.1.1'
|
|
|
|
# list minion keys
|
|
$ salt-key -L
|
|
|
|
# accept minion keys
|
|
$ salt-key -y -A
|
|
|
|
# ping minions
|
|
$ salt '*' test.ping
|
|
```
|
|
|
|
## backup volumes
|
|
|
|
```
|
|
$ docker run --rm --volumes-from salt_master_1 -v `pwd`:/backup debian tar cvzf /backup/salt-$(date +%F).tgz /etc/salt/ /srv/salt/
|
|
$ ls -l
|
|
-rw-r--r-- 1 root root 14243 Jul 8 21:37 salt-2015-07-08.tgz
|
|
```
|
|
|