|
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. |
k3s-Server
In diesem Abschnitt lernen Sie, wie Sie den K3s-Server konfigurieren.
Bitte beachten Sie, dass Server auch einen Agenten ausführen, sodass alle in der `k3s agent`Dokumentation aufgeführten Konfigurationsoptionen auch auf Servern unterstützt werden.
Optionen sind auf dieser Seite als CLI-Flags dokumentiert, können aber auch als Optionen in der Konfigurationsdatei übergeben werden. Siehe die Dokumentation zur Konfigurationsdatei für weitere Informationen zur Verwendung von YAML-Konfigurationsdateien.
Kritische Konfigurationswerte
Die folgenden Optionen müssen auf allen Servern im Cluster auf denselben Wert gesetzt werden. Sofern dies nicht geschieht, können neue Server dem Cluster nicht beitreten, wenn eingebettetes etcd verwendet wird, oder der Cluster funktioniert nicht korrekt, wenn ein externer Datenspeicher verwendet wird.
-
--agent-token -
--cluster-cidr -
--cluster-dns -
--cluster-domain -
--disable-cloud-controller -
--disable-helm-controller -
--disable-network-policy -
--disable=servicelbHinweis: Andere verpackte Komponenten können serverseitig deaktiviert werden -
--egress-selector-mode -
--embedded-registry -
--flannel-backend -
--flannel-external-ip -
--flannel-ipv6-masq -
--secrets-encryption -
--secrets-encryption-provider -
--service-cidr
Häufig verwendete Optionen
Datenbank
| Flaggen | Umgebungsvariable | Standard | Beschreibung |
|---|---|---|---|
|
|
Geben Sie den Namen der Datenquelle für etcd, NATS, MySQL, Postgres oder SQLite an |
|
|
|
TLS-Zertifizierungsstellen-Datei, die zur Sicherung der Kommunikation mit dem Datenspeicher-Backend verwendet wird |
|
|
|
TLS-Zertifikatsdatei, die zur Sicherung der Kommunikation mit dem Datenspeicher-Backend verwendet wird |
|
|
|
TLS-Schlüsseldatei, die zur Sicherung der Kommunikation mit dem Datenspeicher-Backend verwendet wird |
|
|
false |
etcd-Metriken an die Client-Schnittstelle exponieren |
|
|
false |
Automatische etcd-Snapshots deaktivieren |
|
|
"etcd-snapshot-<unix-timestamp>" |
Legen Sie den Basisnamen der etcd-Snapshots fest. |
|
|
"0 */12 * * *" |
Snapshot-Intervallzeit im Cron-Schema, z. B. alle 5 Stunden '0 */5 _ * _' |
|
|
5 |
Anzahl der zu behaltenden Snapshots |
|
|
${data-dir}/db/snapshots |
Verzeichnis zum Speichern der db-Snapshots |
|
|
Backup zu S3 aktivieren |
||
|
"s3.amazonaws.com" |
S3-Endpunkt-URL |
|
|
S3 benutzerdefiniertes CA-Zertifikat zur Verbindung mit dem S3-Endpunkt |
||
|
Deaktiviert die SSL-Zertifikatsvalidierung für S3 |
||
|
|
S3-Zugriffsschlüssel |
|
|
|
S3-Geheimschlüssel |
|
|
S3-Bucket-Name |
||
|
"us-east-1" |
S3-Region / Bucket-Standort (optional) |
|
|
S3-Ordner |
||
|
Proxy-Server, der beim Verbinden mit S3 verwendet werden soll, wobei alle proxybezogenen Umgebungsvariablen überschrieben werden |
||
|
Name des Geheimnisses im kube-system-Namespace, das zur Konfiguration von S3 verwendet wird, wenn etcd-s3 aktiviert ist und keine anderen etcd-s3-Optionen festgelegt sind |
||
|
Deaktiviert S3 über HTTPS |
||
|
5m0s |
S3-Timeout (Standard: 5m0s) |
Clusteroptionen
| Flaggen | Umgebungsvariable | Beschreibung |
|---|---|---|
|
|
Geteiltes Geheimnis, das verwendet wird, um einen Server oder Agenten mit einem Cluster zu verbinden |
|
|
Datei, die das Cluster-Geheimnis/Token enthält |
|
|
Geteiltes Geheimnis, das verwendet wird, um Agenten mit dem Cluster zu verbinden, jedoch nicht Server |
|
|
Datei, die das Agenten-Geheimnis enthält |
|
|
Server, mit dem verbunden werden soll, um einem Cluster beizutreten |
|
|
Initialisieren Sie einen neuen Cluster mit eingebettetem Etcd |
|
|
Vergessen Sie alle Peers und werden Sie das einzige Mitglied eines neuen Clusters |
Admin Kubeconfig-Optionen
| Flaggen | Umgebungsvariable | Beschreibung |
|---|---|---|
|
|
Schreiben Sie die Kubeconfig für den Admin-Client in diese Datei |
|
|
Schreiben Sie die Kubeconfig mit diesem Modus. Die Kubeconfig-Datei gehört root und wird mit einem Standardmodus von 600 geschrieben. Ändern des Modus auf 644 ermöglicht es anderen unprivilegierten Benutzern auf dem Host, sie zu lesen. |
|
|
Schreiben Sie die Kubeconfig-Gruppe. In Kombination mit |
Erweiterte Optionen
Protokollierung
| Flaggen | Standard | Beschreibung |
|---|---|---|
|
Nicht zutreffend |
Aktivieren Sie die Debug-Protokolle |
|
0 |
Nummer für die Protokollebene der Detailgenauigkeit |
|
Nicht zutreffend |
Durch Kommas getrennte Liste von FILE_PATTERN=LOG_LEVEL-Einstellungen für dateigefiltertes Protokollieren |
|
Nicht zutreffend |
In Datei protokollieren |
|
Nicht zutreffend |
Protokolliere in den Standardfehler sowie in eine Datei (falls festgelegt) |
Listener
| Flaggen | Standard | Beschreibung |
|---|---|---|
|
0.0.0.0 |
k3s Bind-Adresse |
|
6443 |
HTTPS-Listenport |
|
node-external-ip/node-ip |
IPv4/IPv6-Adresse, die der apiserver für seinen Dienstendpunkt bewirbt |
|
Listenport/0 |
Port, den der apiserver verwendet, um den Mitgliedern des Clusters anzukündigen |
|
Nicht zutreffend |
Füge zusätzliche Hostnamen oder IPv4/IPv6-Adressen als Subject Alternative Names im TLS-Zertifikat hinzu |
|
true |
Schützen Sie das Server-TLS-Zertifikat, indem Sie Subject Alternative Names ablehnen, die nicht mit dem Kubernetes Apiserver-Dienst, den Serverknoten oder den Werten der tls-san-Option verknüpft sind. |
Daten
| Flaggen | Standard | Beschreibung |
|---|---|---|
|
|
Ordner zur Speicherung des Zustands |
Verschlüsselung von Geheimnissen
| Flaggen | Standard | Beschreibung |
|---|---|---|
|
false |
Aktivieren Sie die Verschlüsselung von Geheimnissen im Ruhezustand. |
|
aescbc |
Verschlüsselungsanbieter, der verwendet werden soll |
Netzwerke
| Flaggen | Standard | Beschreibung |
|---|---|---|
|
"10.42.0.0/16" |
IPv4/IPv6-Netzwerk-CIDRs, die für Pod-IPs verwendet werden sollen |
|
"10.43.0.0/16" |
IPv4/IPv6-Netzwerk-CIDRs, die für Service-IPs verwendet werden sollen |
|
"30000-32767" |
Portbereich, der für Dienste mit NodePort-Sichtbarkeit reserviert werden soll |
|
"10.43.0.10" |
IPv4-Cluster-IP für den coredns-Dienst. Sollte sich im Bereich Ihrer Service-CIDR befinden |
|
"cluster.local" |
Cluster-Domain |
|
"vxlan" |
Eines von 'none', 'vxlan', 'ipsec' (veraltet), 'host-gw', 'wireguard-native' oder 'wireguard' (veraltet) |
|
"N/A" |
Aktivieren Sie IPv6-Masquerading für Pods. |
|
"N/A" |
Verwenden Sie externe IP-Adressen der Knoten für Flannel-Verkehr |
|
"kube-system" |
Namespace der Pods für die servicelb-Komponente |
|
"agent" |
Muss eines der folgenden sein:
|
Speicherklasse
| Flaggen | Beschreibung |
|---|---|
|
Standardpfad für lokalen Speicher für die lokale Bereitstellungsspeicherklasse |
Kubernetes-Komponenten
| Flaggen | Beschreibung |
|---|---|
|
Siehe "Verwendung des |
|
Kubernetes-Standard-Scheduler deaktivieren |
|
K3s-Standard-Cloud-Controller-Manager deaktivieren |
|
Kube-Proxy deaktivieren |
|
K3s-Standard-Netzwerkrichtlinien-Controller deaktivieren |
|
Helm-Controller deaktivieren |
Angepasste Flags für Kubernetes-Prozesse
| Flaggen | Beschreibung |
|---|---|
|
Benutzerdefiniertes Flag für den etcd-Prozess |
|
Benutzerdefiniertes Flag für den kube-apiserver-Prozess |
|
Benutzerdefiniertes Flag für den kube-scheduler-Prozess |
|
Benutzerdefiniertes Flag für den kube-controller-manager-Prozess |
|
Benutzerdefiniertes Flag für den kube-cloud-controller-manager-Prozess |
|
Benutzerdefiniertes Flag für den kubelet-Prozess |
|
Benutzerdefiniertes Flag für den kube-proxy-Prozess |
Experimentelle Optionen
| Flaggen | Beschreibung |
|---|---|
|
Rootless ausführen |
|
Aktivieren Sie den pprof-Endpunkt am Supervisor-Port |
|
Verwenden Sie cri-dockerd anstelle von containerd |
|
Bevorzugen Sie gebündelte Benutzerspace-Binärdateien gegenüber Host-Binärdateien |
|
Siehe "Agentenlose Server ausführen" |
|
Siehe "Eingebetteter Registry-Spiegel" |
|
|
|
Auslaufende Optionen
| Flaggen | Umgebungsvariable | Beschreibung |
|---|---|---|
|
Nicht zutreffend |
Verwenden Sie |
|
Nicht zutreffend |
Verwenden Sie |
|
|
Verwenden Sie |
|
Nicht zutreffend |
Verwenden Sie |
|
Nicht zutreffend |
Verwenden Sie |
K3s Server Kommandozeilenschnittstelle Hilfe
Wenn eine Option in den Klammern unten erscheint, zum Beispiel
[$K3S_TOKEN], bedeutet das, dass die Option als Umgebungsvariable mit diesem Namen übergeben werden kann.
NAME:
k3s server - Run management server
USAGE:
k3s server [OPTIONS]
OPTIONS:
--config FILE, -c FILE (config) Load configuration from FILE (default: "/etc/rancher/k3s/config.yaml") [$K3S_CONFIG_FILE]
--debug (logging) Turn on debug logs [$K3S_DEBUG]
-v value (logging) Number for the log level verbosity (default: 0)
--vmodule value (logging) Comma-separated list of FILE_PATTERN=LOG_LEVEL settings for file-filtered logging
--log value, -l value (logging) Log to file
--alsologtostderr (logging) Log to standard error as well as file (if set)
--bind-address value (listener) k3s bind address (default: 0.0.0.0)
--https-listen-port value (listener) HTTPS listen port (default: 6443)
--advertise-address value (listener) IPv4/IPv6 address that apiserver uses to advertise to members of the cluster (default: node-external-ip/node-ip)
--advertise-port value (listener) Port that apiserver uses to advertise to members of the cluster (default: listen-port) (default: 0)
--tls-san value (listener) Add additional hostnames or IPv4/IPv6 addresses as Subject Alternative Names on the server TLS cert
--tls-san-security (listener) Protect the server TLS cert by refusing to add Subject Alternative Names not associated with the kubernetes apiserver service, server nodes, or values of the tls-san option (default: true)
--data-dir value, -d value (data) Folder to hold state default /var/lib/rancher/k3s or ${HOME}/.rancher/k3s if not root [$K3S_DATA_DIR]
--cluster-cidr value (networking) IPv4/IPv6 network CIDRs to use for pod IPs (default: 10.42.0.0/16)
--service-cidr value (networking) IPv4/IPv6 network CIDRs to use for service IPs (default: 10.43.0.0/16)
--service-node-port-range value (networking) Port range to reserve for services with NodePort visibility (default: "30000-32767")
--cluster-dns value (networking) IPv4 Cluster IP for coredns service. Should be in your service-cidr range (default: 10.43.0.10)
--cluster-domain value (networking) Cluster Domain (default: "cluster.local")
--flannel-backend value (networking) Backend (valid values: 'none', 'vxlan', 'host-gw', 'wireguard-native' (default: "vxlan") --flannel-ipv6-masq (networking) Enable IPv6 masquerading for pod
--flannel-external-ip (networking) Use node external IP addresses for Flannel traffic
--egress-selector-mode value (networking) One of 'agent', 'cluster', 'pod', 'disabled' (default: "agent")
--servicelb-namespace value (networking) Namespace of the pods for the servicelb component (default: "kube-system")
--write-kubeconfig value, -o value (client) Write kubeconfig for admin client to this file [$K3S_KUBECONFIG_OUTPUT]
--write-kubeconfig-mode value (client) Write kubeconfig with this mode [$K3S_KUBECONFIG_MODE]
--write-kubeconfig-group value (client) Write kubeconfig with this group [$K3S_KUBECONFIG_GROUP]
--helm-job-image value (helm) Default image to use for helm jobs
--token value, -t value (cluster) Shared secret used to join a server or agent to a cluster [$K3S_TOKEN]
--token-file value (cluster) File containing the token [$K3S_TOKEN_FILE]
--agent-token value (cluster) Shared secret used to join agents to the cluster, but not servers [$K3S_AGENT_TOKEN]
--agent-token-file value (cluster) File containing the agent secret [$K3S_AGENT_TOKEN_FILE]
--server value, -s value (cluster) Server to connect to, used to join a cluster [$K3S_URL]
--cluster-init (cluster) Initialize a new cluster using embedded Etcd [$K3S_CLUSTER_INIT]
--cluster-reset (cluster) Forget all peers and become sole member of a new cluster [$K3S_CLUSTER_RESET]
--cluster-reset-restore-path value (db) Path to snapshot file to be restored
--kube-apiserver-arg value (flags) Customized flag for kube-apiserver process
--etcd-arg value (flags) Customized flag for etcd process
--kube-controller-manager-arg value (flags) Customized flag for kube-controller-manager process
--kube-scheduler-arg value (flags) Customized flag for kube-scheduler process
--kube-cloud-controller-manager-arg value (flags) Customized flag for kube-cloud-controller-manager process
--datastore-endpoint value (db) Specify etcd, NATS, MySQL, Postgres, or SQLite (default) data source name [$K3S_DATASTORE_ENDPOINT]
--datastore-cafile value (db) TLS Certificate Authority file used to secure datastore backend communication [$K3S_DATASTORE_CAFILE]
--datastore-certfile value (db) TLS certification file used to secure datastore backend communication [$K3S_DATASTORE_CERTFILE]
--datastore-keyfile value (db) TLS key file used to secure datastore backend communication [$K3S_DATASTORE_KEYFILE]
--etcd-expose-metrics (db) Expose etcd metrics to client interface. (default: false)
--etcd-disable-snapshots (db) Disable automatic etcd snapshots
--etcd-snapshot-name value (db) Set the base name of etcd snapshots (default: etcd-snapshot-<unix-timestamp>) (default: "etcd-snapshot")
--etcd-snapshot-schedule-cron value (db) Snapshot interval time in cron spec. eg. every 5 hours '0 */5 * * *' (default: "0 */12 * * *")
--etcd-snapshot-retention value (db) Number of snapshots to retain (default: 5)
--etcd-snapshot-dir value (db) Directory to save db snapshots. (default: $\{data-dir}/db/snapshots)
--etcd-snapshot-compress (db) Compress etcd snapshot
--etcd-s3 (db) Enable backup to S3
--etcd-s3-endpoint value (db) S3 endpoint url (default: "s3.amazonaws.com")
--etcd-s3-endpoint-ca value (db) S3 custom CA cert to connect to S3 endpoint
--etcd-s3-skip-ssl-verify (db) Disables S3 SSL certificate validation
--etcd-s3-access-key value (db) S3 access key [$AWS_ACCESS_KEY_ID]
--etcd-s3-secret-key value (db) S3 secret key [$AWS_SECRET_ACCESS_KEY]
--etcd-s3-bucket value (db) S3 bucket name
--etcd-s3-region value (db) S3 region / bucket location (optional) (default: "us-east-1")
--etcd-s3-folder value (db) S3 folder
--etcd-s3-proxy value (db) Proxy server to use when connecting to S3, overriding any proxy-releated environment variables
--etcd-s3-config-secret value (db) Name of secret in the kube-system namespace used to configure S3, if etcd-s3 is enabled and no other etcd-s3 options are set
--etcd-s3-insecure (db) Disables S3 over HTTPS
--etcd-s3-timeout value (db) S3 timeout (default: 5m0s)
--default-local-storage-path value (storage) Default local storage path for local provisioner storage class
--disable value (components) Do not deploy packaged components and delete any deployed components (valid items: coredns, servicelb, traefik, local-storage, metrics-server, runtimes)
--disable-scheduler (components) Disable Kubernetes default scheduler
--disable-cloud-controller (components) Disable k3s default cloud controller manager
--disable-kube-proxy (components) Disable running kube-proxy
--disable-network-policy (components) Disable k3s default network policy controller
--disable-helm-controller (components) Disable Helm controller
--embedded-registry (experimental/components) Enable embedded distributed container registry; requires use of embedded containerd; when enabled agents will also listen on the supervisor port
--supervisor-metrics (experimental/components) Enable serving k3s internal metrics on the supervisor port; when enabled agents will also listen on the supervisor port
--node-name value (agent/node) Node name [$K3S_NODE_NAME]
--with-node-id (agent/node) Append id to node name
--node-label value (agent/node) Registering and starting kubelet with set of labels
--node-taint value (agent/node) Registering kubelet with set of taints
--image-credential-provider-bin-dir value (agent/node) The path to the directory where credential provider plugin binaries are located (default: "/var/lib/rancher/credentialprovider/bin")
--image-credential-provider-config value (agent/node) The path to the credential provider plugin config file (default: "/var/lib/rancher/credentialprovider/config.yaml")
--docker (agent/runtime) (experimental) Use cri-dockerd instead of containerd
--container-runtime-endpoint value (agent/runtime) Disable embedded containerd and use the CRI socket at the given path; when used with --docker this sets the docker socket path
--default-runtime value (agent/runtime) Set the default runtime in containerd
--image-service-endpoint value (agent/runtime) Disable embedded containerd image service and use remote image service socket at the given path. If not specified, defaults to --container-runtime-endpoint.
--disable-default-registry-endpoint (agent/containerd) Disables containerd fallback default registry endpoint when a mirror is configured for that registry
--nonroot-devices (agent/containerd) Allows non-root pods to access devices by setting device_ownership_from_security_context=true in the containerd CRI config
--pause-image value (agent/runtime) Customized pause image for containerd or docker sandbox (default: "rancher/mirrored-pause:3.6")
--snapshotter value (agent/runtime) Override default containerd snapshotter (default: "overlayfs")
--private-registry value (agent/runtime) Private registry configuration file (default: "/etc/rancher/k3s/registries.yaml")
--system-default-registry value (agent/runtime) Private registry to be used for all system images [$K3S_SYSTEM_DEFAULT_REGISTRY]
--node-ip value, -i value (agent/networking) IPv4/IPv6 addresses to advertise for node
--node-external-ip value (agent/networking) IPv4/IPv6 external IP addresses to advertise for node
--node-internal-dns value (agent/networking) internal DNS addresses to advertise for node
--node-external-dns value (agent/networking) external DNS addresses to advertise for node
--resolv-conf value (agent/networking) Kubelet resolv.conf file [$K3S_RESOLV_CONF]
--flannel-iface value (agent/networking) Override default flannel interface
--flannel-conf value (agent/networking) Override default flannel config file
--flannel-cni-conf value (agent/networking) Override default flannel cni config file
--vpn-auth value (agent/networking) (experimental) Credentials for the VPN provider. It must include the provider name and join key in the format name=<vpn-provider>,joinKey=<key>[,controlServerURL=<url>][,extraArgs=<args>] [$K3S_VPN_AUTH]
--vpn-auth-file value (agent/networking) (experimental) File containing credentials for the VPN provider. It must include the provider name and join key in the format name=<vpn-provider>,joinKey=<key>[,controlServerURL=<url>][,extraArgs=<args>] [$K3S_VPN_AUTH_FILE]
--kubelet-arg value (agent/flags) Customized flag for kubelet process
--kube-proxy-arg value (agent/flags) Customized flag for kube-proxy process
--protect-kernel-defaults (agent/node) Kernel tuning behavior. If set, error if kernel tunables are different than kubelet defaults.
--secrets-encryption Enable secret encryption at rest
--enable-pprof (experimental) Enable pprof endpoint on supervisor port
--rootless (experimental) Run rootless
--prefer-bundled-bin (experimental) Prefer bundled userspace binaries over host binaries
--selinux (agent/node) Enable SELinux in containerd [$K3S_SELINUX]
--lb-server-port value (agent/node) Local port for supervisor client load-balancer. If the supervisor and apiserver are not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer. (default: 6444) [$K3S_LB_SERVER_PORT]