pronounced [meta-see]
Es ist Metacontroller und mehr. Die langfristige Vision von Metac ist die Bereitstellung eines Toolkits, mit dem Benutzer ihre Infrastrukturen auf Kubernetes verwalten können.
Metac begann, als die Entwicklung des Metacontrollers eingestellt wurde. Metac hat die meisten wichtigen Verbesserungen und Probleme im Metacontroller implementiert. Darüber hinaus sind einige der Funktionen von Metac eine Ableitung von Produktionsanforderungen von Projekten wie OpenEBS und LitmusChaos.
Metac ist ein Add-on für Kubernetes, das das Schreiben und Bereitstellen benutzerdefinierter Controller in Form einfacher Skripte erleichtert. Anhand verschiedener Beispielimplementierungen im Beispielordner können Sie sich ein Bild von der Implementierung von Controllern machen. Diese Beispiele zeigen verschiedene Ansätze und Programmiersprachen (einschließlich Jsonnet) zur Implementierung von Controllern.
Dies sind einige der Funktionen, die metac unterstützt:
Wenn Sie Metac über webbasierte Hooks verwenden möchten, kann Metac als StatefulSet mit Bildern bereitgestellt werden, die in dieser Registrierung gefunden werden. Wenn Sie jedoch Inline-Hooks verwenden möchten, müssen Sie Metac in Ihre Go-basierte Controller-Implementierung importieren. Darüber hinaus müssen Sie Go-Module verwenden, um die Masterversion von Metac in Ihre Codebasis zu importieren.
Falls Sie Metac über helm
bereitstellen möchten, verwenden Sie dieses Helmdiagramm.
Metac versucht, mit dem ursprünglichen Metacontroller kompatibel zu sein. Allerdings kann es zu bahnbrechenden Änderungen kommen, bei denen man vorsichtig sein muss. Wenn man den Metacontroller verwendet hat und versucht, Metac zu verwenden, sollte man sich der folgenden Änderungen bewusst sein:
apiVersion: metac.openebs.io/v1alpha1
metac.openebs.io/
metac
Namespace installiertWenn Sie von Metacontroller zu Metac migrieren, müssen Sie die Finalizer des alten Metacontrollers bereinigen. Sie können einen Befehl wie den folgenden verwenden:
kubectl get --no-headers --all-namespaces | awk '{print $2 " -n " $1}' | xargs -L1 -P 50 -r kubectl patch -p '{"metadata":{"finalizers": [null]}}' --type=merge
Dies sind die großen Schwerpunktbereiche von metac:
Dies ist die bestehende IE-Metacontroller-Site, die die meisten wichtigen Details zu Metacontroller bereitstellt. Da sich Metac bis auf neue Verbesserungen und Korrekturen nicht vom Metacontroller unterscheidet, gilt diese Dokumentationsseite.
Bitte reichen Sie GitHub-Probleme für Fehler, Funktionsanfragen und Vorschläge ein.
Nutzen Sie die Besprechungsnotizen/Agenda, um bestimmte Funktionen/Themen mit der Community zu besprechen.
Treten Sie dem #metacontroller-Kanal auf Kubernetes Slack bei.
Siehe CONTRIBUTING.md und den Leitfaden für Mitwirkende.
Dieses Projekt ist unter der Apache-Lizenz 2.0 lizenziert.
Unter den meisten Artikeln im Internet finde ich diesen sehr informativ. Es geht jedoch um Metacontroller, während Metac die meisten Lücken geschlossen hat, die ersterer hinterlassen hat.