Personal Landscape Server - mehrere Ubuntu Systeme im Netzwerk zentral verwalten
Posted by Guenny onIn den letzten Jahren erfreuten sich Konfigurationsmanagement Systeme (CM) großer Beliebtheit. Bekannteste Player auf dem Markt sind sicherlich Puppet, Saltstack, Chef oder Ansible. Alle diese Systeme haben ihre Vor- und Nachteile und sind als Community Edition für jeden verfügbar.
Ubuntu Landscape (Dedicated Server)
Canonical hat ein ähnliches Pferd im Stall, genannt Landscape, welches anders als die oben erwähnten Systeme nicht für heterogene Netze geeignet ist, sondern sich auf das eigene Betriebssystem konzentriert. Es lassen sich nur Ubuntu Server oder Clients damit zentral verwalten, überwachen oder aktualisieren.
Früher war das Systemmanagement-Tool nur im Zuge des Ubuntu Advantages Programm verfügbar, war mit Kosten verbunden und konnte nicht selbst gehostet werden. Inzwischen gibt es eine frei Version, welche 20 Linuxboxen erlaubt (10 virtuelle und 10 physische). Diese eignet sich für kleine Netze mit wenigen Clients, die zentral verwaltet werden wollen.
Lokale Installation Landscape Server
Das CM System lässt sich auf einem eigenen Server installieren. Da ein eigenes Repository der aktuellen Version 15.01 zur Verfügung steht, stellt dies keine große Hürde da. Als Basissystem ist ein Ubuntu Server 14.04 geeignet.
sudo add-apt-repository ppa:landscape/15.01
sudo apt-get update
sudo apt-get install landscape-server-quickstart
Nachdem die Installation abgeschlossen ist, kann unter https://landscape.local.de die Konfigurationsseite aufrufen werden. (Die Seite sollte über den DNS Namen aufgerufen werden, darum muss eventuell ein Eintrag in der Hosts gesetzt werden.
Auf der Startseite muss zunächst Benutzername und Passwort vergeben werden, um dann im Anschluss einen Zugriffschlüssel zu generieren. Mit diesem Schlüssel können sich später Clients am Server authentifizieren.
Die Generierung kann unter dem eigenen Konto (oben rechts) vorgenommen werden.
Landscape Client einrichten und System am Server anmelden
Auch der Client steht als fertiges Paket zur Verfügung ist ebenso schnell installiert.
sudo apt-get update
sudo apt-get install landscape-client
Auch hier sollte bei Bedarf die Hostdatei editiert werden.
echo "10.10.0.10 landscape.local.de landscape" > /etc/hosts
Nun muss der Client am Verwaltungsserver registriert werden, dies ist mit dem folgenden Befehl möglich.
Die Installation erfolgt danach interaktiv.
sudo landscape-config --computer-title "mein server" --account-name standalone --url https://landscape.local.de/message-system --ping-url http://landscape.local.de/ping
The Landscape client must be started on boot to operate correctly.Start Landscape client on boot? (Y/n): y
This script will interactively set up the Landscape client. It will
ask you a few questions about this computer and your Landscape
account, and will submit that information to the Landscape server.
After this computer is registered it will need to be approved by an
account administrator on the pending computers page.Please see https://landscape.canonical.com for more information.
A registration key may be associated with your Landscape
account to prevent unauthorized registration attempts. This
is not your personal login password. It is optional, and unless
explicitly set on the server, it may be skipped here.If you don't remember the registration key you can find it
at https://landscape.canonical.com/account/standalone
Account registration key: Schlüssel (der Eingangs generiert wurde) eingeben
The Landscape client communicates with the server over HTTP and
HTTPS. If your network requires you to use a proxy to access HTTP
and/or HTTPS web sites, please provide the address of these
proxies now. If you don't use a proxy, leave these fields empty.HTTP proxy URL:
HTTPS proxy URL:
Landscape has a feature which enables administrators to run
arbitrary scripts on machines under their control. By default this
feature is disabled in the client, disallowing any arbitrary script
execution. If enabled, the set of users that scripts may run as is
also configurable.Enable script execution? [y/N]y
Diese Funktion kann durchaus aktiviert werden, da Scripte immer eine praktische Sache sind und oft benötigt werden. Das Sicherheitsrisiko sollte jedoch bedacht werden. Genau aus diesem Grund können die Scriptanwender im nächsten Schritt weiter eingeschränkt werden.
By default, scripts are restricted to the 'landscape' and
'nobody' users. Please enter a comma-delimited list of users
that scripts will be restricted to. To allow scripts to be run
by any user, enter "ALL".Script users: user1,user2,user3
Auch Gruppen sind möglich
You may provide an access group for this computer e.g. webservers.
Access group: admins
Zu guter Letzt kann das System noch getagt werden, damit es im Verbund schneller zu identifizieren ist.
You may provide tags for this computer e.g. server,precise.Tags: landscape, demo, itrig, ubuntu, trusty
Nun startet der Client neu und scannt automatisch das Netz nach seinem Master.
Stopping landscape-client daemon [fail]
Starting the landscape-client daemon [ OK ]Request a new registration for this computer now? (Y/n): y
Please wait... We were unable to contact the server. Your internet connection may be down. The landscape client will continue to try and contact the server periodically.
Landscape Server mit selbstsigniertem Zertifikat einrichten
Wie der Fehlermeldung oben zu entnehmen ist, funktioniert die Verbindung zum Hauptserver anscheinend nicht. Praktischerweise schreibt Landscape unter /var/log/landscape ausführliche Logs.
ERROR [PoolThread-twisted.internet.reactor-1] Error contacting the server at https://landscape.local.de/message-system.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", line 71, in exchange
message_api)
File "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", line 45, in _curl
headers=headers, cainfo=self._pubkey, curl=curl))
File "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py", line 109, in fetch
raise PyCurlError(e.args[0], e.args[1])
PyCurlError: Error 60: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
2015-08-06 16:37:27,963 INFO [MainThread] Message exchange failed.
2015-08-06 16:37:27,963 INFO [MainThread] Message exchange completed in 0.18s.
Den Daten kann wiederum entnommen werden, dass ein Zertifikatsfehler vorliegt.
Das ist nicht weiter verwunderlich, denn es ist ein selbstsigniertes Zertifikat, welches dem Client nicht bekannt ist und deswegen nicht vertraut wird.
Die offizielle Landscape Anleitung empfiehlt ein offiziell signiertes Zertifikat, wirklich nötig ist dies nicht, denn die Struktur funktioniert auch mit einem selbstsignierten Zertifikat.
Lediglich ein wenig Kopierarbeit im Vorfeld ist notwendig.
Zertifikat vom Server kopieren
/etc/ssl/certs/landscape_server_ca.crt
und auf dem Client hinterlegen. Danach muss noch die /etc/landscape/client.conf angepasst werden
nano /etc/landscape/client.conf
ssl_public_key = /etc/landscape/landscape_server_ca.crtsudo service landscape-client restart
Und siehe da die Kommunikation mit dem Master funktioniert und der Client meldet sich via Oberfläche.
[MainThread] Starting urgent message exchange with https://landscape.local.de/message-system.
[PoolThread-twisted.internet.reactor-1] Sent 646 bytes and received 145 bytes in 2.44s.
[MainThread] Switching to normal exchange mode.
[MainThread] Server UUID changed (old=None, new=c744448a).
[MainThread] Accepted types changed: +test +register
[MainThread] Queueing message to register with account 'standalone' and tags xstudio,tomcat,apache,trusty with a password.
[MainThread] Starting message exchange with https://landscape.local.de/message-system.
[MainThread] Message exchange completed in 2.95s
Verwendung des Landscape Server
Die Verwendung des Server erfolgt über Kategorien, die einzelne Konfigurationen zulassen. So können unter "Alerts" die gewünschten Benachrichtigungen definiert werden. Diese setzen allerdings einen richtig konfigurierten Postfix Server auf dem Server selbst voraus.
Unter "Access Groups" können Geräte unterteilt oder über "Graphs/Scripts" verschiedene Befehle definiert werden. Auch Suchen lassen sich abspeichern. Der Punkt "MAAS" steht für Metal-as-a-Service und ist in dieser Konfiguration nicht installiert. Er ermöglicht das Ausrollen von fertig eingerichteten Paketen.
Die interessanteren Funktionen für das Gerätemanagement sind im Computerbereich untergebracht. Hier können die Hardwarreigenschaften eingesehen und Leistungsmerkmale (Monitoring) abgerufen werden.
Unter "Packages" kann definiert werden ob und wann neue Updates eingespielt werden sollen, auch eine Unterteilung in Sicherheits- und Normale Updates ist möglich. Der Punkt "Reports" bietet eine weitere Übersicht der Geräte und informiert beispielsweise über Clients die mit den momentan Update Einstellungen nicht berücksichtigt werden. (Doku)
Juju und Openstack
Zwei weitere Punkte werden im Landscape Menü gelistet, diese sollen hier nicht näher behandelt werden. Bei Juju handelt es sich um einen Tool welches für die Softwarepakete unter MAAS zuständig ist (Orchestration), sozusagen ein apt für die Cloud. So lassen sich darüber verknüpfte Software Templates definieren, um sie danach auf diverse Geräte auszurollen (Video).
Die Installation von Juju ist schnell erledigt.
sudo add-apt-repository ppa:juju/stable
sudo apt-get update
sudo apt-get install juju-quickstart
Ebenfalls neu im Boot ist Openstack, zwar noch als open beta, aber schon eingebunden. Voraussetzung dafür sind die Tools Maas, Juju und Landscape zusammen.
Fazit
Für kleine Unternehmen, die in ihrer Infrastruktur Ubuntu Geräte einsetzen und diese zentral verwalten möchten, bietet sich Landscape gut an. Gerade in Bezug auf Updates und Scripte ist ein zentraler Anlauf- und Installationspunkt gegeben. Auch das Monitoring der 20 Geräte passt gut ins Bild.
Größere Unternehmen müssen durchaus etwas tiefer in die Tasche greifen, wenn sie über die freie Anzahl an Ubuntu Geräten kommen. Hier bieten sich andere Anbieter wie Ansible oder Puppet eher an. Allerdings ist der Administrations- und Konfigurationsaufwand auch ungleich höher.
Trackbacks
Trackback specific URI for this entryThis link is not meant to be clicked. It contains the trackback URI for this entry. You can use this URI to send ping- & trackbacks from your own blog to this entry. To copy the link, right click and select "Copy Shortcut" in Internet Explorer or "Copy Link Location" in Mozilla.
No Trackbacks
Comments
Display comments as Linear | ThreadedNo comments