- Vue d'ensemble (Overview)
- Prérequis
- Recommandé : modèles de déploiement
- Manuel : Préparation de l'installation
- Manuel : Préparation de l'installation
- Étape 1 : Configuration du registre compatible OCI pour les installations hors ligne
- Étape 2 : configuration du magasin d'objets externe
- Étape 3 : Configuration de High Availability Add-on
- Étape 4 : configurer Microsoft SQL Server
- Étape 5 : configurer l’équilibreur de charge
- Étape 6 : configurer le DNS
- Étape 7 : configuration des disques
- Étape 8 : configurer les paramètres au niveau du noyau et du système d’exploitation
- Étape 9 : configuration des ports de nœud
- Étape 10 : appliquer divers paramètres
- Étape 12 : Valider et installer les packages RPM requis
- Étape 13 : génération du fichier cluster_config.json
- Exemple Cluster_config.json
- Configuration générale
- Configuration du profil
- Configuration du certificat
- Configuration de la base de données
- Configuration du magasin d'objets externe
- Configuration d'URL pré-signée
- Configuration d'ArgoCD
- Configuration du registre externe compatible OCI
- Disaster Recovery : configurations actif/passif et actif/actif
- Configuration de High Availability Add-on
- Configuration spécifique à Orchestrator
- Configuration spécifique à Insights
- Configuration spécifique à Process Mining
- Configuration spécifique à Document Understanding
- Configuration spécifique à Automation Suite Robots
- Configuration spécifique à AI Center
- Configuration de la surveillance
- Facultatif : configuration du serveur proxy
- Facultatif : Activation de la résilience aux échecs locaux dans un cluster en mode production multi-nœuds compatible haute disponibilité
- Facultatif : Transmettre le fichier personnalisé resolv.conf
- Facultatif : augmentation de la tolérance aux pannes
- Ajout d'un nœud d'agent dédié avec prise en charge GPU
- Ajout d'un nœud d'agent dédié pour Task Mining
- Connexion de l'application Task Mining
- Ajout d'un nœud d'agent dédié pour les Automation Suite Robots
- Étape 15 : configuration du registre Docker temporaire pour les installations hors ligne
- Étape 16 : validation des prérequis de l’installation
- Manuel : Exécution de l'installation
- Post-installation
- Administration du cluster
- Gestion des produits
- Premiers pas avec le portail d'administration du cluster
- Migration d'un magasin d'objets d'un volume persistant vers des disques bruts
- Migration de High Availability Add-on du cluster vers une version externe
- Migration des données entre les librairies
- Migration d'un magasin d'objets intégré au cluster vers un magasin d'objets externe
- Migration vers un registre externe compatible OCI
- Basculer manuellement vers le cluster secondaire dans une configuration actif/passif
- Disaster Recovery : exécution d'opérations post-installation
- Conversion d'une installation existante en configuration multi-sites
- Recommandations pour mettre à niveau un déploiement actif/passif ou actif/actif
- Recommandations pour sauvegarder et restaurer un déploiement actif/passif ou actif/actif
- Surveillance et alerte
- Migration et mise à niveau
- Migration entre les clusters Automation Suite
- Mettre à niveau Automation Suite
- Téléchargement des packages d'installation et obtention de l'ensemble des fichiers sur le premier nœud de serveur
- Récupération de la dernière configuration appliquée à partir du cluster
- Mise à jour de la configuration du cluster
- Configuration du registre compatible OCI pour les installations hors ligne
- Exécution de la mise à niveau
- Exécution d'opérations post-mise à niveau
- Appliquer un correctif
- Configuration spécifique au produit
- Configuration des paramètres d'Orchestrator
- Configuration des paramètres d'application
- Configuration de la taille maximale de la requête
- Remplacement de la configuration du stockage au niveau du cluster
- Configuration de NLog
- Enregistrement des journaux du robot dans Elasticsearch
- Configuration des magasins d'informations d'identification
- Configuration de la clé de chiffrement par locataire
- Nettoyer la base de données Orchestrator
- Rotation des informations d’identification de stockage d’objets blob
- Désactivation de l'utilisation d'URL pré-signées lors du téléchargement de données vers le stockage Amazon S3
- Configuration de la sécurité de l'application de processus
- Configurer une authentification Kerberos avec l’authentification MSSQL de base pour Process Mining
- Bonnes pratiques et maintenance
- Résolution des problèmes
- Comment résoudre les problèmes des services lors de l'installation
- Comment désinstaller le cluster
- Comment nettoyer les artefacts hors ligne pour améliorer l'espace disque
- Comment effacer les données Redis
- Comment activer la journalisation Istio
- Comment nettoyer manuellement les journaux
- Comment nettoyer les anciens journaux stockés dans le compartiment sf-logs
- Comment désactiver les journaux de diffusion pour AI Center
- Comment déboguer les installations d'Automation Suite ayant échoué
- Comment supprimer des images de l’ancien programme d’installation après la mise à niveau
- Comment désactiver le déchargement de la somme de contrôle txt
- Comment définir manuellement le niveau de journalisation d’ArgoCD sur Info
- Comment augmenter le stockage d’AI Center
- Comment générer la valeur pull_secret_value encodée pour les registres externes
- Comment résoudre les chiffrements faibles dans TLS 1.2
- Comment vérifier la version TLS
- Comment planifier la sauvegarde et la restauration des données Ceph
- Impossible d'exécuter une installation hors ligne sur le système d'exploitation RHEL 8.4
- Erreur lors du téléchargement du bundle
- L'installation hors ligne échoue en raison d'un fichier binaire manquant
- Problème de certificat dans l'installation hors ligne
- Erreur de validation de la chaîne de connexion SQL
- Échec de la vérification des prérequis pour le module selinux iscsid
- Disque Azure non marqué comme SSD
- Échec après la mise à jour du certificat
- L'antivirus provoque des problèmes d'installation
- Automation Suite ne fonctionne pas après la mise à niveau du système d'exploitation
- Automation Suite requiert que backlog_wait_time soit défini sur 0
- Volume impossible à monter car il n'est pas prêt pour les charges de travail
- Échec de la collecte du journal du pack d'assistance
- Data loss when reinstalling or upgrading Insights following Automation Suite upgrade
- Unable to access Automation Hub following upgrade to Automation Suite 2024.10.0
- Échec de la mise à niveau du nœud unique à l’étape Fabric
- Échec de la mise à niveau en raison d’un Ceph défectueux
- RKE2 ne démarre pas en raison d'un problème d'espace
- Le volume ne peut pas être monté et reste à l'état de boucle d'attachement/détachement
- La mise à niveau échoue en raison d’objets classiques dans la base de données Orchestrator
- Cluster Ceph trouvé dans un état dégradé après une mise à niveau côte à côte
- Un composant Insights défectueux entraîne l’échec de la migration
- La mise à niveau du service échoue pour Apps
- Délais d'attente de mise à niveau sur place
- Migration du registre Docker bloquée lors de la suppression du PVC
- Échec de l’enregistrement d’AI Center après la mise à niveau vers la version 2023.10 ou une version ultérieure
- La mise à niveau échoue dans les environnements hors ligne
- Échec de la validation SQL lors de la mise à niveau
- Le pod d'instantané-contrôleur-crds dans l'état CrashLoopBackOff après la mise à niveau
- Échec du chargement ou du téléchargement des données dans l'objectstore
- Le redimensionnement de la PVC ne répare pas Ceph
- Échec du redimensionnement du PVC objectstore
- Rook Ceph ou pod Looker bloqué dans l'état Init
- Erreur de pièce jointe du volume Ensembles d'états.
- Échec de la création de volumes persistants
- Définition d'un délai d'expiration pour les portails de gestion
- L'authentification ne fonctionne pas après la migration
- kinit : Impossible de trouver le KDC pour le domaine <AD Domain> lors de l'obtention des informations d'identification initiales
- Kinit : Keytab ne contient aucune clé appropriée pour *** lors de l'obtention des informations d'identification initiales
- L'opération GSSAPI a échoué en raison d'un code de statut non valide
- Alarme reçue pour l'échec de la tâche Kerberos-tgt-update
- Fournisseur SSPI : serveur introuvable dans la base de données Kerberos
- La connexion a échoué pour l'utilisateur AD en raison d'un compte désactivé
- Échec de connexion à ArgoCD
- Mettre à jour les connexions du répertoire sous-jacent
- Partial failure to restore backup in Automation Suite 2024.10.0
- Impossible d'obtenir l'image du bac à sable
- Les pods ne s'affichent pas dans l'interface utilisateur ArgoCD
- Échec de la sonde Redis
- Le serveur RKE2 ne démarre pas
- Secret introuvable dans l'espace de noms UiPath
- ArgoCD passe à l'état Progression (Progressing) après la première installation
- Pods MongoDB en mode CrashLoopBackOff ou enregistrement PVC en attente après suppression
- Pods bloqués dans Init:0/X
- Métriques Ceph-rook manquantes dans les tableaux de bord de surveillance
- Document Understanding n'est pas affiché sur la barre de gauche d'Automation Suite
- État Échec (Failed) lors de la création d'une session de labellisation des données
- État Échec (Failed) lors de la tentative de déploiement d'une compétence ML
- La tâche de migration échoue dans ArgoCD
- La reconnaissance de l'écriture manuscrite avec l'Extracteur de formulaires intelligents (Intelligent Form Extractor) ne fonctionne pas
- Exécution de la haute disponibilité avec Process Mining
- Échec de l’ingestion de Process Mining lors de la connexion à l’aide de Kerberos
- After Disaster Recovery Dapr is not working properly for Process Mining
- Impossible de se connecter à la base de données AutomationSuite_ProcessMining_Authentication à l'aide d'une chaîne de connexion au format pyodbc
- L'installation d'airflow échoue avec sqlalchemy.exc.ArgumentError: impossible d'analyser l'URL rfc1738 de la chaîne ''
- Comment ajouter une règle de table d'adresse IP pour utiliser le port SQL Server 1433
- Le certificat Automation Suite n'est pas approuvé depuis le serveur sur lequel CData Sync est en cours d'exécution
- Task Mining troubleshooting
- Exécution de l'outil de diagnostic
- Utilisation du pack d'assistance Automation Suite
- Explorer les journaux
Guide d'installation d'Automation Suite sur Linux
Gestion des certificats
Le processus d'installation génère des certificats auto-signés en votre nom. Ces certificats sont conformes à la norme FIPS et expireront dans 90 jours. Vous devez les remplacer par des certificats signés par une autorité de certification (CA) approuvée dès la fin de l'installation. Si vous ne mettez pas à jour les certificats, l'installation cessera d'être opérationnelle après 90 jours.
Si vous avez installé Automation Suite sur un hôte compatible FIPS et que vous souhaitez mettre à jour les certificats, assurez-vous qu'ils sont compatibles avec FIPS.
Le bundle d'installation fournit un outil de gestion de cluster qui vous permet de mettre à jour les certificats après l'installation. Pour accéder à l'outil, accédez à l'emplacement du bundle d'installation :
cd /opt/UiPathAutomationSuite/
cd /opt/UiPathAutomationSuite/
Pour générer la CSR et la clé privée, exécutez la commande suivante :
# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf
# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN
EOF
# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr
# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf
# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN
EOF
# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr
Votre équipe informatique utilise les valeurs obtenues pour générer un certificat signé. La clé privée générée reste locale.
Pour afficher plus d'informations sur les certificats de serveur, exécutez la commande suivante :
./bin/uipathctl config tls-certificates --help
./bin/uipathctl config tls-certificates --help
Sortie :
************************************************************************************
Manage tls certificates
Usage:
uipathctl config tls-certificates [flags]
uipathctl config tls-certificates [command]
Available Commands:
get Get the current tls certificates
update Update tls certificates
Flags:
-h, --help help for tls-certificates
Global Flags:
--context string name of the kubeconfig context to use
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "error")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default 1h0m0s)
************************************************************************************
************************************************************************************
Manage tls certificates
Usage:
uipathctl config tls-certificates [flags]
uipathctl config tls-certificates [command]
Available Commands:
get Get the current tls certificates
update Update tls certificates
Flags:
-h, --help help for tls-certificates
Global Flags:
--context string name of the kubeconfig context to use
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "error")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default 1h0m0s)
************************************************************************************
uipathctl config tls-certificates
.
Installation en ligne : Comment trouver le certificat du serveur
istio-ingressgateway-certs
dans l'espace de noms istio-system
.
Consultez les fichiers de certificat dans la liste suivante :
- Le certificat TLS du serveur est stocké en tant que
tls.crt
- Clé privée TLS du serveur en tant que
tls.key
- Le bundle CA est stocké en tant que
ca.crt
Vous pouvez vérifier les secrets à l'aide de la commande suivante :
kubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml
kubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml
Les certificats sont également stockés dans l’espace de noms UiPath. Cela s’applique à tous les produits UiPath® qui ont besoin d’informations de certificat afin d’approuver les appels entrants. Pour plus de détails, consultez la section Comprendre l’architecture de conteneur liée aux certificats.
Installation hors ligne : comment trouver le certificat du serveur
rootCA.crt
et tls.crt
: ArgoCD et le registre Docker. Les certificats sont ensuite stockés dans les espaces de noms Docker et ArgoCD.
Vous pouvez vérifier les secrets à l'aide de la commande suivante :
# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd login alm.cluster_fqnd --username argocd_username --password argocd_password
argocd cert list --cert-type https
# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd login alm.cluster_fqnd --username argocd_username --password argocd_password
argocd cert list --cert-type https
Comment mettre à jour les certificats de serveur
Pour déchiffrer la clé de certificat, exécutez la commande suivante :
# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key
openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key
openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
uipathctl
pour mettre à jour le certificat comme indiqué ci-dessous. Vous avez besoin du chemin d'accès à chacun des trois fichiers de certificat. Tout le fichier de certificat doit être au format PEM
.
- Ensemble de l'autorité de certification (Certificate Authority Bundle) : ce bundle ne doit contenir que les certificats de chaîne utilisés pour signer le certificat du serveur TLS. La limite de la chaîne est de neuf certificats.
-
Certificat de serveur - Certificat de serveur public
Remarque :Le fichierserver.crt
doit contenir toute la chaîne, comme illustré dans l'exemple suivant :-----server cert----- -----root ca chain-----
-----server cert----- -----root ca chain----- -
Clé privée - Clé privée pour le certificat du serveur
./bin/uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
./bin/uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
/directory/path/to/store/certificate
.
Pour imprimer les fichiers de certificat, exécutez la commande suivante en spécifiant le répertoire dans lequel les certificats sont stockés.
./bin/uipathctl config tls-certificates get --show-details
./bin/uipathctl config tls-certificates get --show-details
Vous êtes responsable de vous assurer que les certificats générés sont approuvés.
Pour ajouter le certificat au magasin approuvé de la machine virtuelle hôte, exécutez les commandes suivantes sur tous les nœuds du cluster :
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/
# 2. Update the trust store configuration
update-ca-trust
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/
# 2. Update the trust store configuration
update-ca-trust
Pour afficher plus d'informations sur les certificats CA supplémentaires, exécutez la commande suivante :
./bin/uipathctl config additional-ca-certificates --help
./bin/uipathctl config additional-ca-certificates --help
Sortie :
***************************************************************************************
Manage additional ca certificates
Usage:
uipathctl config additional-ca-certificates [flags]
uipathctl config additional-ca-certificates [command]
Available Commands:
get Get the current additional ca certificates
update Update additional ca certificates
Flags:
-h, --help help for additional-ca-certificates
Global Flags:
--context string name of the kubeconfig context to use
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "error")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default 1h0m0s)
***************************************************************************************
***************************************************************************************
Manage additional ca certificates
Usage:
uipathctl config additional-ca-certificates [flags]
uipathctl config additional-ca-certificates [command]
Available Commands:
get Get the current additional ca certificates
update Update additional ca certificates
Flags:
-h, --help help for additional-ca-certificates
Global Flags:
--context string name of the kubeconfig context to use
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "error")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default 1h0m0s)
***************************************************************************************
uipathctl config additional-ca-certificates
.
Cette commande vous aide à mettre à jour ou à remplacer les certificats CA configurés existants.
./bin/uipathctl config additional-ca-certificates update --cacert additional_ca.crt
./bin/uipathctl config additional-ca-certificates update --cacert additional_ca.crt
--replace
à la fin.
.pem
valide et peut contenir plusieurs certificats.
Pour télécharger les certificats CA déjà configurés, exécutez la commande suivante :
./bin/uipathctl config additional-ca-certificates get
./bin/uipathctl config additional-ca-certificates get
Vous êtes responsable de vous assurer que les certificats générés sont approuvés.
Pour ajouter le certificat au magasin approuvé de la machine virtuelle hôte, exécutez les commandes suivantes sur tous les nœuds du cluster :
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/
# 2. Update the trust store configuration
update-ca-trust
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/
# 2. Update the trust store configuration
update-ca-trust
Automation Suite propose deux méthodes pour gérer la rotation des certificats de signature de jeton d'identité : automatique et manuelle.
Pour afficher plus d'informations sur les certificats de signature de jeton d'identité, exécutez la commande suivante :
./bin/uipathctl config token-signing-certificates --help
./bin/uipathctl config token-signing-certificates --help
Sortie :
************************************************************************************
Manage token signing certificates
Usage:
uipathctl config token-signing-certificates [flags]
uipathctl config token-signing-certificates [command]
Available Commands:
get Get the current token signing certificate
rotate Rotate token signing certificates
update Update future token signing certificate
Flags:
-h, --help help for token-signing-certificates
Global Flags:
--context string name of the kubeconfig context to use
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "error")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default 1h0m0s)
************************************************************************************
************************************************************************************
Manage token signing certificates
Usage:
uipathctl config token-signing-certificates [flags]
uipathctl config token-signing-certificates [command]
Available Commands:
get Get the current token signing certificate
rotate Rotate token signing certificates
update Update future token signing certificate
Flags:
-h, --help help for token-signing-certificates
Global Flags:
--context string name of the kubeconfig context to use
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "error")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default 1h0m0s)
************************************************************************************
Vous pouvez utiliser une longueur de clé maximale de 4096 bits pour la signature des certificats. Comme meilleure pratique, nous vous recommandons fortement d'utiliser une longueur de clé d'au moins 512 bits (64 octets).
uipathctl config token-signing-certificates
.
La rotation automatique des certificats signifie qu’Automation Suite gère le cycle de vie des clés de signature. Cela inclut la rotation des clés tous les 90 jours, l'annonce de nouvelles clés 14 jours avant la rotation, la conservation des anciennes clés pendant 14 jours après la rotation, puis la suppression de celles-ci lorsque la période de 14 jours se termine.
Si vous effectuez une mise à niveau à partir d'une ancienne version vers 2024.10, la rotation automatique des certificats est désactivée par défaut. Pour activer la gestion automatique des clés, utilisez la commande suivante :
uipathctl config token-signing-certificates automatic-key-management enable
uipathctl config token-signing-certificates automatic-key-management enable
L'activation de la rotation automatique des certificats peut entraîner un temps d'arrêt allant jusqu'à une heure.
La rotation automatique des certificats est activée par défaut pour les nouvelles installations d'Automation Suite. Pour désactiver la gestion automatique des clés, utilisez la commande suivante :
uipathctl config token-signing-certificates automatic-key-management disable
uipathctl config token-signing-certificates automatic-key-management disable
Si la fonctionnalité de gestion automatique est désactivée, les certificats de signature doivent être mis à jour et pivotés manuellement. Pour plus de détails sur la gestion manuelle des clés, consultez la documentation sur la mise à jour manuelle et la rotation du certificat.
Pour télécharger le nouveau certificat afin de signer le jeton, exécutez la commande suivante :
La commande suivante ne remplace pas le certificat de signature de jeton existant.
.pem
.
server.crt
doit contenir toute la chaîne, comme illustré dans l'exemple suivant :
-----server cert-----
-----root ca chain-----
-----server cert-----
-----root ca chain-----
./bin/uipathctl config token-signing-certificates update --cert server.crt --key server.key
./bin/uipathctl config token-signing-certificates update --cert server.crt --key server.key
Pour faire pivoter ou remplacer l'ancien certificat par le nouveau, exécutez la commande suivante :
./bin/uipathctl config token-signing-certificates rotate
./bin/uipathctl config token-signing-certificates rotate
Il devrait y avoir un délai d'environ 24 à 48 heures entre la mise à jour du certificat et sa rotation.
Nous avons besoin de ce délai pour continuer à prendre en charge l'authentification pour le jeton mis en cache signé par l'ancien certificat.
Si vous effectuez la rotation du certificat trop tôt avant l'expiration du jeton de cache, cela peut entraîner des temps d'arrêt. Et vous devrez peut-être redémarrer tous vos robots.
Pour effectuer une mise à jour d'urgence du certificat, procédez comme suit :
Par défaut, les certificats RKE2 expirent sous 12 mois. Au cours des 90 jours précédant leur date d’expiration, les certificats font l’objet d’une rotation lorsque vous redémarrez RKE2.
Pour plus de détails, consultez la section RKE2 - Options avancées - Rotation du certificat.
if [[ -d "/var/lib/rancher/rke2/server/tls" ]]; then
dir="/var/lib/rancher/rke2/server/tls"
elif [[ -d "/var/lib/rancher/rke2/agent/tls" ]]; then
dir="/var/lib/rancher/rke2/agent/tls"
else
dir="/var/lib/rancher/rke2/agent/"
fi
# Loop through each .crt file in the directory
for file in "$dir"/*.crt; do
# Extract the expiry date from the certificate
expiry=$(openssl x509 -enddate -noout -in "$file" | cut -d= -f 2-)
# Get the file name without the path
filename=$(basename "$file")
# Print the filename and expiry date in a pretty format
printf "%-30s %s\n" "$filename:" "$expiry"
done
if [[ -d "/var/lib/rancher/rke2/server/tls" ]]; then
dir="/var/lib/rancher/rke2/server/tls"
elif [[ -d "/var/lib/rancher/rke2/agent/tls" ]]; then
dir="/var/lib/rancher/rke2/agent/tls"
else
dir="/var/lib/rancher/rke2/agent/"
fi
# Loop through each .crt file in the directory
for file in "$dir"/*.crt; do
# Extract the expiry date from the certificate
expiry=$(openssl x509 -enddate -noout -in "$file" | cut -d= -f 2-)
# Get the file name without the path
filename=$(basename "$file")
# Print the filename and expiry date in a pretty format
printf "%-30s %s\n" "$filename:" "$expiry"
done
La sortie que vous obtenez doit être similaire à celle illustrée dans l’image suivante :
Par défaut, les certificats RKE2 expirent sous 12 mois. Au cours des 90 jours précédant leur date d’expiration, les certificats font l’objet d’une rotation lorsque vous redémarrez RKE2. Cependant, si la validité des certificats dépasse la période de 90 jours, vous devez effectuer une rotation manuelle des certificats en suivant les étapes mentionnées dans RKE2 - Options avancées - Rotation du certificat.
Si vous souhaitez personnaliser la période d'expiration des certificats RKE2 pour répondre à des exigences particulières, vous pouvez le faire avant de redémarrer les services RKE2 pour les nœuds de serveur et d'agent.
Pour effectuer une rotation des certificats RKE2, vous devez d’abord exécuter une série d’actions sur les nœuds de serveur, puis poursuivre certaines étapes sur les nœuds d’agent.
- Arrêtez le serveur RKE2 :
systemctl stop rke2-server.service
systemctl stop rke2-server.service - Effacez tous les processus RKE2 restants :
rke2-killall.sh
rke2-killall.sh - Supprimez le fichier
dynamic-cert.json
situé dans/var/lib/rancher/rke2/server/tls/
. -
Pour personnaliser la période d'expiration des certificats RKE2, utilisez la commande suivante. Sachez que cet exemple définit la période de validité sur 1 000 jours, mais vous pouvez modifier cette valeur en fonction de vos besoins.
SERVICE_NAME="rke2-server.service" conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf" mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/ cat > "$conf_file_path" <<EOF [Service] Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000" EOF systemctl daemon-reload
SERVICE_NAME="rke2-server.service" conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf" mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/ cat > "$conf_file_path" <<EOF [Service] Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000" EOF systemctl daemon-reload - Redémarrez le serveur RKE2 :
systemctl start rke2-server.service
systemctl start rke2-server.serviceRemarque : si le cluster comporte plusieurs nœuds de serveur, les étapes 1 à 4 peuvent ne pas s’exécuter entièrement car etcd peut ne pas permettre de finaliser l’élection du responsable. Si cela se produit, répétez les étapes 1 à 4 sur d’autres nœuds de serveur. - Supprimez la clé secrète
rke2-serving
de l’espace de nomskube-system
:kubectl delete secret -n kube-system rke2-serving
kubectl delete secret -n kube-system rke2-servingRemarque :Dans un déploiement multi-nœuds, vous ne pourrez peut-être pas exécuter les commandeskubectl
tant que vous n’aurez pas effectué les quatre premières opérations sur le nombre nécessaire de nœuds de serveur. Cela permet de répondre à l’exigence de quorum etcd. Vous pouvez supprimer la clé secrèterke2-serving
immédiatement après le démarrage du serveur RKE2.
kubectl get nodes
. Lorsque vos nœuds de serveur sont prêts, vous pouvez passer aux nœuds d’agent pour régénérer les certificats.
Effectuez les étapes suivantes sur les nœuds d’agent :
- Arrêtez le serveur RKE2 :
systemctl stop rke2-agent.service
systemctl stop rke2-agent.service - Effacez tous les processus RKE2 restants :
rke2-killall.sh
rke2-killall.sh -
Pour personnaliser la période d'expiration des certificats RKE2, utilisez la commande suivante. Sachez que cet exemple définit la période de validité sur 1 000 jours, mais vous pouvez modifier cette valeur en fonction de vos besoins.
SERVICE_NAME="rke2-agent.service" conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf" mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/ cat > "$conf_file_path" <<EOF [Service] Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000" EOF systemctl daemon-reload
SERVICE_NAME="rke2-agent.service" conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf" mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/ cat > "$conf_file_path" <<EOF [Service] Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000" EOF systemctl daemon-reload - Redémarrez le serveur RKE2 :
systemctl start rke2-agent.service
systemctl start rke2-agent.service
- Génération d'une demande de signature de certificat (CSR) et d'une clé privée
- Gestion des certificats de serveur
- Mise à jour du certificat du serveur
- Accéder au certificat TLS
- Ajout du certificat CA au magasin d'approbations hôte
- Gestion des certificats CA supplémentaires
- Mise à jour des certificats CA
- Accéder aux certificats CA
- Ajout du certificat CA au magasin d'approbations hôte
- Gestion des certificats de signature de jeton d'identité
- Rotation automatique des certificats
- Mise à jour manuelle du certificat
- Faire pivoter manuellement le certificat
- Rotation des certificats d'urgence
- Accéder au certificat
- Gestion des certificats RKE2
- Vérification de la date d’expiration du certificat RKE2
- Rotation du certificat RKE2
- Gestion du certificat de registre compatible OCI externe