|
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. |
Options de configuration
Cette page se concentre sur les options couramment utilisées lors de la configuration de K3s pour la première fois. Reportez-vous à la documentation sur Options avancées et configuration ainsi qu’à la documentation des commandes serveur et agent pour une couverture plus approfondie.
Configuration avec le script d’installation
Comme mentionné dans le Guide de démarrage rapide, vous pouvez utiliser le script d’installation disponible à https://get.k3s.io pour installer K3s en tant que service sur les systèmes basés sur systemd et openrc.
Vous pouvez utiliser une combinaison de INSTALL_K3S_EXEC, de K3S_ variables d’environnement et de drapeaux de commande pour passer la configuration à la configuration du service.
Les variables d’environnement préfixées, la valeur INSTALL_K3S_EXEC et les arguments de shell en fin de ligne sont tous conservés dans la configuration du service.
Après l’installation, la configuration peut être modifiée en éditant le fichier d’environnement, en modifiant la configuration du service, ou simplement en relançant l’installateur avec de nouvelles options.
Pour SUSE® Rancher Prime: K3s, vous devez utiliser INSTALL_K3S_ARTIFACT_URL qui pointe vers le URL des artefacts principaux
Pour illustrer cela, les commandes suivantes aboutissent toutes au même comportement d’enregistrement d’un serveur sans flannel et avec un token :
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
Lors de l’enregistrement d’un agent, les commandes suivantes aboutissent toutes au même comportement :
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
Pour des détails sur toutes les variables d’environnement, voir Variables d’environnement.
|
Remarque
Si vous définissez la configuration lors de l’exécution du script d’installation, mais que vous ne la définissez pas à nouveau lors de la relance du script d’installation, les valeurs originales seront perdues. Le contenu du fichier de configuration n’est pas géré par le script d’installation. Si vous souhaitez que votre configuration soit indépendante du script d’installation, vous devez utiliser un fichier de configuration au lieu de passer des variables d’environnement ou des arguments au script d’installation. |
Configuration avec binaire
Le script d’installation est principalement concerné par la configuration de K3s pour fonctionner en tant que service système. Si vous choisissez de ne pas utiliser le script d’installation, vous pouvez exécuter K3s simplement en téléchargeant le binaire depuis notre page de publication GitHub, en le plaçant dans votre chemin, et en l’exécutant. Cela n’est pas particulièrement utile pour des installations permanentes, mais peut être utile lors de tests rapides qui ne justifient pas la gestion de K3s en tant que service système.
curl -Lo /usr/local/bin/k3s <PRIME-ARTIFACTS-URL>/k3s/v1.35.1%2Bk3s1/k3s; chmod a+x /usr/local/bin/k3s
Vous pouvez passer la configuration en définissant des variables d’environnement K3S_ :
K3S_KUBECONFIG_MODE="644" k3s server
Ou drapeaux de commande :
k3s server --write-kubeconfig-mode=644
L’agent k3s peut également être configuré de cette manière :
k3s agent --server https://k3s.example.com --token mypassword
Pour des détails sur la configuration du serveur K3s, voir la k3s server documentation.
Pour des détails sur la configuration de l’agent K3s, voir la k3s agent documentation.
Vous pouvez également utiliser le drapeau --help pour voir une liste de toutes les options disponibles et de leurs variables d’environnement correspondantes.
|
Drapeaux correspondants
Il est important de faire correspondre les drapeaux critiques sur vos nœuds serveur. Par exemple, si vous utilisez le drapeau |
Configuration avec image de conteneur
L’image de conteneur K3s (`docker.io/rancher/k3s`) prend en charge les mêmes méthodes de configuration que le binaire disponible sur la page de publication GitHub.
Fichier de configuration
En plus de configurer K3s avec des variables d’environnement et des arguments CLI, K3s peut également utiliser un fichier de configuration. Le fichier de configuration est chargé indépendamment de la manière dont K3s est installé ou exécuté.
Par défaut, la configuration est chargée à partir de /etc/rancher/k3s/config.yaml, et les fichiers drop-in sont chargés à partir de /etc/rancher/k3s/config.yaml.d/*.yaml par ordre alphabétique.
Ce chemin est configurable via le drapeau CLI --config ou la variable d’environnement K3S_CONFIG_FILE.
Lors de la substitution du nom de fichier de configuration par défaut, le chemin du répertoire drop-in est également modifié.
Un exemple de fichier de configuration server de base est ci-dessous :
write-kubeconfig-mode: "0644"
tls-san:
- "foo.local"
node-label:
- "foo=bar"
- "something=amazing"
cluster-init: true
Ceci est équivalent aux arguments CLI suivants :
k3s server \
--write-kubeconfig-mode "0644" \
--tls-san "foo.local" \
--node-label "foo=bar" \
--node-label "something=amazing" \
--cluster-init
En général, les arguments CLI correspondent à leur clé YAML respective, les arguments CLI répétables étant représentés sous forme de listes YAML. Les indicateurs booléens sont représentés par true ou false dans le fichier YAML.
Il est également possible d’utiliser à la fois un fichier de configuration et des arguments CLI. Dans ces situations, les valeurs seront chargées à partir des deux sources, mais les arguments CLI auront la priorité. Pour les arguments répétables tels que --node-label, les arguments CLI écraseront toutes les valeurs de la liste.
Comportement de fusion des valeurs
S’il est présent dans plusieurs fichiers, la dernière valeur trouvée pour une clé donnée sera utilisée. Un ` peut être ajouté à la clé pour ajouter la valeur à la chaîne ou à la tranche existante, au lieu de la remplacer. Toutes les occurrences de cette clé dans les fichiers suivants nécessiteront également un ` pour éviter d’écraser la valeur accumulée.
Un exemple de valeurs fusionnées à partir de plusieurs fichiers de configuration est ci-dessous :
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
Cela donne une configuration finale de :
write-kubeconfig-mode: 777
token: boop
node-label:
- other=what
- foo=three
node-taint:
- alice=bob:NoExecute
- charlie=delta:NoSchedule
Rassembler le tout
Toutes les options ci-dessus peuvent être combinées en un seul exemple.
Un fichier config.yaml est créé à /etc/rancher/k3s/config.yaml :
token: "secret"
debug: true
Ensuite, le script d’installation est exécuté avec une combinaison de variables d’environnement et d’indicateurs :
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
Ou si vous avez déjà installé le binaire K3s :
K3S_KUBECONFIG_MODE="644" k3s server --flannel-backend none
Cela donne un serveur avec :
-
Un fichier kubeconfig avec des permissions
644 -
Backend Flannel défini sur
none -
Le token défini sur
secret -
Journalisation de débogage activée
Fichiers de configuration Kubelet
Kubernetes prend en charge la configuration du kubelet via des arguments CLI et des fichiers de configuration. La configuration du kubelet via des options CLI a depuis longtemps cessé la prise en charge, mais elle est toujours supportée et constitue le moyen le plus simple de définir des options de base. Certaines configurations avancées du kubelet ne peuvent être définies que via un fichier de configuration. Pour plus d’informations, consultez la documentation Kubernetes pour le kubelet et la définition des paramètres kubelet via un fichier de configuration.
Le support des fichiers drop-in pour le kubelet ou du fichier de configuration (options 1 et 2 ci-dessous) n’est disponible qu’à partir de la version v1.32 et supérieure. Pour les versions antérieures, vous devez utiliser directement les arguments du kubelet (option numéro 3 ci-dessous).
K3s utilise une configuration kubelet par défaut qui est stockée sous /var/lib/rancher/k3s/agent/etc/kubelet.conf.d/00-k3s-defaults.conf. Si vous souhaitez modifier les paramètres de configuration par défaut, il existe trois façons de le faire :
-
Placez un fichier drop-in dans
/var/lib/rancher/k3s/agent/etc/kubelet.conf.d/(recommandé). -
En utilisant l’option
--kubelet-arg=config=$PATHTOFILE, où$PATHTOFILEest le chemin vers un fichier contenant des paramètres de configuration du kubelet (par exemple,/etc/rancher/k3s/kubelet.conf) ou l’option--kubelet-arg=config-dir=$PATHTODIR, où$PATHTODIRest le chemin vers un répertoire pouvant inclure des fichiers contenant des paramètres de configuration du kubelet (par exemple,/etc/rancher/k3s/kubelet.conf.d). -
En utilisant l’option
--kubelet-arg=$FLAG, où$FLAGest un paramètre de configuration du kubelet (par exemple,image-gc-high-threshold=100).
Lors de la combinaison des options de ligne de commande du kubelet et des fichiers de configuration supplémentaires, faites attention à l’ordre de priorité.