Hi,
ich suche ein Programm für Debian, dass mir in einem großem Netzwerk Konfigurationsdateien verteilt und alte Konfigurationen löschen kann. Am besten soll das bei der nächsten Anmeldung des jeweiligen Hosts geschehen.
Dankbare
Diani
[SOLVED] Programm zur Konfig-Files-/Softwareverteilung gesucht
[SOLVED] Programm zur Konfig-Files-/Softwareverteilung gesucht
Zuletzt geändert von Diani am 21.07.2018 10:02:21, insgesamt 1-mal geändert.
- snyborg
- Beiträge: 256
- Registriert: 08.08.2007 22:07:32
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 127.0.0.1
Re: Programm zur Konfig-Files-/Softwareverteilung gesucht
Hi,
du kannst dir hierzu mal ansible anschauen. Wollte ich auch schon längst mal machen, habe aber gerade zuviele andere Sachen auf dem Tisch. Am liebsten hätte ich für die Konfigfiles gleich noch eine Versionverwaltung dazu...
Gruß,
sny
du kannst dir hierzu mal ansible anschauen. Wollte ich auch schon längst mal machen, habe aber gerade zuviele andere Sachen auf dem Tisch. Am liebsten hätte ich für die Konfigfiles gleich noch eine Versionverwaltung dazu...
Gruß,
sny
Wenn deine Freunde Linux haben, wechsel zu Linux.
Wenn deine Freunde BSD haben, wechsel zu BSD.
Wenn deine Freunde Windows haben, wechsel deine Freunde.
Wenn deine Freunde BSD haben, wechsel zu BSD.
Wenn deine Freunde Windows haben, wechsel deine Freunde.
Re: Programm zur Konfig-Files-/Softwareverteilung gesucht
ansible + ansible pull + git ist alles was man hierfür benötigt.
Ggf etwas duct-tape in form von shellscripten für spezielle Anwendungsfälle (z.b. ssh-fingerprint des git servers beim ersten login akzeptieren!); die können dann z.b. einfach durch ansible oder ein script das ansible-pull ausführt angestoßen werden.
Mit exakt dieser Kombination, allerdings mit relativ wenig Ansible (dank z.b. verbugtem OpenRC modul) und vielen modularen shellscripten, laufen hier alle neuen cliet-PCs (FreeBSD/TrueOS). Bei der automatischen Installation per PXE wird den systemen zusätzlich zur (etwas verkleinerten) Standardinstallation eigentlich nur ein kleines script für ansible-pull + ssh-key für den login am ssh server eingepflanzt und ein "@reboot" cronjob angelegt. Sämtliche Konfiguration nach der Installation wird dann von ansible + shellscripten erledigt und aus git repos bezogen...
Neue PCs werden einfach am DHCP für PXE und das client-netz eingetragen und installieren + konfigurieren dann komplett automatisch ohne manuellen Eingriff. Konfigurationsänderungen müssen nur ins entsprechende repository/branch (verschiedene branches z.b. für verschiedene netze/filialen) gepusht werden und werden dann automatisch von den clients angewendet (entweder @reboot oder */30 min intervall).
Positiver Nebeneffekt: man zwingt sich selbst zur sauberen Versionskontrolle per git und zur sauberen trennung in verschiedene branches (z.b. testing, production, legacy....)
Kleine steigerung dazu und hier aktuell im test: gitlab CI/CD, das bei push/merge ansible anstößt und die neuen Konfigurationen verteilt. Lässt sich auch sehr gut mit build-jobs koppeln, sodass man z.b. neue Paketversionen oder mit anderen build-optionen (z.b. BIND ohne tcp_fastopen) "on-demand" in einer frischen VM bauen und anschließend verteilen kann.
Hatte hierfür auch mal angefangen shims von gitlabCI zu vmadm (smartOS zones) und gitlabCI zu iocage (FreeBSD jails) zu bauen für die worker-instanzen; aber bisher wird einfach mit DigitalOcean getestet, da gibts fertige schnittstellen zur API...
Alternativ zu Ansible kannst du dir auch Chef, Puppet und Saltstack anschauen - jede hat eine etwas andere Ausrichtung und Mechanismen (push/pull; worker-dienste etc...).
Cloudinit kann ggf auch genutzt werden, speziell wenn es um automatische Konfiguration bzw pre-seeding von VMs geht (hauptsächlich grundlegende config wie Netzwerk, user, ssh-keys etc...)
Ggf etwas duct-tape in form von shellscripten für spezielle Anwendungsfälle (z.b. ssh-fingerprint des git servers beim ersten login akzeptieren!); die können dann z.b. einfach durch ansible oder ein script das ansible-pull ausführt angestoßen werden.
Mit exakt dieser Kombination, allerdings mit relativ wenig Ansible (dank z.b. verbugtem OpenRC modul) und vielen modularen shellscripten, laufen hier alle neuen cliet-PCs (FreeBSD/TrueOS). Bei der automatischen Installation per PXE wird den systemen zusätzlich zur (etwas verkleinerten) Standardinstallation eigentlich nur ein kleines script für ansible-pull + ssh-key für den login am ssh server eingepflanzt und ein "@reboot" cronjob angelegt. Sämtliche Konfiguration nach der Installation wird dann von ansible + shellscripten erledigt und aus git repos bezogen...
Neue PCs werden einfach am DHCP für PXE und das client-netz eingetragen und installieren + konfigurieren dann komplett automatisch ohne manuellen Eingriff. Konfigurationsänderungen müssen nur ins entsprechende repository/branch (verschiedene branches z.b. für verschiedene netze/filialen) gepusht werden und werden dann automatisch von den clients angewendet (entweder @reboot oder */30 min intervall).
Positiver Nebeneffekt: man zwingt sich selbst zur sauberen Versionskontrolle per git und zur sauberen trennung in verschiedene branches (z.b. testing, production, legacy....)
Kleine steigerung dazu und hier aktuell im test: gitlab CI/CD, das bei push/merge ansible anstößt und die neuen Konfigurationen verteilt. Lässt sich auch sehr gut mit build-jobs koppeln, sodass man z.b. neue Paketversionen oder mit anderen build-optionen (z.b. BIND ohne tcp_fastopen) "on-demand" in einer frischen VM bauen und anschließend verteilen kann.
Hatte hierfür auch mal angefangen shims von gitlabCI zu vmadm (smartOS zones) und gitlabCI zu iocage (FreeBSD jails) zu bauen für die worker-instanzen; aber bisher wird einfach mit DigitalOcean getestet, da gibts fertige schnittstellen zur API...
Alternativ zu Ansible kannst du dir auch Chef, Puppet und Saltstack anschauen - jede hat eine etwas andere Ausrichtung und Mechanismen (push/pull; worker-dienste etc...).
Cloudinit kann ggf auch genutzt werden, speziell wenn es um automatische Konfiguration bzw pre-seeding von VMs geht (hauptsächlich grundlegende config wie Netzwerk, user, ssh-keys etc...)
Re: [SOLVED] Programm zur Konfig-Files-/Softwareverteilung gesucht
Ich hätte hierzu auch noch eine Alternative für dich. Du kannst ein bash Script schreiben, welches dir diverse Dateien beim Computerstart (mit SUDO Rechten) austauscht.
Das ist eigentlich das einfachste und flexibelste finde ich.
Das ist eigentlich das einfachste und flexibelste finde ich.
Re: [SOLVED] Programm zur Konfig-Files-/Softwareverteilung gesucht
Ich möchte gerne noch Saltstack in den Ring werfen..
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Re: [SOLVED] Programm zur Konfig-Files-/Softwareverteilung gesucht
Obwohl schon solved: Wenn es noch einfacher sein soll, kann ich auch noch slack empfehlen.