|
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. |
serveur k3s
Dans cette section, vous apprendrez à configurer le serveur K3s.
Notez que les serveurs exécutent également un agent, donc toutes les options de configuration énumérées dans la k3s agent documentation sont également prises en charge 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.
Valeurs de configuration critiques
Les options suivantes doivent être définies avec la même valeur sur tous les serveurs du cluster. Le non-respect de cette consigne entraînera l’échec des nouveaux serveurs à rejoindre le cluster lors de l’utilisation d’etcd intégré, ou un fonctionnement incorrect du cluster lors de l’utilisation d’un magasin de données externe.
-
--agent-token -
--cluster-cidr -
--cluster-dns -
--cluster-domain -
--disable-cloud-controller -
--disable-helm-controller -
--disable-network-policy -
--disable=servicelbnote : d’autres composants empaquetés peuvent être désactivés sur une base par serveur -
--egress-selector-mode -
--embedded-registry -
--flannel-backend -
--flannel-external-ip -
--flannel-ipv6-masq -
--secrets-encryption -
--secrets-encryption-provider -
--service-cidr
Options couramment utilisées
Base de données
| Indicateur | Variable d’environnement | Par défaut | Description |
|---|---|---|---|
|
|
Spécifiez le nom de la source de données etcd, NATS, MySQL, Postgres ou SQLite |
|
|
|
Fichier d’autorité de certification TLS utilisé pour sécuriser la communication du backend de stockage de données |
|
|
|
Fichier de certificat TLS utilisé pour sécuriser la communication du backend de stockage de données |
|
|
|
Fichier de clé TLS utilisé pour sécuriser la communication du backend de stockage de données |
|
|
false |
Exposer les métriques etcd à l’interface client |
|
|
false |
Désactiver les instantanés automatiques d’etcd |
|
|
"etcd-snapshot-<unix-timestamp>" |
Définir le nom de base des instantanés etcd. |
|
|
"0 */12 * * *" |
Temps d’intervalle des instantanés dans la spécification cron. Par exemple, toutes les 5 heures '0 */5 _ * _' |
|
|
5 |
Nombre d’instantanés à conserver |
|
|
${data-dir}/db/snapshots |
Répertoire pour enregistrer les instantanés de la base de données |
|
|
Activer la sauvegarde vers S3 |
||
|
"s3.amazonaws.com" |
URL du point de terminaison S3 |
|
|
Certificat CA personnalisé S3 pour se connecter au point de terminaison S3 |
||
|
Désactive la validation des certificats SSL S3 |
||
|
|
Clé d’accès S3 |
|
|
|
Clé secrète S3 |
|
|
Nom du bucket S3 |
||
|
"us-east-1" |
Région S3 / emplacement du bucket (facultatif) |
|
|
Dossier S3 |
||
|
Serveur proxy à utiliser lors de la connexion à S3, remplaçant toutes les variables d’environnement liées au proxy |
||
|
Nom du secret dans l’espace de noms kube-system utilisé pour configurer S3, si etcd-s3 est activé et qu’aucune autre option etcd-s3 n’est définie |
||
|
Désactive S3 sur HTTPS |
||
|
5m0s |
Délai d’attente S3 (par défaut : 5m0s) |
Options de grappe
| Indicateur | Variable d’environnement | Description |
|---|---|---|
|
|
Secret partagé utilisé pour rejoindre un serveur ou un agent à un cluster |
|
|
Fichier contenant le secret/token du cluster |
|
|
Secret partagé utilisé pour rejoindre des agents au cluster, mais pas des serveurs |
|
|
Fichier contenant le secret de l’agent |
|
|
Serveur auquel se connecter, utilisé pour rejoindre un cluster |
|
|
Initialiser un nouveau cluster en utilisant etcd intégré |
|
|
Oublier tous les pairs et devenir le seul membre d’un nouveau cluster |
Options Kubeconfig administrateur
| Indicateur | Variable d’environnement | Description |
|---|---|---|
|
|
Écrire kubeconfig pour le client admin dans ce fichier |
|
|
Écrire kubeconfig avec ce mode. Le fichier kubeconfig est possédé par root et écrit avec un mode par défaut de 600. Changer le mode en 644 permettra à d’autres utilisateurs non privilégiés sur l’hôte de le lire. |
|
|
Écrire le groupe kubeconfig. En combinant avec |
Options avancées
Consignation
| Indicateur | Par défaut | Description |
|---|---|---|
|
S/O |
Activer les journaux de débogage |
|
0 |
Numéro pour le niveau de verbosité des journaux |
|
S/O |
Liste séparée par des virgules de paramètres FILE_PATTERN=LOG_LEVEL pour la journalisation filtrée par fichier |
|
S/O |
Consigner dans le fichier |
|
S/O |
Journaliser dans l’erreur standard ainsi que dans le fichier (si défini) |
Écouteurs
| Indicateur | Par défaut | Description |
|---|---|---|
|
0.0.0.0 |
Adresse de liaison k3s |
|
6443 |
port d’écoute HTTPS |
|
node-external-ip/node-ip |
Adresse IPv4/IPv6 que l’apiserver annonce pour son point de terminaison de service |
|
listen-port/0 |
Port que l’apiserver utilise pour annoncer aux membres du cluster |
|
S/O |
Ajouter des noms d’hôtes supplémentaires ou des adresses IPv4/IPv6 en tant que noms alternatifs de sujet sur le certificat TLS |
|
true |
Protéger le certificat TLS du serveur en refusant d’ajouter des noms alternatifs de sujet non associés au service apiserver de kubernetes, aux nœuds du serveur ou aux valeurs de l’option tls-san |
Données
| Indicateur | Par défaut | Description |
|---|---|---|
|
|
Dossier pour conserver l’état |
Chiffrement des secrets
| Indicateur | Par défaut | Description |
|---|---|---|
|
false |
Activer le chiffrement des secrets au repos |
|
aescbc |
Fournisseur de chiffrement à utiliser |
Réseautique
| Indicateur | Par défaut | Description |
|---|---|---|
|
"10.42.0.0/16" |
CIDR de réseau IPv4/IPv6 à utiliser pour les IP des pods |
|
"10.43.0.0/16" |
CIDR de réseau IPv4/IPv6 à utiliser pour les IP des services |
|
"30000-32767" |
Plage de ports à réserver pour les services avec visibilité NodePort |
|
"10.43.0.10" |
IP Cluster IPv4 pour le service coredns. Doit être dans votre plage de service-cidr |
|
"cluster.local" |
Domaine de cluster |
|
"vxlan" |
L’un de 'none', 'vxlan', 'ipsec' (déprécié), 'host-gw', 'wireguard-native' ou 'wireguard' (déprécié) |
|
"N/A" |
Activer le masquage IPv6 pour le pod |
|
"N/A" |
Utiliser les adresses IP externes des nœuds pour le trafic Flannel |
|
"kube-system" |
Espace de noms des pods pour le composant servicelb |
|
"agent" |
Doit être l’un des suivants :
|
Classe de stockage
| Indicateur | Description |
|---|---|
|
Chemin de stockage local par défaut pour la classe de stockage du provisionneur local |
Composants Kubernetes
| Indicateur | Description |
|---|---|
|
|
|
Désactiver le planificateur par défaut de Kubernetes |
|
Désactiver le gestionnaire de contrôleur de cloud par défaut de k3s |
|
Désactiver l’exécution de kube-proxy |
|
Désactiver le contrôleur de politique réseau par défaut de k3s |
|
Désactiver le contrôleur Helm |
Drapeaux personnalisés pour les processus Kubernetes
| Indicateur | Description |
|---|---|
|
Drapeau personnalisé pour le processus etcd |
|
Drapeau personnalisé pour le processus kube-apiserver |
|
Drapeau personnalisé pour le processus kube-scheduler |
|
Drapeau personnalisé pour le processus kube-controller-manager |
|
Drapeau personnalisé pour le processus kube-cloud-controller-manager |
|
Drapeau personnalisé pour le processus kubelet |
|
Drapeau personnalisé pour le processus kube-proxy |
Options expérimentales
| Indicateur | Description |
|---|---|
|
Exécuter sans privilèges |
|
Activer le point de terminaison pprof sur le port du superviseur |
|
Utiliser cri-dockerd au lieu de containerd |
|
Préférer les binaires utilisateurs intégrés aux binaires hôtes |
|
|
|
Voir "Miroir de registre intégré" |
|
|
|
Options obsolètes
| Indicateur | Variable d’environnement | Description |
|---|---|---|
|
S/O |
Utilisation |
|
S/O |
Utilisation |
|
|
Utilisation |
|
S/O |
Utilisation |
|
S/O |
Utiliser |
Aide CLI du serveur K3s
Si une option apparaît entre crochets ci-dessous, par exemple
[$K3S_TOKEN], cela signifie que l’option peut être passée en tant que variable d’environnement de ce nom.
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]