Da kein Softwareprojekt dem anderen gleicht, gibt es auch keine Standardformel für ein erfolgreiches Container-Management. Sehr wohl existieren Best Practices, an die sich Entwickler und Administratoren halten sollten. Der IT-Dienstleister Consol stellt fünf Varianten vor.
Als Docker im März 2013 veröffentlicht wurde, waren Container in der Linux-Community schon mehr als zehn Jahre im Einsatz. Allerdings hat erst die Nutzerfreundlichkeit und Funktionsvielfalt von der Verwaltungslösung Docker die Container erst in den Mainstream gebracht. Eine Erfolgsgeschichte, die nun – wiederum zehn Jahre später – so einige Learnings und Best Practices hervorgebracht hat. Der IT-Dienstleister Consol zeigt fünf Best Practices.
1. Mandanten- und Verantwortungsmodell sorgfältig planen
Die Frage nach der Menge der eingesetzten logischen Cluster wird bei der Container-Orchestrierung oft zur Gretchenfrage: Während manche Administratoren meinen, ein großer Cluster für alle Projekte reiche aus, sind andere der Auffassung, dass pro Projekt ein Cluster genüge. Eine einheitliche Antwort auf diese Frage gibt es nicht. Die am besten passende Lösung hängt stets von individuellen Bedürfnissen oder Vorlieben ab – und von den eingesetzten Tools und deren Eigenschaften. Wichtig ist daher eine frühzeitige und sorgfältige Planung des Verantwortungsmodells. IT-Abteilungen müssen festlegen, für welchen Bestandteil der Infrastruktur und welche Aufgaben die jeweiligen Projektteams zuständig sind und ob diese Domäne sich überhaupt eindeutig isolieren lässt. Überschneiden sich Zuständigkeiten, sollten die Verantwortlichen zu Projektbeginn alle möglichen Stakeholder ins Boot holen, um Missverständnissen vorzubeugen.
2. Ressourcen-Verwaltung forcieren
Container-Orchestrierungstools wie Kubernetes trennen streng zwischen der zu betreibenden Software und der Hardware, auf der sie läuft. Die Systeme nehmen daher Instruktionen zum Scheduling von Workloads erst einmal pauschal an – egal ob die notwendigen Hardwareressourcen für die Prozesse zur Verfügung stehen. Das erschwert die Kapazitätsplanung seitens der Administratoren. Es ist daher unbedingt notwendig, dass die jeweiligen Workloads die für sie benötigten Ressourcen explizit deklarieren. Nur so können Orchestrierungstools die Ressourcen optimal verteilen. Das ist vor allem für den Schutz regulär laufender Container wichtig: Container ohne deklarierten Ressourcenbedarf sind potenziell gefährlich für alle anderen Workloads, die auf derselben Hardware laufen.
3. Automatisierung nutzen
Container-Orchestrierung hat viele Vorteile, zum Beispiel einen sehr flexiblen und zuverlässigen Betrieb. Ein wichtiger Aspekt ist allerdings auch, dass die Entwickler von Kubernetes und anderen Tools besonders die Automatisierung im Blick hatten. Daher sind heute unter anderem die Infrastrukturverwaltung über Infrastructure as Code, containerisierte Continuous-Integration-Pipelines sowie Deployments über GitOps möglich. Die verschiedenen Automatisierungsmöglichkeiten reduzieren nicht nur den manuellen Aufwand, sondern verbessern auch die Zuverlässigkeit – auf lange Sicht sogar die Nachvollziehbarkeit von Konfigurationen und deren Änderungen im Betrieb. Die klare Empfehlung daher: Soviel automatisieren, wie sinnvoll möglich ist.
4. Die Sicherheit stets im Auge behalten
Container Images enthalten nicht nur die auszuführende Software, sondern auch diverse Komponenten für deren Funktionalität wie beispielsweise Bibliotheken. Das ist ein großer Vorteil und erleichtert vieles, allerdings geht damit auch eine Verantwortung einher: Administratoren müssen diese Komponenten, wie die Software selbst, auf dem aktuellen Stand halten – nicht nur in deren Basis- oder Muster-Images, sondern auch in den aktiven Images, die sich gerade in Produktion befinden. Nur so können sie möglicherweise existierende Sicherheitslücken schließen und Bugs ausmerzen. Es ist daher unabdingbar, dass IT-Teams Prozesse definieren, die sie über notwendige Updates informieren, und festlegen, wie der Rollout von Updates vonstatten geht.
5. Öffentliche Image-Registries mit Vorsicht genießen
Registries wie der Docker Hub sind beliebte Quellen für alle möglichen Container-Images. Dort wurden und werden viele bahnbrechende Ideen getestet und entwickelt. Allerdings sollten Unternehmen diese öffentlich zugänglichen Sammlungen mit Open-Source-Software mit Vorsicht verwenden, denn das Qualitätsspektrum streut breit. Neben hochprofessionellen Images von Softwareherstellern gibt es auch fragwürdige Pakete, die besser unbeachtet bleiben. Eine gute Alternative zu Images aus öffentlichen Quellen ist eine private Image-Registry, die Mitarbeiter mit Expertenwissen auf diesem Gebiet kuratieren.
„Das Container-Management stellt Administratoren vor neue Herausforderungen“, betont Oliver Weise, Principal Software Engineer bei Consol. „Sie ergeben sich überwiegend aus den speziellen Eigenarten des Container-Betriebs. Beim Aufbau von Container-Plattformen und ihrer Verwaltung sollten Unternehmen sich daher an etablierten Best Practices orientieren: So können sie von den Praxiserfahrungen anderer Plattform-Teams profitieren.“ Jürgen Frisch
Anzeige
Clever digitalisieren – Mit Bordmitteln mehr erreichen
Unter dem Motto „Clever digitalisieren – mit Bordmitteln mehr erreichen!“ bietet die Trovarit bewährte Services und Werkzeuge (IT-Matchmaker®), mit denen Unternehmen
- den Einsatz ihrer vorhandenen Software-Landschaft effizient überprüfen,
- Optimierungspotenziale entdecken,
- eine verlässliche IT-Roadmap erstellen können,
um ihre Prozesse nachhaltig zu optimieren, ohne große Summen zu investieren.
Clever digitalisieren: Jetzt mehr erfahren