Déploiement d'un PoP synthétique auto-hébergé avec popctl
Vous pouvez déployer un point de présence Synthetic auto-hébergé ( PoP ) à l'aide de l'outil popctl en ligne de commande.
Pour déployer un PoP synthétique auto-hébergé en ligne, suivez les étapes suivantes :
Ajoutez le dépôt Instana.
Installez l'outil de ligne de commande
popctl.Si l'outil de ligne de commande
popctlest déjà installé, mettez à jour l'outil de ligne de commandepopctl.Créez un cluster.
Installer le PoP synthétique.
Installez l'agent d' Instana.
Pour déployer un PoP synthétique auto-hébergé dans un environnement à encombrement aérien, procédez comme suit :
Ajoutez le dépôt Instana.
Installez l'outil de ligne de commande
popctl.Si l'outil de ligne de commande
popctlest déjà installé, mettez à jour l'outil de ligne de commandepopctl.Créer un paquet d'installation à étanchéité à l'air.
Transférer le paquet d'installation à air comprimé.
Créez un cluster.
Installer le PoP synthétique.
Installez l'agent d' Instana.
Configuration système requise
popctl ne prend en charge que le système d'exploitation Linux x86_64.
Pour plus d'informations sur les ressources requises pour Synthetic PoP,, consultez la section « Planification de la capacité et évolutivité d' PoP en mode auto-hébergé ».
Ajouter le dépôt Instana
Ajoutez le référentiel Instana au sources.list fichier de votre serveur afin que celui-ci puisse accéder au paquet d'installation.
Dans un environnement à air comprimé, effectuez la procédure sur l'hôte bastion.
Pour ajouter le référentiel Instana, effectuez l'une des opérations suivantes en tant qu'utilisateur root sur votre serveur. Dans la commande, remplacez <download_key> par votre clé de téléchargement.
Pour « Red Hat® Enterprise Linux® » ou « CentOS Stream », exécutez les commandes suivantes :
export DOWNLOAD_KEY=<download_key> cat << EOF > /etc/yum.repos.d/Instana-Product.repo [instana-product] name=Instana-Product baseurl=https://_:$DOWNLOAD_KEY@artifact-public.instana.io/artifactory/rel-rpm-public-virtual/ enabled=1 gpgcheck=0 gpgkey=https://_:$DOWNLOAD_KEY@artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-rpm-public-virtual repo_gpgcheck=1 EOFPour Ubuntu ou Debian, exécutez les commandes suivantes :
export DOWNLOAD_KEY=<download_key> echo 'deb [signed-by=/usr/share/keyrings/instana-archive-keyring.gpg] https://artifact-public.instana.io/artifactory/rel-debian-public-virtual generic main' > /etc/apt/sources.list.d/instana-product.list cat << EOF > /etc/apt/auth.conf machine artifact-public.instana.io login _ password $DOWNLOAD_KEY EOF wget -nv -O- --user=_ --password="$DOWNLOAD_KEY" https://artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-debian-public-virtual | gpg --dearmor > /usr/share/keyrings/instana-archive-keyring.gpgPour SUSE Linux Enterprise Server (SLES), exécutez les commandes suivantes :
export DOWNLOAD_KEY=<download_key> cat << EOF > /etc/zypp/credentials.d/instana_auth username=_ password=$DOWNLOAD_KEY EOF cat << EOF > /etc/zypp/repos.d/Instana-Product.repo [instana-product] name=Instana-Product baseurl=https://artifact-public.instana.io/artifactory/rel-rpm-public-virtual/?credentials=instana_auth enabled=1 gpgcheck=0 gpgkey=https://artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-rpm-public-virtual?credentials=instana_auth repo_gpgcheck=1 EOF
Installation de l'outil de ligne de commande popctl
Pour installer l'outil popctl en ligne de commande, suivez l'une des procédures suivantes en fonction de votre système d'exploitation.
Dans un environnement à air comprimé, effectuez la procédure sur l'hôte bastion.
Installation de l'outil popctl en ligne de commande sur Red Hat Enterprise Linux ou CentOS Stream
Pour installer l'outil popctl en ligne de commande sur un hôte Red Hat Enterprise Linux ou CentOS Stream, procédez comme suit :
Rafraîchissez vos dépôts '
yumyum clean expire-cache -yMettez à jour les fichiers d'index des paquets sur votre hôte :
yum update -yInstaller
popctl:yum install -y popctlSi le plug-in versionlock n'est pas installé sur votre hôte, installez-le :
yum install python3-dnf-plugin-versionlockÉvitez les mises à jour automatiques, définissez la version
popctldu paquet :yum versionlock add popctl
Installation de l'outil en ligne de commande popctl sur Ubuntu ou Debian
Pour installer l'outil popctl en ligne de commande sur un hôte Ubuntu ou Debian, procédez comme suit :
Mettez à jour les fichiers d'index des paquets sur votre hôte :
apt update -yInstaller
popctl:apt install -y popctlÉvitez les mises à jour automatiques, définissez la version
popctldu paquet :apt-mark hold popctl
Installation de l'outil de ligne de commande popctl sur SLES
Pour installer l'outil popctl en ligne de commande sur un hôte SLES, procédez comme suit :
Rafraîchir et mettre à jour les fichiers d'index des paquets sur votre hôte :
zypper refreshLorsque l'invite
Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r):s'affiche, entrezapour définir la confiance en permanence.Installer
popctl:zypper install -y popctl
Mise à jour de l'outil de ligne de commande popctl
Pour mettre à jour l'outil popctl en ligne de commande, suivez l'une des procédures suivantes en fonction de votre système d'exploitation :
Pour « Red Hat Enterprise Linux » ou « CentOS Stream », exécutez la commande suivante :
yum update popctlPour Ubuntu ou Debian, exécutez la commande suivante :
apt update && apt install --only-upgrade popctlPour SLES, exécutez la commande suivante :
zypper refresh && zypper update popctl
Une fois l'outil installé, il est automatiquement ajouté à votre " $PATH. Vous pouvez exécuter ces popctl commandes depuis n'importe quel répertoire.
Pour vérifier la popctl version :
popctl --version
Pour vérifier l'utilisation de popctl :
popctl --help
Pour obtenir de l'aide pour une commande spécifique :
popctl help [command]
Création d'un paquet d'installation sous vide d'air
Pour créer un paquet d'installation sur votre hôte bastion, suivez les étapes suivantes :
Sur votre hôte Bastion, assurez-vous d'avoir effectué l'installation
popctlconformément aux instructions de la section « Installation de l'outil en ligne de commande popctl ».Créer l'emballage à air comprimé :
popctl air-gapped packagePar défaut, le paquet est créé dans le répertoire courant.
Saisissez la clé de téléchargement pour continuer :
? Enter the download key or an official agent key: **********************Si la clé que vous avez saisie est valide, le programme d'installation commence à télécharger les artefacts et crée le paquet air-gapped. Le message suivant peut apparaître :
⠋ 1/6 Packaging popctl artifacts [1/1] [0s] ✓ ⠋ 2/6 Packaging BuildMeta artifacts [1/1] [0s] ✓ ⠧ 3/6 Packaging Cluster artifacts [2/2] [0s] ✓ ⠼ 4/6 Packaging Helm artifacts [2/2] [1m5s] ✓ ⠙ 5/6 Packaging Registry (linux/amd64) artifacts [6/6] [4s] ✓ ⠼ 6/6 Packaging Agent (linux/amd64) artifacts [2/2] [2s] ✓ ⠸ Archiving air-gapped package [5s] ✓
En fonction des conditions du réseau, la création du paquet à air comprimé peut prendre plusieurs minutes.
Lorsque le paquet est prêt, le message suivant s'affiche :
------------------------------------------
Air-gapped package successfully exported!
File: synthetic-pop-airgapped.tar.gz
Transfert du paquet d'installation à air comprimé
Pour transférer le paquet air-gapped de l'hôte bastion vers l'hôte de votre environnement air-gapped :
Extrayez le paquet air-gapped et copiez le fichier
popctldans le répertoire/usr/local/binde votre hôte :tar -xzf </path/to/synthetic-pop-airgapped.tar.gz> -C /usr/local/bin --strip-components 1 airgapped/popctlImporter le paquet muni d'un bouchon d'air :
popctl air-gapped import -f </path/to/synthetic-pop-airgapped.tar.gz>
Sécurité et comportement du réseau dans les environnements isolés physiquement
Vous pouvez utiliser les points de lecture synthétiques ( PoP ) dans des environnements isolés physiquement afin de prendre en charge les environnements soumis à des exigences strictes en matière de sécurité réseau et de conformité.
Comportement du réseau sortant
L' PoP e synthétique n'établit pas de connexions sortantes vers l'Internet public lorsque vous la configurez avec un backend Instana auto-hébergé ou sur site. L' PoP e se connecte uniquement aux points d'accès réseau que vous configurez explicitement.
Comportement en matière de télémétrie et de collecte de données
L' PoP e synthétique ne contient aucune fonctionnalité de télémétrie ni de « phone home » intégrée. L'application « PoP » n'envoie pas de données d'utilisation, de diagnostics ou de statistiques à des services d' IBM s externes. L' PoP e ne procède pas à la vérification des antécédents des terminaux IBM.
Mécanisme de mise à jour
L' PoP e de synthèse ne prend pas en charge les mises à jour automatiques. Vous devez effectuer toutes les mises à jour manuellement. Pour mettre à jour l' PoP,, remplacez l'image du conteneur par une nouvelle version que vous fournissez. L' PoP e ne télécharge pas automatiquement les mises à jour ni les correctifs.
Champ d'application des communications réseau
L' PoP e synthétique limite toutes les communications réseau aux chemins suivants :
- PoP → Backend « Instana » configuré : la communication s'effectue uniquement avec le backend « Instana » que vous définissez à l'aide du
INSTANA_ENDPOINT_URL. - PoP → Cibles de surveillance synthétique : la communication s'effectue uniquement avec les points de terminaison que vous définissez dans les tests synthétiques.
- Composants internes d' PoP : les services internes, tels qu' Redis et d'autres composants d' PoP, communiquent uniquement au sein de l'environnement PoP. L' PoP e n'établit aucune autre connexion réseau.
- Vous contrôlez toutes les destinations réseau sortantes.
- Vous gérez toutes les mises à jour manuellement.
- L'application « PoP » ne communique pas avec des services d' IBM s externes.
- L' PoP e fonctionne entièrement à l'intérieur des limites de votre réseau.
Création d'un cluster
Créez un cluster K3s à un seul nœud. Si un cluster Kubernetes existe, ignorez cette étape.
- En ligne :
popctl cluster create - Environnement à air comprimé :
popctl cluster create --air-gapped
Installation de la PoP synthétique
Installer le PoP: synthétique :
- En ligne :
popctl up - Environnement à air comprimé :
popctl up --air-gapped
Si un cluster Kubernetes n'existe pas, vous pouvez créer un cluster et installer Synthetic PoP avec la commande suivante :
- En ligne :
popctl up --create-k3s-cluster - Environnement à air comprimé :
popctl up --air-gapped --create-k3s-cluster
Pour installer le PoP synthétique avec le mot de passe Redis, entrez les valeurs à l'invite :
? Enter PoP label(label is PoP identifier which can not be changed): synthetic-pop
? Enter instana synthetic endpoint URL: https://synthetics-saas.instana.rocks
? Enter the namespace of Synthetic PoP: default
? Do you want to enable TLS encryption for redis communication? No
? Enter a new password for redis communication: **********
? Enter instana agent key: ************
? Enter the download key: **********************
Lorsque l'installation du PoP auto-hébergé est initialisée avec succès, il commence à mettre en place le cluster. Il peut s'écouler plusieurs minutes avant que le PoP synthétique ne soit prêt. Lorsque le message suivant s'affiche, votre PoP synthétique est prêt.
⠹ Setting up the cluster [6s] ✓
⠦ Applying synthetic-pop [1m54s] ✓
Pour installer Synthetic PoP avec l'option « Redis » TLS activée, saisissez les valeurs des paramètres à l'invite :
? Enter PoP label(label is PoP identifier which can not be changed): synthetic-pop-default
? Enter instana synthetic endpoint URL: https://synthetics-saas.instana.rocks
? Do you want to enable TLS encryption for redis communication? Yes
? Enter TLS certificate files path including tls.crt, tls.key and ca.crt (hit Enter to auto-generate):
? Enter instana agent key: ************
? Enter the download key: **********************
Lorsque le message suivant s'affiche, votre PoP synthétique est prêt.
⠧ Generate TLS Secrets [5s] ✓
⠋ Setting up TLS Secrets [0s] ✓
⠼ Applying synthetic-pop [1m24s] ✓
Installation de l'agent d' Instana
Installez un agent d' Instana pour surveiller l' PoP de Synthetic.
Pour installer l'agent d' Instana, exécutez la commande suivante. Il n'est pas nécessaire de passer le paramètre --air-gapped.
popctl agent apply
Saisissez les valeurs à l'invite.
Un exemple de sortie est présenté dans l'exemple suivant :
? popctl will use Helm Chart to install/update Instana Agent, please uninstall the existing Instana Agent first if the agent is installed with Operator or YAML, please confirm to install agent with Helm Chart Yes
? Enter Instana Endpoint port: 443
⠴ Applying instana-agent [5s] ✓
⠋ Setting up TLS Secrets [0s] ✓
⠋ Setting up Instana Agent TLS [0s] ✓
Désinstallation de l'agent « Instana »
Pour désinstaller l'agent Instana, exécutez la popctl agent delete commande.
Un exemple de sortie est présenté dans l'exemple suivant :
? Do you want to delete the Instana agent? Yes
⠋ Uninstalling instana-agent from namespace instana-agent [0s] ✓
⠋ Deleting Agent TLS Secrets [0s] ✓
Désinstallation de Synthetic PoP
Pour désinstaller Synthetic PoP, exécutez la commande 'popctl down
Un exemple de sortie est présenté dans l'exemple suivant :
? Do you want to uninstall PoP under namespasce "default"? Yes
⠧ Uninstalling synthetic-pop from namespace default [0s] ✓
Suppression de la grappe K3s
Pour supprimer la grappe K3s, exécutez la commande 'popctl cluster delete
Le fichier binaire K3s est supprimé en même temps que le cluster.
Foire aux questions
Trouvez les réponses aux questions les plus fréquemment posées en rapport avec le PoP synthétique.
Comment installer un nouveau PoP synthétique dans un autre espace de noms ?
Le fichier de configuration de l'installation est enregistré dans " ~/.popctl/synthetic-pop.yaml. Vous pouvez le renommer, puis réexécuter 'popctl up pour lancer une nouvelle installation pour le PoP synthétique.
Comment mettre à jour l'agent Synthetic PoP ou Instana?
Réexécutez la popctl up commande et l'agent popctl agent apply pour mettre à jour Synthetic PoP et Instana vers la dernière version tout en conservant la même configuration.
Comment modifier les paramètres de l'agent « Synthetic » ( PoP ) ou « Instana »?
Vous pouvez mettre à jour manuellement les paramètres enregistrés dans le " ~/.popctl/synthetic-pop.yaml et réexécuter le " popctl up ou le " popctl agent apply".
Comment résoudre le problème "Timeout error : context deadline exceeded" lorsque vous installez Synthetic PoP?
Vérifiez l'état des pods dans l'espace de noms Synthetic PoP en exécutant 'kubectl get pod -n <namespace>. Si un pod n'est pas prêt, exécutez 'kubectl logs -n <namespace> -f <pod-name> pour vérifier les messages du journal et voir le message d'erreur. Si un paramètre incorrect, tel qu'une clé d'agent d' Instana ation erronée ou une adresse de point de terminaison synthétique URL, a été saisi, corrigez-le et relancez popctl upl'opération.
Comment résoudre le problème "une autre opération (installation/mise à niveau/retour en arrière) est en cours" lorsque l'installation est interrompue ?
Si la commande " popctl up ou " popctl agent apply est interrompue de manière inattendue, exécutez à nouveau la même commande.
Pour obtenir la liste de toutes les versions, quel que soit leur statut, exécutez la commande " helm ls -aA
Un exemple de sortie est présenté dans l'exemple suivant :
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
instana-agent instana-agent 1 2024-08-21 03:41:38.75709505 -0400 EDT pending-install instana-agent-1.2.73 1.275.0
La liste montre que le statut de la version est " pending-install. Pour désinstaller la version, exécutez la commande 'helm uninstall instana-agent -n instana-agent Ensuite, exécutez à nouveau la commande " popctl up ou " popctl agent apply
Comment passer d'autres paramètres tels que le numéro de réplique et le niveau de trace lorsque vous exécutez popctl up?
Vous pouvez utiliser '--set pour transmettre les paramètres définis dans le diagramme Helm 'values.yaml, comme pour la commande d'instillation Helm.
Pour afficher les paramètres de mise à l'échelle des répliques et mettre à jour le niveau de trace pour le pod du moteur de lecture :
popctl up \
--set browserscript.replicas=2 \
--set ism.replicas=2 \
--set http.replicas=2 \
--set javascript.replicas=2
Pour mettre à jour le niveau de trace :
--set browserscript.traceLevel="DEBUG" \
--set http.traceLevel="DEBUG" \
--set javascript.traceLevel="DEBUG" \
--set ism.traceLevel="DEBUG" \
...
Comment configurer un serveur proxy pour Synthetic PoP afin de se connecter au serveur backend Instana à l'aide de popctl?
Vous pouvez utiliser --set pour transmettre les paramètres définis dans le tableau « Helmvalues.yaml», comme dans la commande d'installation « Helm ».
popctl up \
--set proxy.popProxyProtocol="" \
--set proxy.popProxyServer="" \
--set proxy.popProxyUserPass=""