Préparation d'un déploiement à trois nœuds
Préparez votre environnement avant d'installer Standard Edition sur votre cluster à trois nœuds.
sudo.Préparez les disques supplémentaires
Vous devez préparer les disques que vous avez ajoutés pour chaque répertoire de données dans la section Exigences de stockage .
Les commandes permettant d'exécuter ces tâches dépendent de votre environnement, du système de fichiers que vous choisissez et du type de disque que vous ajoutez.
Les commandes des sections suivantes ne sont que des exemples et sont destinées à présenter les conditions requises pour la préparation des disques en vue de leur utilisation. Vous devez utiliser les commandes qui fonctionnent pour votre environnement.
Identifiez les disques de votre hôte
Pour afficher les unités disponibles sur votre système, exécutez la commande suivante sur node0 et node1:
lsblk
Voici un exemple de sortie de node0.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.5M 1 loop /snap/core20/2015
loop1 7:1 0 87M 1 loop /snap/lxd/27037
loop3 7:3 0 111.9M 1 loop /snap/lxd/24322
loop4 7:4 0 63.9M 1 loop /snap/core20/2182
loop5 7:5 0 40.9M 1 loop /snap/snapd/20290
loop6 7:6 0 40.4M 1 loop /snap/snapd/20671
vda 252:0 0 250G 0 disk
├─vda1 252:1 0 1M 0 part
└─vda2 252:2 0 248G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 248G 0 lvm /
vdb 252:16 0 1000G 0 disk
Voici un exemple de sortie de node1.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.5M 1 loop /snap/core20/2015
loop1 7:1 0 87M 1 loop /snap/lxd/27037
loop3 7:3 0 111.9M 1 loop /snap/lxd/24322
loop4 7:4 0 63.9M 1 loop /snap/core20/2182
loop5 7:5 0 40.9M 1 loop /snap/snapd/20290
loop6 7:6 0 40.4M 1 loop /snap/snapd/20671
vda 252:0 0 250G 0 disk
├─vda1 252:1 0 1M 0 part
└─vda2 252:2 0 248G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 248G 0 lvm /
vdb 252:16 0 1000G 0 disk
vdc 252:32 0 500G 0 disk
vdd 252:48 0 1200G 0 disk
Créer un système de fichiers
Pour chaque disque que vous avez ajouté sur node0 et node1, vous devez créer un système de fichiers.
Vous pouvez utiliser n'importe quel système de fichiers adapté à vos disques. Ext4 et XFS sont deux systèmes de fichiers Linux populaires. Le choix entre Ext4 et XFS dépend de vos préférences et des besoins spécifiques de votre système. Ext4 est un bon choix pour la plupart des systèmes, mais si vous avez besoin d'un système de fichiers plus fiable, XFS peut être une meilleure option.
Voici des exemples d'utilisation du système de fichiers
ext4.Sur node0 (instana-0), vous pouvez utiliser la commande suivante pour créer un système de fichiers unique:
for disk in vdb ; do echo "make filesystem for $disk" mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/$disk doneSur node1 (instana-1), vous pouvez utiliser la commande suivante pour créer trois systèmes de fichiers:
for disk in vdb vdc vdd ; do echo "make filesystem for $disk" mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/$disk done
Voici des exemples d'utilisation du système de fichiers
xfs.Sur node0 (instana-0), vous pouvez utiliser la commande suivante pour créer un système de fichiers unique:
for disk in vdb; do echo "make filesystem for $disk" mkfs.xfs -f -i size=1024 -L $disk /dev/$disk doneSur node1 (instana-1), vous pouvez utiliser la commande suivante pour créer trois systèmes de fichiers:
for disk in vdb vdc vdd; do echo "make filesystem for $disk" mkfs.xfs -f -i size=1024 -L $disk /dev/$disk done
Créer les répertoires
Sur votre hôte, veillez à créer les quatre répertoires. Voir Configuration matérielle requise.
Les exemples de commande suivants utilisent les chemins de répertoire par défaut. Vous pouvez créer les répertoires à n'importe quel emplacement de votre choix. Toutefois, veillez à utiliser le chemin correct lorsque vous montez les répertoires.
Sur node0 (
instana-0), créez le répertoireobjects:mkdir -p /mnt/instana/stanctl/objectsSur node1 (
instana-1), créez les trois répertoires suivants:mkdir -p /mnt/instana/stanctl/data mkdir -p /mnt/instana/stanctl/metrics mkdir -p /mnt/instana/stanctl/analytics
Ajouter des chemins de montage
Vous devez ajouter des chemins de montage aux répertoires que vous avez créés. Vous pouvez consulter la liste des périphériques dans la section « Identifier les disques sur votre hôte ».
Commencez par remplacer les noms des périphériques par leurs UUID (identificateurs uniques universels) dans les fichiers de la table du système de fichiers (fstab) situés sur node0 (instana-0) et node1 (instana-1).
Il arrive parfois que les noms des périphériques changent après un redémarrage, notamment lorsque vous connectez plusieurs disques. Dans de telles situations, il peut y avoir un décalage entre les disques et les chemins de montage d'origine. Pour éviter ces problèmes, remplacez les noms des périphériques par leurs UUID (identificateurs uniques universels) dans le fstab fichier.
Mettre à jour le fichier fstab avec les UUID
Pour mettre à jour le fichier fstab, procédez comme suit :
- En fonction de la capacité de stockage, identifiez les périphériques que vous souhaitez utiliser pour chaque répertoire. Notez les noms des appareils.
- Récupérez les UUID de tous les appareils.
Consultez l'exemple de commande et le résultat ci-dessous :blkid$ blkid /dev/sdb /dev/sdb: UUID="86ceb289-ba28-448d-b41f-71e647fc4536" BLOCK_SIZE="4096" TYPE="ext4" - Mettez à jour le fichier de la table du système de fichiers (fstab) en y ajoutant l'UUID du périphérique.
- Ouvrez le
/etc/fstabfichier dans votre éditeur de texte préféré. - Ajoutez l'UUID à
/etc/fstab. Pour chaque appareil, ajoutez l'UUID comme indiqué dans l'exemple suivant :UUID=<device_uuid> /mnt/instana/stanctl/data ext4 discard,defaults,nofail 0 0 UUID=<device_uuid> /mnt/instana/stanctl/metrics ext4 discard,defaults,nofail 0 0 UUID=<device_uuid> /mnt/instana/stanctl/analytics ext4 discard,defaults,nofail 0 0 UUID=<device_uuid> /mnt/instana/stanctl/objects ext4 discard,defaults,nofail 0 0 - Sauvegardez le fichier.
- Ouvrez le
Ensuite, par précaution, effectuez une sauvegarde de vos fichiers fstab avant de créer les chemins de montage. Exécutez la commande suivante sur node0 (instana-0) et node1 (instana-1).
cp /etc/fstab /etc/fstab.backup
Les exemples de commande suivants utilisent les chemins de montage par défaut et les disques que nous avons utilisés comme exemples dans les sections précédentes. Les commandes peuvent varier en fonction de votre environnement. De plus, si vous avez créé les répertoires dans des chemins personnalisés, veillez à utiliser ces chemins.
--volume-<directory-name> l'option à la stanctl up --multi-node-enable commande lors de l'installation de votre Standard Edition auto-hébergé. Par exemple, si vous avez ajouté /data/analytics comme chemin de montage, utilisez alors stanctl up --multi-node-enable --volume-analytics /data/analytics.Exemples de commandes Ext4 .
- Commandes pour node0 (
instana-0).echo "UUID=<device_vdb_uuid> /mnt/instana/stanctl/objects ext4 discard,defaults,nofail 0 0" >> /etc/fstab - Commandes pour node1 (
instana-1).echo "UUID=<device_vdb_uuid> /mnt/instana/stanctl/analytics ext4 discard,defaults,nofail 0 0" >> /etc/fstab echo "UUID=<device_vdc_uuid> /mnt/instana/stanctl/metrics ext4 discard,defaults,nofail 0 0" >> /etc/fstab echo "UUID=<device_vdd_uuid> /mnt/instana/stanctl/data ext4 discard,defaults,nofail 0 0" >> /etc/fstab
- Commandes pour node0 (
Exemples de commandes XFS.
- Commandes pour node0 (
instana-0).echo "UUID=<device_vdb_uuid> /mnt/instana/stanctl/objects xfs discard,defaults,nofail 0 0" >> /etc/fstab - Commandes pour node1 (
instana-1).echo "UUID=<device_vdb_uuid> /mnt/instana/stanctl/analytics xfs discard,defaults,nofail 0 0" >> /etc/fstab echo "UUID=<device_vdc_uuid> /mnt/instana/stanctl/metrics xfs discard,defaults,nofail 0 0" >> /etc/fstab echo "UUID=<device_vdd_uuid> /mnt/instana/stanctl/data xfs discard,defaults,nofail 0 0" >> /etc/fstab
- Commandes pour node0 (
Vérifiez les chemins d'accès aux montages
Vérifiez que le répertoire est monté sur le disque approprié. Voir Préparation des disques supplémentaires pour obtenir le nom de l'unité.
lsblk <device name>
Monter les systèmes de fichiers
Montez tous les systèmes de fichiers. Exécutez la commande suivante sur node0 (instana-0) et node1 (instana-1).
mount -a
paramètres de noyau
Pour réussir l'installation du backend d' Instana, vous devez configurer correctement les paramètres du noyau suivants sur tous les nœuds.
vm.swappiness
Définissez vm.swappiness sur 0 pour vous assurer que les pages de l'application ne sont pas déplacées vers l'espace d'échange.
sh -c 'echo vm.swappiness=0 >> /etc/sysctl.d/99-stanctl.conf' && sysctl -p /etc/sysctl.d/99-stanctl.conf
fs.inotify.max_user_instances
Définissez fs.inotify.max_user_instances sur 8192 pour vous assurer que le système autorise au maximum 8192 instances inotify.
sh -c 'echo fs.inotify.max_user_instances=8192 >> /etc/sysctl.d/99-stanctl.conf' && sysctl -p /etc/sysctl.d/99-stanctl.conf
Pages géantes transparentes
Désactivez définitivement les pages géantes transparentes (THP) pour la gestion de la mémoire.
- Si vous disposez d'un hébergement Ubuntu ou Debian, exécutez les commandes suivantes :
sed -i "s/\(GRUB_CMDLINE_LINUX=\".*\)\"/\1 transparent_hugepage=never\"/" "/etc/default/grub" update-grub - Si vous disposez d'un hébergement Red Hat® Enterprise Linux®, CentOS Stream, Amazon Linux ou Oracle Linux, exécutez cette commande :
grubby --args="transparent_hugepage=never" --update-kernel ALL - Si vous disposez d'un hôte SLES ( SUSE Linux Enterprise Server ), exécutez les commandes suivantes :
sed -i "s/\(GRUB_CMDLINE_LINUX=\".*\)\"/\1 transparent_hugepage=never\"/" "/etc/default/grub" grub2-mkconfig -o /boot/grub2/grub.cfg
Un redémarrage du système est nécessaire pour que ces modifications prennent effet.
Après le redémarrage, vérifiez que le THP est désactivé.
cat /sys/kernel/mm/transparent_hugepage/enabled
Le message suivant indique que THP est désactivé.
always madvise [never]
Paquets et variables d'environnement
Sur certains hôtes, vous devez installer les packages manquants ou définir les variables d'environnement et les chemins requis.
Veillez à effectuer les tâches sur tous les noeuds de votre cluster.
Amazon Linux Hôtes 2023
Dans la version 2023 d' Amazon Linux, les paquets container-selinuxk3s-selinux et manquent. Ces configurations sont nécessaires pour que le programme d'installation d' Standard Edition puisse installer Instana sans interruption.
Installez le
container-selinuxpaquet.dnf install -y container-selinuxInstallez le
k3s-selinuxpaquet.dnf install -y https://rpm.rancher.io/k3s/stable/common/centos/8/noarch/k3s-selinux-1.6-1.el8.noarch.rpm
Red Hat Enterprise Linux et les animateurs d' CentOS Stream
Sur les serveurs Red Hat Enterprise Linux et CentOS Stream, le /usr/local/bin répertoire n'est pas inclus par défaut dans la variable PATH d'environnement. Le programme d'installation d' Standard Edition a besoin de ce répertoire PATH pour exécuter certaines commandes pendant l'installation.
Pour ajouter /usr/local/bin le répertoire à la variable PATH d'environnement, procédez comme suit :
Ajoutez la
export PATHcommande au.bashrcfichier.bash_profileou.echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrcOU
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bash_profileAppliquez la modification. Utilisez le nom du fichier que vous avez modifié dans la commande précédente.
source ~/.bashrcOU
source ~/.bash_profileVérifiez que le
/usr/local/binrépertoire est ajouté à la variablePATHd'environnement.echo $PATH
Si la mise à jour du chemin d'accès s'effectue correctement, vous verrez /usr/local/bin apparaître dans la sortie.
Noms des locataires et des logements
Lors de l'installation d' Instana, vous devez indiquer les noms du locataire et de l'unité.
Une fois l' Instana installé, vous ne pouvez plus modifier le nom du tenant ou de l'unité.
Les restrictions suivantes s'appliquent aux noms des locataires et des logements :
- Le nom doit correspondre au modèle d'expression régulière suivant :
^[a-z][a-z0-9]*$ - Le nom ne doit pas dépasser 15 caractères.
- Le nom doit commencer par une lettre de l'alphabet.
- Le nom ne doit être composé que de caractères alphanumériques.
- Tous les caractères doivent être en minuscules.
Par exemple, test est le nom d'un logement et marketing celui d'un locataire.
Pour plus d'informations sur les locataires et les logements, consultez le site units.instana.io.
Configuration réseau requise
Votre domaine Instana et les serveurs de votre cluster doivent être accessibles depuis l'extérieur de votre environnement sur site. Veillez à mettre à jour les paramètres du système de noms de domaine ( DNS ) et à définir des règles de pare-feu sur vos serveurs.
Paramètres DNS
Assurez-vous de disposer d'un nom de domaine et d'une zone DNS pour votre environnement Instana. Ajoutez ensuite des enregistrements A de type « DNS » dans la zone pour les domaines suivants :
| Domaine | Description | Exemple de nom |
|---|---|---|
Domaine de base <base_domain> |
Le nom de domaine complet (FQDN) que vous pouvez utiliser pour accéder à Instana. Renvoie vers l'adresse IP de votre hébergeur. | instana.example.com |
sous-domaine accepteur d'agent agent-acceptor.<base_domain> |
Nom de domaine pour le trafic des agents d' Instana. Renvoie vers l'adresse IP de votre hébergeur. | agent-acceptor.instana.example.com |
OpAMP sous-domaine d'acceptation opamp-acceptor.<base_domain> |
Nom de domaine destiné à la gestion du trafic du collecteur d' OpenTelemetry s. Renvoie vers l'adresse IP de votre hébergeur. | opamp-acceptor.instana.example.com |
OTLP HTTP sous-domaine d'acceptation otlp-http.<base_domain> |
Nom de domaine destiné au OTLP/HTTP trafic du site OpenTelemetry. Renvoie vers l'adresse IP de votre hébergeur. |
otlp-http.instana.example.com |
OTLP gRPC sous-domaine d'acceptation otlp-grpc.<base_domain> |
Nom de domaine destiné au OTLP/gRPC trafic du site OpenTelemetry. Renvoie vers l'adresse IP de votre hébergeur. |
otlp-grpc.instana.example.com |
Sous-domaine du locataire et du logement <unit-name>-<tenant-name>.<base_domain> |
Nom de domaine pour un logement et son locataire. Renvoie vers l'adresse IP de votre hébergeur. | test-marketing.instana.example.com |
Pour connaître la procédure détaillée d'ajout d'enregistrements A pour DNS, consultez la documentation de votre registraire de domaine.
<base_domain> pour tout votre trafic entrant, consultez la section « Configuration avec un seul domaine ».instana-0). Pour plus d'informations sur les exigences relatives aux adresses IP, consultez la section Adresses IP.Règles de pare-feu
Certaines distributions Linux peuvent présenter des conflits ou des restrictions potentiels imposés par le pare-feu. Ces conflits peuvent avoir un impact sur la communication réseau et la reconnaissance de service nécessaires à l'installation. Par conséquent, si votre pare-feu est ouvert, ajoutez le ports requis et les règles.
Si vous disposez d'un pare-feu externe, consultez la documentation du pare-feu pour savoir comment ouvrir les ports.
Pour le déploiement d' Standard Edition sur Amazon Web Services ( AWS ), vous devez ouvrir tous les ports du groupe de sécurité, même si le pare-feu est désactivé.
Procédez comme suit pour ouvrir les ports requis:
Sur Ubuntu hôtes, exécutez les commandes suivantes sur tous les nœuds. Utilisez les adresses IP des nœuds dans les commandes.
ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw allow 8443/tcp ufw allow from <node0 (instana-0) IP> to any port 22 proto tcp ufw allow from <node0 (instana-0) IP> to any port 6443,10250,2379,2380,5001,9443,53 proto tcp ufw allow from <node0 (instana-0) IP> to any port 8472,53 proto udp ufw allow from <node1 (instana-1) IP> to any port 6443,10250,2379,2380,5001,9443,53 proto tcp ufw allow from <node1 (instana-1) IP> to any port 8472,53 proto udp ufw allow from <node2 (instana-2) IP> to any port 6443,10250,2379,2380,5001,9443,53 proto tcp ufw allow from <node2 (instana-2) IP> to any port 8472,53 proto udp ufw allow from 10.42.0.0/16 to any ufw allow from 10.43.0.0/16 to any ufw allow in on lo ufw allow out on lo ufw reloadSur les serveurs Debian, Red Hat Enterprise Linux, CentOS Stream, Amazon Linux, Oracle Linux et SUSE Linux Enterprise Server (SLES), exécutez les commandes suivantes sur tous les nœuds. Utilisez les adresses IP des nœuds dans les commandes.
firewall-cmd --permanent --add-port=22/tcp firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --permanent --add-port=8443/tcp firewall-cmd --new-zone=internal-access --permanent firewall-cmd --permanent --zone=internal-access --add-source=<node0 (instana-0) IP> firewall-cmd --permanent --zone=internal-access --add-source=<node1 (instana-1) IP> firewall-cmd --permanent --zone=internal-access --add-source=<node2 (instana-2) IP> firewall-cmd --permanent --zone=internal-access --add-port=22/tcp firewall-cmd --permanent --zone=internal-access --add-port=6443/tcp firewall-cmd --permanent --zone=internal-access --add-port=10250/tcp firewall-cmd --permanent --zone=internal-access --add-port=2379/tcp firewall-cmd --permanent --zone=internal-access --add-port=2380/tcp firewall-cmd --permanent --zone=internal-access --add-port=5001/tcp firewall-cmd --permanent --zone=internal-access --add-port=8472/udp firewall-cmd --permanent --zone=internal-access --add-port=9443/tcp firewall-cmd --permanent --zone=internal-access --add-port=53/udp firewall-cmd --permanent --zone=internal-access --add-port=53/tcp firewall-cmd --permanent --zone=trusted --add-source=10.42.0.0/16 firewall-cmd --permanent --zone=trusted --add-source=10.43.0.0/16 firewall-cmd --permanent --zone=trusted --add-interface=lo firewall-cmd --reload
Vérifier les ports
Vérifiez si les ports indiqués dans la section « Ports requis » sont ouverts.
Ubuntu hôte
Utilisez la commande suivante pour vérifier les ports bloqués par un pare-feu. Si un pare-feu est activé, la commande affiche la liste des ports bloqués.
ufw status verbose
Pour ouvrir un port, exécutez la commande suivante :
ufw allow <port_number>
Debian, Red Hat Enterprise Linux, CentOS Stream, Amazon Linux, Oracle Linux et SLES
Pour vérifier si un port est bloqué par un pare-feu, utilisez la commande suivante :
firewall-cmd --query-port=<port_number>/tcp
Si la sortie de la commande est no, cela signifie que le port indiqué est fermé.
Pour ouvrir le port, utilisez les commandes suivantes :
firewall-cmd --zone=public --add-port=<port_number>/tcp --permanent
firewall-cmd --reload
Configuration d'un proxy HTTP
Définissez les variables d'environnement HTTP_PROXY, HTTPS_PROXYet NO_PROXY .
Lorsque vous exécutez la stanctl up --multi-node-enable commande d'installation de l' Standard Edition, l'installation utilise automatiquement les valeurs des variables d'environnement du shell actuel.
Définissez les variables d'environnement à l'aide des commandes suivantes :
HTTP_PROXY=http://your-proxy.example.com:<port_number>
HTTPS_PROXY=http://your-proxy.example.com:<port_number>
NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
Utilitaire nm-cloud-setup sur les hôtes RHEL et CentOS Stream
Sur les hôtes Red Hat Enterprise Linux et CentOS Stream, si cette option nm-cloud-setup est activée, vous devez la désactiver sur chaque nœud et redémarrer les nœuds.
Exécutez les commandes suivantes :
Vérifiez si cette option
nm-cloud-setupest activée.systemctl is-enabled nm-cloud-setup.serviceSi le service est désactivé, la commande renvoie
disabled, sinon elle renvoieenabled.Si cette option
nm-cloud-setupest désactivée, passez à la section suivante. Si cette optionnm-cloud-setupest activée, désactivez-la.systemctl disable nm-cloud-setup.service nm-cloud-setup.timerRéamorcez le noeud.
systemctl reboot
TLS certificat et clé
Le site Instana Standard Edition nécessite un certificat et une clé TLS (TLS).
Le certificat doit être émis pour les domaines indiqués dans la section des paramètres d' DNS.
Si vous ne souhaitez pas spécifier de certificat, vous pouvez utiliser un certificat auto-signé généré lors de l'installation.
Configuration de SSH
La configuration Secure Shell (SSH) est requise uniquement dans un cluster à plusieurs noeuds.
Pour installer Instana, les utilisateurs doivent se connecter depuis instana-0 à instana-1 et instana-2 via SSH sans saisir de mot de passe.
- L'utilisateur root doit disposer d'un accès SSH sans mot de passe aux trois nœuds.
- L'utilisateur non root doit disposer d'un accès SSH sans mot de passe aux trois nœuds et de privilèges sudo sur chaque nœud.
Les utilisateurs peuvent exécuter la commande stanctl en tant qu'administrateur ou en tant qu'utilisateur disposant d'un accès sudo.
Procédez comme suit pour générer des clés SSH et les partager entre les trois noeuds.
S'il n'existe aucune clé SSH dans votre cluster, générez une paire de clés SSH sur node0 (
instana-0).ssh-keygen -t rsaCopiez le contenu de la clé publique dans le fichier
$HOME/.ssh/authorized_keysde node1 (instana-1) et node2 (instana-2).Si les services
sshddans node1 (instana-1) et node2 (instana-2) écoutent sur un autre port au lieu du port SSH par défaut 22, mettez à jour le fichier$HOME/.ssh/configdans node0 (instana-0) pour utiliser ce port.cat <<EOF | sudo tee -a ~/.ssh/config Host * port <alternate_port_number> EOFTestez la connexion SSH entre le noeud node0 (
instana-0) et les deux autres noeuds.ssh <username>@<node_ip>
Si la connexion SSH aboutit, une invite s'affiche pour la commande suivante. Si vous obtenez une erreur de refus d'autorisation, assurez-vous que vous avez copié la clé publique sur le compte utilisateur approprié sur le noeud.
Etapes suivantes
Poursuivez l'installation d' Instana. Pour plus d'informations, consultez la section « Installation du backend et des bases de données d' Instana ».