Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

agent K3s

Dans cette section, vous apprendrez à configurer l’agent K3s.

Notez que les serveurs exécutent également un agent, donc tous les drapeaux listés sur cette page sont également valables pour une utilisation sur les serveurs.

Les options sont documentées sur cette page sous forme de drapeaux CLI, mais peuvent également être passées en tant qu’options de fichier de configuration. Consultez la documentation sur le Fichier de configuration pour plus d’informations sur l’utilisation des fichiers de configuration YAML.

Consignation

Indicateur Par défaut Description

-v valeur

0

Numéro pour la verbosité du niveau de journalisation

--vmodule valeur

S/O

Liste séparée par des virgules des paramètres FILE_PATTERN=LOG_LEVEL pour la journalisation filtrée par fichier

--log value, -l valeur

S/O

Consigner dans le fichier

--alsologtostderr

S/O

Consigner dans l’erreur standard ainsi que dans le fichier (si défini)

Options de grappe

Indicateur Variable d’environnement Description

--token value, -t valeur

K3S_TOKEN

Token à utiliser pour l’authentification

--token-file valeur

K3S_TOKEN_FILE

Fichier de token à utiliser pour l’authentification

--server value, -s valeur

K3S_URL

Serveur auquel se connecter

de gestion à distance

Indicateur

Par défaut

Description

--bind-address

0.0.0.0

adresse de liaison k3s

Données

Indicateur Par défaut Description

--data-dir value, -d valeur

"/var/lib/rancher/k3s"

Dossier pour conserver l’état

Noeud

Indicateur Variable d’environnement Description

--node-name valeur

K3S_NODE_NAME

Nom du nœud

--with-node-id

S/O

Ajouter un identifiant au nom du nœud

--node-label valeur

S/O

Enregistrement et démarrage de kubelet avec un ensemble d’étiquettes

--node-taint valeur

S/O

Enregistrement de kubelet avec un ensemble de taints

--protect-kernel-defaults

S/O

Comportement de réglage du noyau Linux. Si défini, renvoie une erreur si les variables programmables du noyau Linux diffèrent des valeurs par défaut de kubelet.

--selinux

K3S_SELINUX

Activer SELinux dans containerd

--lb-server-port valeur

K3S_LB_SERVER_PORT

Port local pour le répartiteur de charge du client superviseur. Si le superviseur et l’apiserver ne sont pas co-localisés, un port supplémentaire, inférieur de 1 à ce port, sera également utilisé pour le répartiteur de charge du client apiserver. (par défaut : 6444)

Composant d’exécution

Indicateur Par défaut Description

--container-runtime-endpoint

S/O

Désactiver containerd intégré et utiliser le socket CRI au chemin donné ; lorsqu’il est utilisé avec --docker, cela définit le chemin du socket docker

--default-runtime

S/O

Définir le composant d’exécution par défaut dans containerd

--image-service-endpoint

S/O

Désactiver le service d’image containerd intégré et utiliser le socket de service d’image distant au chemin donné. Si non spécifié, par défaut à --container-runtime-endpoint.

--pause-image valeur

"docker.io/rancher/pause:3.1"

Image de pause personnalisée pour containerd ou sandbox docker

--private-registry valeur

"/etc/rancher/k3s/registries.yaml"

Fichier de configuration du registre privé

Réseautique

Indicateur Variable d’environnement Description

--node-ip value, -i valeur

S/O

Adresse IP à annoncer pour le nœud

--node-external-ip valeur

S/O

Adresse IP externe à annoncer pour le nœud

--node-internal-dns

S/O

Adresses DNS internes à annoncer pour le nœud

--node-external-dns

S/O

Adresses DNS externes à annoncer pour le nœud

--resolv-conf valeur

K3S_RESOLV_CONF

Fichier resolv.conf de kubelet

--flannel-iface valeur

S/O

Remplacer l’interface flannel par défaut

--flannel-conf valeur

S/O

Remplacer le fichier de configuration flannel par défaut

--flannel-cni-conf valeur

S/O

Remplacer le fichier de configuration cni flannel par défaut

Drapeaux personnalisés

Indicateur Description

--kubelet-arg valeur

Drapeau personnalisé pour le processus kubelet

--kube-proxy-arg valeur

Drapeau personnalisé pour le processus kube-proxy

Expérimental

Indicateur Description

--rootless

Exécuter sans privilèges

--docker

Utiliser cri-dockerd au lieu de containerd

--enable-pprof

Activer le point de terminaison pprof sur le port du superviseur

--prefer-bundled-bin

Préférer les binaires en espace utilisateur intégrés aux binaires hôtes

--disable-default-registry-endpoint

Voir "Solution de repli du point de terminaison par défaut"

--vpn-auth

Voir "Intégration avec le fournisseur VPN Tailscale"

--vpn-auth-file

Voir "Intégration avec le fournisseur VPN Tailscale"

Éléments éliminés

Indicateur Variable d’environnement Description

--no-flannel

S/O

Utilisation --flannel-backend=none

--cluster-secret valeur

K3S_CLUSTER_SECRET

Utilisation --token

Étiquettes et taints de nœud pour les agents

Les agents K3s peuvent être configurés avec les options --node-label et --node-taint qui ajoutent une étiquette et un taint au kubelet. Les deux options n’ajoutent que des étiquettes et/ou des taints au moment de l’enregistrement, elles ne peuvent donc être ajoutées qu’une seule fois et ne peuvent pas être modifiées par la suite en exécutant des commandes K3s.

Voici un exemple montrant comment ajouter des étiquettes et un taint :

     --node-label foo=bar \
     --node-label hello=world \
     --node-taint key1=value1:NoExecute

Si vous souhaitez modifier les étiquettes et les taints du nœud après son enregistrement, vous devez utiliser kubectl. Consultez la documentation officielle de Kubernetes pour des détails sur la façon d’ajouter taints et étiquettes de nœud.

Aide de la CLI de l’agent K3s

Si une option apparaît entre crochets ci-dessous, par exemple [$K3S_URL], cela signifie que l’option peut être passée en tant que variable d’environnement de ce nom.

NAME:
   k3s agent - Run node agent

USAGE:
   k3s agent [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)
   --token value, -t value                    (cluster) Token to use for authentication [$K3S_TOKEN]
   --token-file value                         (cluster) Token file to use for authentication [$K3S_TOKEN_FILE]
   --server value, -s value                   (cluster) Server to connect to [$K3S_URL]
   --data-dir value, -d value                 (agent/data) Folder to hold state (default: "/var/lib/rancher/k3s") [$K3S_DATA_DIR]
   --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")
   --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]
   --protect-kernel-defaults                  (agent/node) Kernel tuning behavior. If set, error if kernel tunables are different than kubelet defaults.
   --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.
   --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")
   --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
   --node-ip value, -i value                  (agent/networking) IPv4/IPv6 addresses to advertise for node
   --bind-address value                       (listener) k3s bind address (default: 0.0.0.0)
   --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
   --kubelet-arg value                        (agent/flags) Customized flag for kubelet process
   --kube-proxy-arg value                     (agent/flags) Customized flag for kube-proxy process
   --enable-pprof                             (experimental) Enable pprof endpoint on supervisor port
   --rootless                                 (experimental) Run rootless
   --prefer-bundled-bin                       (experimental) Prefer bundled userspace binaries over host binaries
   --docker                                   (agent/runtime) (experimental) Use cri-dockerd instead of containerd
   --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]
   --disable-apiserver-lb                     (agent/networking) (experimental) Disable the agent client-side load-balancer and connect directly to the configured server address