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.

SUSE Rancher Prime Options de Helm Chart

Cette page est une référence de configuration pour le Helm chart de Rancher.

Pour des informations sur l’activation des fonctionnalités expérimentales, référez-vous à Activation des fonctionnalités expérimentales.

Options communes

Option Valeur par défaut Description

bootstrapPassword

" "

string - Définir le mot de passe de démarrage pour le premier administrateur. Après s’être connecté, l’administrateur doit réinitialiser son mot de passe. Un mot de passe de démarrage généré aléatoirement est utilisé si cette valeur n’est pas définie.

hostname

" "

string - le nom de domaine complet pour votre serveur Rancher

ingress.tls.source

"rancher"

string - Où obtenir le certificat pour l’ingress. - "rancher, letsEncrypt, secret"

letsEncrypt.email

" "

string - Votre adresse électronique

letsEncrypt.environment

"production"

string - Options valides : "staging, production"

privateCA

false

bool - Défini sur vrai si votre certificat est signé par une CA privée

Options avancées

Option Valeur par défaut Description

additionalTrustedCAs

false

bool - Voir CA supplémentaires de confiance

addLocal

"true"

string - Faire détecter et importer la grappe locale Rancher (en amont). Remarque : Cette option n’est plus disponible dans v2.5.0. Envisagez d’utiliser l’option restrictedAdmin pour empêcher les utilisateurs de modifier la grappe locale.

agentTLSMode

""

string - soit system-store soit strict. Voir Application de TLS de l’agent

antiAffinity

"préféré"

string - Règle d’anti-affinité pour les pods Rancher - "préféré, requis"

auditLog.destination

"sidecar"

string - Diffuser vers la console du conteneur sidecar ou le volume hostPath - "sidecar, hostPath"

auditLog.hostPath

"/var/log/rancher/audit"

string - Destination du fichier journal sur l’hôte (s’applique uniquement lorsque auditLog.destination est défini sur hostPath)

auditLog.enabled

false

bool - Active / désactive la journalisation des audits.

auditLog.level

0

int - Définit le niveau de Journal d’audit API. [0-3]

auditLog.maxAge

1

int - Nombre maximum de jours pour conserver les anciens fichiers de journal d’audit (s’applique uniquement lorsque auditLog.destination est défini sur hostPath)

auditLog.maxBackup

1

int - Nombre maximum de fichiers de journal d’audit à conserver (s’applique uniquement lorsque auditLog.destination est défini sur hostPath)

auditLog.maxSize

100

int - taille maximale en mégaoctets du fichier journal d’audit avant qu’il ne soit tourné (s’applique uniquement lorsque auditLog.destination est défini sur hostPath)

auditLog.image.repository

"registry.suse.com/bci/bci-micro"

string - Emplacement de l’image utilisée pour collecter les journaux d’audit.

auditLog.image.tag

"15.4.14.3"

string - Tag pour l’image utilisée pour collecter les journaux d’audit.

auditLog.image.pullPolicy

"IfNotPresent"

string - Remplacer imagePullPolicy pour les images de journal d’audit - "Always", "Never", "IfNotPresent".

busyboxImage

""

string - Emplacement de l’image pour l’image busybox utilisée pour collecter les journaux d’audit. Remarque : Cette option est obsolète, utilisez auditLog.image.repository pour contrôler l’image sidecar d’audit.

certmanager.version

""

string - définir la compatibilité du cert-manager

debug

false

bool - définir le drapeau de débogage sur le serveur Rancher

extraEnv

[]

list - définir des variables d’environnement supplémentaires pour Rancher

imagePullSecrets

[]

list - liste des noms de la ressource Secret contenant les identifiants du registre privé

ingress.configurationSnippet

""

string - configuration Nginx supplémentaire. Peut être utilisé pour la configuration du proxy.

ingress.extraAnnotations

{}

map - annotations supplémentaires pour personnaliser l’ingress

ingress.enabled

true

string - Lorsqu’il est défini sur faux, Helm n’installera pas un ingress Rancher. Définissez l’option sur faux pour déployer votre propre ingress.

letsEncrypt.ingress.class

""

string - classe d’ingress optionnelle pour l’ingress acmesolver du cert-manager qui répond aux défis ACME de Let’s Encrypt. Options : traefik, nginx.

noProxy

"127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local,cattle-system.svc"

string - liste de noms d’hôtes ou d’adresses IP séparés par des virgules à ne pas utiliser avec le proxy

proxy

""

string - Serveur proxy HTTP[S] pour Rancher

image.registry

""

string - Remplacer le registre spécifique à l’image de rancher, par exemple, http://registry.example.com/

image.repository

"rancher/rancher"

string - Source d’image rancher

image.pullPolicy

"IfNotPresent"

string - Remplacer imagePullPolicy pour les images du serveur rancher - "Always", "Never", "IfNotPresent"

image.tag

""

string - Par défaut, .Chart.appVersion pour le tag d’image rancher/rancher

replicas

3

int - Nombre de répliques du serveur Rancher. Définir à -1 choisira dynamiquement 1, 2 ou 3 en fonction du nombre de nœuds disponibles dans le cluster.

resources

{}

map - demandes et limites de ressources des pods rancher

systemDefaultRegistry

""

string - registre privé à utiliser pour toutes les images de conteneurs système, par exemple, https://registry.example.com/

tls

"ingress"

string - Voir Termination TLS externe pour plus de détails. - "ingress, externe"

useBundledSystemChart

false

bool - sélectionner pour utiliser les charts système fournis avec le serveur Rancher. Cette option est utilisée pour les installations en isolation physique.

Mot de passe de démarrage

Vous pouvez définir un mot de passe de démarrage spécifique lors de l’installation de Rancher. Si vous ne définissez pas de mot de passe de démarrage spécifique, Rancher génère aléatoirement un mot de passe pour le premier compte administrateur.

Lorsque vous vous connectez pour la première fois, utilisez le mot de passe de démarrage que vous avez défini pour vous connecter. Si vous n’avez pas défini de mot de passe de démarrage, l’interface utilisateur de Rancher affiche des commandes qui peuvent être utilisées pour récupérer le mot de passe de démarrage. Exécutez ces commandes et connectez-vous au compte. Après vous être connecté pour la première fois, il vous est demandé de réinitialiser le mot de passe administrateur.

Journal d’audit API

Activation du Journal d’audit API.

Vous pouvez collecter ce journal comme vous le feriez pour tout journal de conteneur. Activez la journalisation pour le projet System sur le cluster du serveur Rancher.

--set auditLog.enabled=true --set auditLog.level=1

Par défaut, l’activation de la journalisation des audits créera un conteneur sidecar dans le pod Rancher. Ce conteneur (rancher-audit-log) diffusera le journal vers stdout. Vous pouvez collecter ce journal comme vous le feriez pour tout journal de conteneur. Lorsque vous utilisez le sidecar comme destination du journal d’audit, les options hostPath, maxAge, maxBackups et maxSize ne s’appliquent pas. Il est conseillé d’utiliser les fonctionnalités de rotation des journaux de votre système d’exploitation ou du démon Docker pour contrôler l’utilisation de l’espace disque. Activez la journalisation pour le cluster du serveur Rancher ou le projet système.

Définissez le auditLog.destination sur hostPath pour transférer les journaux vers un volume partagé avec le système hôte au lieu de les diffuser vers un conteneur sidecar. Lorsque vous définissez la destination sur hostPath, vous voudrez peut-être ajuster les autres paramètres auditLog pour la rotation des journaux.

Configuration de variables d’environnement supplémentaires

Vous pouvez définir des variables d’environnement supplémentaires pour le serveur Rancher en utilisant extraEnv. Cette liste est transmise au déploiement Rancher dans son format YAML. Elle est intégrée sous env pour le conteneur Rancher. Reportez-vous à la documentation Kubernetes pour définir des variables d’environnement de conteneur, extraEnv peut utiliser n’importe quelle des clés référencées dans Définir des variables d’environnement pour un conteneur.

Considérez un exemple qui utilise les clés name et value :

--set 'extraEnv[0].name=CATTLE_TLS_MIN_VERSION'
--set 'extraEnv[0].value=1.0'

Si vous passez des données sensibles comme valeur d’une variable d’environnement, telles que des informations d’identification d’authentification proxy, il est fortement recommandé d’utiliser une référence secrète. Cela empêchera les données sensibles d’être exposées dans Helm ou le déploiement Rancher.

Considérez un exemple qui utilise les clés name, valueFrom.secretKeyRef.name et valueFrom.secretKeyRef.key. Voir l’exemple dans HTTP Proxy

Paramètres TLS

Lorsque vous installez Rancher à l’intérieur d’un cluster Kubernetes, TLS est déchargé au niveau du contrôleur d’entrée du cluster. Les paramètres TLS possibles dépendent du contrôleur d’entrée utilisé.

Voir paramètres TLS pour plus d’informations et d’options.

Importer le cluster local

Par défaut, le serveur Rancher détectera et importera le cluster local sur lequel il s’exécute. L’utilisateur ayant accès au cluster local aura essentiellement un accès "root" à tous les clusters gérés par le serveur Rancher.

Si vous désactivez addLocal, la plupart des fonctionnalités de Rancher v2.5 ne fonctionneront pas, y compris le provisionneur EKS.

Si cela pose un problème dans votre environnement, vous pouvez définir cette option sur "false" lors de votre installation initiale.

Cette option n’est efficace que lors de l’installation initiale de Rancher. Voir Problème 16522 pour plus d’informations.

--set addLocal="false"

Personnaliser votre Ingress

Pour personnaliser ou utiliser un ingress différent avec le serveur Rancher, vous pouvez définir vos propres annotations d’Ingress.

Veuillez vous référer à la documentation de Traefik pour la liste complète des annotations d’Ingress NGINX qui sont soutenues et non soutenues par le fournisseur kubernetesIngressNginx de Traefik.

Exemple de définition d’un émetteur de certificat personnalisé :

--set ingress.extraAnnotations.'cert-manager\.io/cluster-issuer'=issuer-name

Proxy HTTP

Rancher nécessite un accès Internet pour certaines fonctionnalités (charts Helm). Utilisez proxy pour définir votre serveur proxy ou utilisez extraEnv pour définir la variable d’environnement HTTPS_PROXY pour pointer vers votre serveur proxy.

Ajoutez vos exceptions IP à la valeur du graphique noProxy sous forme de liste séparée par des virgules. Assurez-vous d’ajouter les valeurs suivantes :

  • Plage d’adresses IP du cluster Pod (par défaut : 10.42.0.0/16).

  • Plage d’adresses IP du cluster de services (par défaut : 10.43.0.0/16).

  • Domaines internes du cluster (par défaut : .svc,.cluster.local).

  • Tous les nœuds du cluster de travailleurs controlplane. Rancher prend en charge les plages de notation CIDR dans cette liste.

Lorsque vous n’incluez pas de données sensibles, les options de graphique proxy ou extraEnv peuvent être utilisées. Lors de l’utilisation de extraEnv, l’option Helm noProxy est ignorée. Par conséquent, la variable d’environnement NO_PROXY doit également être définie avec extraEnv.

Voici un exemple de configuration d’un proxy en utilisant l’option de graphique proxy :

--set proxy="http://<proxy_url:proxy_port>/"

Exemple de configuration d’un proxy en utilisant l’option de graphique extraEnv :

--set extraEnv[1].name=HTTPS_PROXY
--set extraEnv[1].value="http://<proxy_url>:<proxy_port>/"
--set extraEnv[2].name=NO_PROXY
--set extraEnv[2].value="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"

Lors de l’inclusion de données sensibles, telles que les informations d’authentification du proxy, utilisez l’option extraEnv avec valueFrom.secretRef pour empêcher l’exposition de données sensibles dans Helm ou lors du déploiement de Rancher.

Voici un exemple d’utilisation de extraEnv pour configurer un proxy. Ce secret d’exemple contiendrait la valeur "http://<username>:<password>@<proxy_url>:<proxy_port>/" dans la clé "https-proxy-url" du secret :

--set extraEnv[1].name=HTTPS_PROXY
--set extraEnv[1].valueFrom.secretKeyRef.name=secret-name
--set extraEnv[1].valueFrom.secretKeyRef.key=https-proxy-url
--set extraEnv[2].name=NO_PROXY
--set extraEnv[2].value="127.0.0.0/8\,10.0.0.0/8\,172.16.0.0/12\,192.168.0.0/16\,.svc\,.cluster.local"

Pour en savoir plus sur la configuration des variables d’environnement, reportez-vous à Définir les variables d’environnement pour un conteneur.

CA de confiance supplémentaires

Si vous avez des registres privés, des catalogues ou un proxy qui intercepte les certificats, vous devrez peut-être ajouter d’autres CA de confiance à Rancher.

--set additionalTrustedCAs=true

Une fois le déploiement de Rancher créé, copiez vos certificats CA au format pem dans un fichier nommé ca-additional.pem et utilisez kubectl pour créer le secret tls-ca-additional dans l’espace de noms cattle-system.

kubectl -n cattle-system create secret generic tls-ca-additional --from-file=ca-additional.pem=./ca-additional.pem

Registre privé et installations en isolation physique

Pour des détails sur l’installation de Rancher avec un registre privé, consultez les documents d’installation en isolation physique.

Terminaison TLS externe

Nous recommandons de configurer votre équilibreur de charge en tant qu’équilibreur de couche 4, en transférant le trafic non chiffré sur les ports 80/tcp et 443/tcp vers les nœuds du cluster de gestion Rancher. Le contrôleur Ingress sur le cluster redirigera le trafic http sur le port 80 vers https sur le port 443.

Vous pouvez terminer le SSL/TLS sur un équilibreur de charge L7 externe au cluster Rancher (ingress). Utilisez l’option --set tls=external et dirigez votre équilibreur de charge vers le port http 80 sur tous les nœuds du cluster Rancher. Cela exposera l’interface Rancher sur le port http 80. Soyez conscient que les clients autorisés à se connecter directement au cluster Rancher ne seront pas chiffrés. Si vous choisissez de le faire, nous recommandons de restreindre l’accès direct au niveau du réseau uniquement à votre équilibreur de charge.

Si vous utilisez un certificat signé par une CA privée (ou si agent-tls-mode est défini sur strict), ajoutez --set privateCA=true et consultez Ajout de secrets TLS - Utilisation d’un certificat signé par une CA privée pour ajouter le certificat CA pour Rancher.

Votre équilibreur de charge doit prendre en charge les connexions websocket à longue durée de vie et devra insérer des en-têtes proxy afin que Rancher puisse acheminer les liens correctement.

En-têtes requis

  • Host

  • X-Forwarded-Proto

  • X-Forwarded-Port

  • X-Forwarded-For

  • Timeout de lecture : 1800 seconds

  • Timeout d’écriture : 1800 seconds

  • Timeout de connexion : 30 seconds

Bilans de santé

Rancher répondra 200 aux vérifications de santé sur le point de terminaison /healthz.