|
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. |
Konfigurationsoptionen
Diese Seite konzentriert sich auf die Optionen, die häufig verwendet werden, wenn K3s zum ersten Mal eingerichtet wird. Siehe die Dokumentation zu Erweiterte Optionen und Konfiguration sowie die Dokumentation der Server- und Agent-Befehle für eine detailliertere Abdeckung.
Konfiguration mit Installationsskript
Wie in der Kurzanleitung erwähnt, können Sie das Installationsskript unter https://get.k3s.io verwenden, um K3s als Dienst auf systemd- und openrc-basierten Systemen zu installieren.
Sie können eine Kombination aus INSTALL_K3S_EXEC, K3S_ Umgebungsvariablen und Befehlsflags verwenden, um Konfiguration an die Dienstkonfiguration zu übergeben.
Die vorangestellten Umgebungsvariablen, der INSTALL_K3S_EXEC Wert und die nachfolgenden Shell-Argumente werden alle in die Dienstkonfiguration übernommen.
Nach der Installation kann die Konfiguration durch Bearbeiten der Umgebungsdatei, Bearbeiten der Dienstkonfiguration oder einfaches erneutes Ausführen des Installationsprogramms mit neuen Optionen geändert werden.
Für SUSE® Rancher Prime: K3s müssen Sie INSTALL_K3S_ARTIFACT_URL verwenden, das auf die Prime Artifacts URL verweist.
Um dies zu veranschaulichen, führen die folgenden Befehle alle zum gleichen Verhalten, indem sie einen Server ohne Flannel und mit einem Token registrieren:
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="server" sh -s - --flannel-backend none --token 12345
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="server --flannel-backend none" K3S_TOKEN=12345 sh -s -
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_TOKEN=12345 sh -s - server --flannel-backend none
# server is assumed below because there is no K3S_URL
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="--flannel-backend none --token 12345" sh -s -
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s sh -s - --flannel-backend none --token 12345
Beim Registrieren eines Agents führen die folgenden Befehle alle zum gleichen Verhalten:
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="agent --server https://k3s.example.com --token mypassword" sh -s -
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s INSTALL_K3S_EXEC="agent" K3S_TOKEN="mypassword" sh -s - --server https://k3s.example.com
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_URL=https://k3s.example.com sh -s - agent --token mypassword
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_URL=https://k3s.example.com K3S_TOKEN=mypassword sh -s - # agent is assumed because of K3S_URL
Für Details zu allen Umgebungsvariablen siehe Umgebungsvariablen.
|
Hinweis
Wenn Sie die Konfiguration beim Ausführen des Installationsskripts festlegen, diese jedoch nicht erneut festlegen, wenn Sie das Installationsskript erneut ausführen, gehen die ursprünglichen Werte verloren. Der Inhalt der Konfigurationsdatei wird nicht vom Installationsskript verwaltet. Wenn Sie möchten, dass Ihre Konfiguration unabhängig vom Installationsskript ist, sollten Sie eine Konfigurationsdatei verwenden, anstatt Umgebungsvariablen oder Argumente an das Installationsskript zu übergeben. |
Konfiguration mit Binärdatei
Das Installationsskript befasst sich hauptsächlich mit der Konfiguration von K3s, um als Systemdienst zu laufen. Wenn Sie sich entscheiden, das Installationsskript nicht zu verwenden, können Sie K3s einfach ausführen, indem Sie die Binärdatei von unserer GitHub-Release-Seite herunterladen, sie in Ihren Pfad legen und sie ausführen. Dies ist für permanente Installationen nicht besonders nützlich, kann jedoch nützlich sein, wenn Sie schnelle Tests durchführen, die es nicht wert sind, K3s als Systemdienst zu verwalten.
curl -Lo /usr/local/bin/k3s <PRIME-ARTIFACTS-URL>/k3s/v1.35.1%2Bk3s1/k3s; chmod a+x /usr/local/bin/k3s
Sie können Konfiguration über das Setzen von K3S_ Umgebungsvariablen übergeben:
K3S_KUBECONFIG_MODE="644" k3s server
Oder Befehlsflags:
k3s server --write-kubeconfig-mode=644
Der k3s-Agent kann auch auf diese Weise konfiguriert werden:
k3s agent --server https://k3s.example.com --token mypassword
Für Details zur Konfiguration des K3s-Servers siehe die k3s server Dokumentation.
Für Details zur Konfiguration des K3s-Agenten siehe die k3s agent Dokumentation.
Sie können auch das --help Flag verwenden, um eine Liste aller verfügbaren Optionen und deren entsprechenden Umgebungsvariablen anzuzeigen.
|
Übereinstimmende Flags
Es ist wichtig, kritische Flags auf Ihren Serverknoten abzugleichen. Wenn Sie beispielsweise das Flag |
Konfiguration mit Container-Image
Das K3s-Container-Image (`docker.io/rancher/k3s`) unterstützt die gleichen Konfigurationsmethoden wie die auf der GitHub-Release-Seite verfügbare Binärdatei.
Konfigurationsdatei
Neben der Konfiguration von K3s mit Umgebungsvariablen und CLI-Argumenten kann K3s auch eine Konfigurationsdatei verwenden. Die Konfigurationsdatei wird unabhängig davon geladen, wie K3s installiert oder ausgeführt wird.
Standardmäßig wird die Konfiguration von /etc/rancher/k3s/config.yaml geladen, und Drop-in-Dateien werden in alphabetischer Reihenfolge von /etc/rancher/k3s/config.yaml.d/*.yaml geladen.
Dieser Pfad ist über das --config CLI-Flag oder die K3S_CONFIG_FILE Umgebungsvariable konfigurierbar.
Wenn der Standardname der Konfigurationsdatei überschrieben wird, wird auch der Pfad des Drop-in-Verzeichnisses geändert.
Ein Beispiel für eine grundlegende server Konfigurationsdatei ist unten:
write-kubeconfig-mode: "0644"
tls-san:
- "foo.local"
node-label:
- "foo=bar"
- "something=amazing"
cluster-init: true
Dies entspricht den folgenden CLI-Argumenten:
k3s server \
--write-kubeconfig-mode "0644" \
--tls-san "foo.local" \
--node-label "foo=bar" \
--node-label "something=amazing" \
--cluster-init
Im Allgemeinen entsprechen die CLI-Argumente ihren jeweiligen YAML-Schlüsseln, wobei wiederholbare CLI-Argumente als YAML-Listen dargestellt werden. Boolean-Flags werden im YAML-Dokument als true oder false dargestellt.
Es ist auch möglich, sowohl eine Konfigurationsdatei als auch CLI-Argumente zu verwenden. In diesen Situationen werden Werte aus beiden Quellen geladen, aber CLI-Argumente haben Vorrang. Für wiederholbare Argumente wie --node-label überschreiben die CLI-Argumente alle Werte in der Liste.
Verhalten beim Zusammenführen von Werten
Wenn in mehreren Dateien vorhanden, wird der zuletzt gefundene Wert für einen bestimmten Schlüssel verwendet. Ein ` kann an den Schlüssel angehängt werden, um den Wert an die vorhandene Zeichenkette oder den Abschnitt anzuhängen, anstatt ihn zu ersetzen. Alle Vorkommen dieses Schlüssels in nachfolgenden Dateien erfordern ebenfalls ein `, um das Überschreiben des angesammelten Wertes zu verhindern.
Ein Beispiel für Werte, die aus mehreren Konfigurationsdateien zusammengeführt wurden, ist unten aufgeführt:
token: boop
node-label:
- foo=bar
- bar=baz
write-kubeconfig-mode: 600
node-taint:
- alice=bob:NoExecute
write-kubeconfig-mode: 777
node-label:
- other=what
- foo=three
node-taint+:
- charlie=delta:NoSchedule
Dies führt zu einer endgültigen Konfiguration von:
write-kubeconfig-mode: 777
token: boop
node-label:
- other=what
- foo=three
node-taint:
- alice=bob:NoExecute
- charlie=delta:NoSchedule
Alles zusammenbringen
Alle oben genannten Optionen können in einem einzigen Beispiel kombiniert werden.
Eine config.yaml Datei wird unter /etc/rancher/k3s/config.yaml erstellt:
token: "secret"
debug: true
Dann wird das Installationsskript mit einer Kombination aus Umgebungsvariablen und Flags ausgeführt:
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="server" sh -s - --flannel-backend none
Oder wenn Sie die K3s-Binärdatei bereits installiert haben:
K3S_KUBECONFIG_MODE="644" k3s server --flannel-backend none
Dies führt zu einem Server mit:
-
Eine Kubeconfig-Datei mit Berechtigungen
644 -
Flannel-Backend auf
nonegesetzt -
Das Token auf
secretgesetzt -
Debug-Protokollierung aktiviert
Kubelet-Konfigurationsdateien
Kubernetes unterstützt die Konfiguration des Kubelets sowohl über CLI-Flags als auch über Konfigurationsdateien. Die Konfiguration des Kubelets über CLI-Flags läuft seit langem aus, wird jedoch weiterhin unterstützt und ist der einfachste Weg, um grundlegende Optionen festzulegen. Einige erweiterte Kubelet-Konfigurationen können nur über eine Konfigurationsdatei festgelegt werden. Für weitere Informationen siehe die Kubernetes-Dokumentation für das kubelet und Festlegen von Kubelet-Parametern über eine Konfigurationsdatei.
Die Unterstützung für Kubelet-Drop-in-Konfigurationsdateien oder die Konfigurationsdatei (Optionen 1 und 2 unten) ist nur in v1.32 und höher verfügbar. Für ältere Versionen sollten Sie die Kubelet-Argumente direkt verwenden (Option Nummer 3 unten).
K3s verwendet eine Standard-Kubelet-Konfiguration, die unter /var/lib/rancher/k3s/agent/etc/kubelet.conf.d/00-k3s-defaults.conf gespeichert ist. Wenn Sie die Standardkonfigurationsparameter ändern möchten, gibt es drei Möglichkeiten, dies zu tun:
-
Platzieren Sie eine Drop-in-Konfigurationsdatei in
/var/lib/rancher/k3s/agent/etc/kubelet.conf.d/(empfohlen). -
Durch die Verwendung des Flags
--kubelet-arg=config=$PATHTOFILE, wobei$PATHTOFILEder Pfad zu einer Datei ist, die Kubelet-Konfigurationsparameter enthält (z. B./etc/rancher/k3s/kubelet.conf), oder des Flags--kubelet-arg=config-dir=$PATHTODIR, wobei$PATHTODIRder Pfad zu einem Verzeichnis ist, das Dateien enthalten kann, die Kubelet-Konfigurationsparameter enthalten (z. B./etc/rancher/k3s/kubelet.conf.d). -
Durch die Verwendung des Flags
--kubelet-arg=$FLAG, wobei$FLAGein Kubelet-Konfigurationsparameter ist (z. B.image-gc-high-threshold=100).
Beim Mischen von Kubelet-CLI-Flags und Drop-in-Konfigurationsdateien achten Sie auf die Reihenfolge der Priorität.