Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Verpackte Komponenten verwalten

Automatisches Bereitstellen von Manifests (AddOns)

Auf Serverknoten wird jede Datei, die in /var/lib/rancher/k3s/server/manifests gefunden wird, automatisch ähnlich wie kubectl apply in Kubernetes bereitgestellt, sowohl beim Start als auch wenn die Datei auf der Festplatte geändert wird. Das Löschen von Dateien aus diesem Verzeichnis entfernt nicht die entsprechenden Ressourcen aus dem Cluster.

Manifests werden als AddOn benutzerdefinierte Ressourcen im kube-system Namespace verfolgt. Alle Fehler oder Warnungen, die beim Anwenden der Manifestdatei auftreten, können durch die Verwendung von kubectl describe auf dem entsprechenden AddOn oder durch die Verwendung von kubectl get event -n kube-system zur Anzeige aller Ereignisse für diesen Namespace, einschließlich derjenigen vom Bereitstellungscontroller, eingesehen werden.

Verpackte Komponenten

K3s wird mit einer Reihe von verpackten Komponenten geliefert, die als AddOns über das Manifests-Verzeichnis bereitgestellt werden: coredns, traefik, local-storage und metrics-server. Der eingebettete servicelb LoadBalancer-Controller hat keine Manifestdatei, kann jedoch aus historischen Gründen so deaktiviert werden, als ob er ein AddOn wäre.

Manifests für verpackte Komponenten werden von K3s verwaltet und sollten nicht verändert werden. Die Dateien werden jedes Mal auf die Festplatte geschrieben, wenn K3s gestartet wird, um ihre Integrität zu gewährleisten.

Benutzer-AddOns

Sie können zusätzliche Dateien im Manifests-Verzeichnis für die Bereitstellung als AddOn ablegen. Jede Datei kann mehrere Kubernetes-Ressourcen enthalten, die durch den --- YAML-Dokumentseparator getrennt sind. Für weitere Informationen zur Organisation von Ressourcen in Manifests siehe den Abschnitt Verwalten von Ressourcen der Kubernetes-Dokumentation.

Dateibenennungsanforderungen

Der AddOn Name für jede Datei im Manifestverzeichnis leitet sich vom Basisnamen der Datei ab. Stellen Sie sicher, dass alle Dateien im Manifests-Verzeichnis (oder in Unterverzeichnissen) Namen haben, die eindeutig sind und den Kubernetes Objektnamensbeschränkungen entsprechen. Es sollte auch darauf geachtet werden, keine Konflikte mit Namen zu verursachen, die von den standardmäßigen verpackten Komponenten von K3s verwendet werden, selbst wenn diese Komponenten deaktiviert sind.

Hier ist ein Beispiel für einen Fehler, der gemeldet wird, wenn der Dateiname Unterstriche enthält:

Fehler beim Verarbeiten der Konfiguration: konnte /var/lib/rancher/k3s/server/manifests/example_manifest.yaml nicht verarbeiten: Addon.k3s.cattle.io "example_manifest" ist ungültig: metadata.name: Ungültiger Wert: "example_manifest": ein Kleinbuchstaben-RFC 1123-Subdomain muss aus Kleinbuchstaben, alphanumerischen Zeichen, '-' oder '.' bestehen und muss mit einem alphanumerischen Zeichen beginnen und enden (z.B. 'example.com', der zur Validierung verwendete reguläre Ausdruck ist '[a-z0-9]([a-z0-9])?(\\.[a-z0-9]([-a-z0-9][a-z0-9])?)*')

Wenn Sie mehrere Serverknoten haben und zusätzliche AddOn-Manifeste auf mehr als einem Server platzieren, liegt es in Ihrer Verantwortung, sicherzustellen, dass die Dateien auf diesen Knoten synchron bleiben. K3s synchronisiert keine AddOn-Inhalte zwischen Knoten und kann kein korrektes Verhalten garantieren, wenn verschiedene Server versuchen, widersprüchliche Manifeste bereitzustellen.

Deaktivierung von Manifesten

Es gibt zwei Möglichkeiten, die Bereitstellung spezifischer Inhalte aus dem Manifests-Verzeichnis zu deaktivieren.

Verwendung des --disable Flags

Die oben aufgeführten AddOns für verpackte Komponenten sowie AddOns für zusätzliche Manifeste, die im manifests Verzeichnis platziert sind, können mit dem --disable Flag deaktiviert werden. Deaktivierte AddOns werden aktiv aus dem Cluster deinstalliert, und die Quelldateien werden aus dem manifests Verzeichnis gelöscht.

Um beispielsweise zu verhindern, dass Traefik in einem neuen Cluster installiert wird, oder um es zu deinstallieren und das Manifest aus einem bestehenden Cluster zu entfernen, können Sie K3s mit --disable=traefik starten. Mehrere Elemente können deaktiviert werden, indem ihre Namen durch Kommas getrennt werden oder indem das Flag wiederholt wird.

Verwendung von .skip-Dateien

Für jede Datei unter /var/lib/rancher/k3s/server/manifests können Sie eine .skip Datei erstellen, die K3s veranlasst, das entsprechende Manifest zu ignorieren. Der Inhalt der .skip Datei spielt keine Rolle, nur ihre Existenz wird überprüft. Beachten Sie, dass das Erstellen einer .skip Datei, nachdem ein AddOn bereits erstellt wurde, es nicht entfernt oder anderweitig ändert; die Datei wird einfach so behandelt, als ob sie nicht existiert hätte.

Wenn Sie beispielsweise eine leere traefik.yaml.skip Datei im Manifests-Verzeichnis erstellen, bevor K3s zum ersten Mal gestartet wird, wird K3s die Bereitstellung von traefik.yaml überspringen:

$ ls /var/lib/rancher/k3s/server/manifests
ccm.yaml      local-storage.yaml  rolebindings.yaml  traefik.yaml.skip
coredns.yaml  traefik.yaml

$ kubectl get pods -A
NAMESPACE     NAME                                     READY   STATUS    RESTARTS   AGE
kube-system   local-path-provisioner-64ffb68fd-xx98j   1/1     Running   0          74s
kube-system   metrics-server-5489f84d5d-7zwkt          1/1     Running   0          74s
kube-system   coredns-85cb69466-vcq7j                  1/1     Running   0          74s

Wenn Traefik bereits bereitgestellt wurde, bevor die traefik.skip Datei erstellt wurde, bleibt Traefik unverändert und wird von zukünftigen Aktualisierungen nicht betroffen sein, wenn K3s ein Upgrade erhält.

Helm AddOns

Für Informationen zur Verwaltung von Helm-Charts über automatisch bereitgestellte Manifeste, siehe den Abschnitt über Helm.