Surveillance de l' IBM API Connect (APIC) sur Red Hat OpenShift
Vous pouvez surveiller l'APIC d' IBM déployé sur Red Hat OpenShift avec Instana pour une observabilité complète.
Pour surveiller l'APIC d' IBM sur Red Hat OpenShift, suivez les étapes décrites dans les sections suivantes :
- Installez l'agent Instana sur Red Hat OpenShift
- Intégration de l'agent Instana avec l'APIC d' IBM
- Ajout de certificats APIC
Installation de l'agent Instana sur Red Hat OpenShift
Pour installer l'agent Instana sur Red Hat OpenShift afin d'assurer l'observabilité APIC, procédez comme suit :
Étape 1. Créer l'espace de noms et attribuer des autorisations
À partir de l'interface CLI d' OpenShift, créez un espace de noms nommé instana-agent et accordez-lui les autorisations nécessaires.
$ oc create ns instana-agent
$ oc adm policy add-scc-to-user privileged -z instana-agent -n instana-agent
Étape 2. Installez l'opérateur Instana à partir de OperatorHub
- Ouvrez OperatorHub et passez à l'espace de noms
instana-agent. - Filtrez par Instana et sélectionnez l 'opérateur d' Instana (par exemple, version 2.0.3 ou ultérieure).
Étape 3. Configurer les options d'installation
Lorsque vous installez l'opérateur Instana, utilisez la configuration suivante :
- Chaîne :
stable - Mode :
All Namespaces - Espace de noms installé :
openshift-operators - Stratégie :
Automatic
Après l'installation, basculez l'espace de noms vers instana-agent pour créer l'instance de l'agent Instana.
Étape 4 : Créer une instance d'agent d' Instana
Ouvrez l 'opérateur « Instana » (Définir le niveau de détail) à partir de l'onglet « OperatorHub » (Définir le niveau de détail).
Sélectionnez l'onglet Agent d' Instana.
Cliquez sur Créer une instance.
Passez à l'affichage de l' YAML et entrez la configuration comme suit :
apiVersion: instana.io/v1
kind: InstanaAgent
metadata:
name: instana-agent
namespace: instana-agent
spec:
agent:
configuration_yaml: |
# Optional: Add custom agent configurations here.
endpointHost: <your-host-endpoint>
endpointPort: '443'
env: {}
key: uBp4GXpZQpKrHxMXNcvInQ
zone:
name: GCP US # Considered auto-generated
cluster:
name: <your-cluster-name>
instana-agent) ni le nom de l'instance (instana-agent).Une fois créée, l'instance sgent de l' Instana est visible dans l'espace instana-agent de noms. Le processus d'installation peut prendre environ 4 à 5 minutes.
Étape 5. Valider l'installation depuis la console d' OpenShift
Après le déploiement, vérifiez que les pods de l'agent d' Instana s s'exécutent dans l'espace instana-agent de noms.
Chaque nœud du cluster héberge un pod d'agent d' Instana. Par exemple, un cluster avec 2 nœuds affiche 2 pods.
Pour vérifier, exécutez les commandes suivantes :
$ oc get pods,ds -n instana-agent
$ oc describe ds instana-agent -n instana-agent
Si certains pods ne démarrent pas en raison de problèmes d'autorisation, réappliquez la politique SCC :
$ oc adm policy add-scc-to-user privileged -z instana-agent -n instana-agent
Ensuite, redémarrez l' DaemonSet e pour reconstruire les pods :
$ oc rollout restart ds instana-agent -n instana-agent
Intégration de l'agent Instana avec l'APIC d' IBM
Pour intégrer l'agent Instana à l'APIC d' IBM sur Red Hat OpenShift, procédez comme suit :
Étape 1 : Assurez-vous que l'opérateur Instana est installé dans le cluster OpenShift
Assurez-vous que l'opérateur Instana fonctionne correctement dans l'espace de noms souhaité avant de continuer. Par exemple :
- Instana Version opérateur : 2.1.25
- Espace de noms :
<namespace name>
Vous pouvez installer l'opérateur Instana à partir de OperatorHub ou à l'aide de l'interface CLI OpenShift.
Pour installer l'opérateur à partir de OperatorHub,, consultez la section Installation de l'agent sur OpenShift.
Pour installer l'opérateur à l'aide de l'interface CLI OpenShift, appliquez le script d' CatalogSource suivant :
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: ibm-operator-catalog
namespace: openshift-marketplace
spec:
displayName: IBM Operator Catalog
image: 'icr.io/cpopen/ibm-operator-catalog:latest'
publisher: IBM
sourceType: grpc
updateStrategy:
registryPoll:
interval: 45m
Étape 2 : Configurer l'agent d' Instana s pour APIC
Pour configurer l'agent d' Instana s pour APIC, procédez comme suit :
- Obtenez l' YAML s de configuration dans Menu > Déploiement de l'agent > OpenShift dans l'interface utilisateur d' Instana.
Exemple d' YAML de base :
apiVersion: instana.io/v1 kind: InstanaAgent metadata: name: instana-agent namespace: <namespace name> spec: zone: name: <zone name> # Optional cluster: name: <cluster name> agent: key: <instana-agent-key> downloadKey: <instana-download-key> endpointHost: <instana-endpoint-host> endpointPort: "443" env: INSTANA_LOG_LEVEL: DEBUG - Déployez cette configuration en mode DEBUG pour valider la connectivité et les journaux de dépannage.
Étape 3 : Réinstallez l'opérateur (s'il est corrompu)
Si l'opérateur d' Instana s ou la définition de ressource personnalisée (CRD) est corrompu, réinstallez-le à l'aide des commandes suivantes :
oc delete crd/agents.instana.io
Étape 4 : Valider la connectivité avec APIC
Avant de configurer Instana, vérifiez la connectivité APIC à l'aide des curl commandes indiquées dans les exemples suivants.
Vous aurez peut-être besoin des informations suivantes :
- Hôte de gestion APIC URL : obtenir à partir de la configuration de l'opérateur APIC.
- ID client et clé secrète client : obtenez-les à partir du
credentials.jsonfichier téléchargé depuis votre APIC Cloud Manager.
Pour obtenir le domaine, exécutez la commande de validation suivante :
curl -k -X GET "https://<apic-host>/api/cloud/provider/identity-providers?fields=title%2Crealm" -H "Accept: application/yaml" -H "Accept-Language: en-US" -H "User-Agent: Toolkit/10.0.8.0" -H "X-Ibm-Client-Id: <client-id>" -H "X-Ibm-Client-Secret: <client-secret>"
Pour obtenir le jeton porteur, exécutez la commande de validation suivante :
curl -k https://<apic-host>/api/token -H "Content-Type: application/json" -H "accept: application/json" -d '{"username":"<username>", "password":"<password>", "realm":"<realm>",
"client_id":"<client-id>", "client_secret":"<client-secret>", "grant_type":"password"}'
Étape 5 : Ajouter l'intégration APIC à l'agent d' Instana
Pour activer la surveillance APIC, procédez comme suit :
- Mettez à jour votre fichier
configuration.yamlagent d' Instana comme suit :spec: agent: configuration_yaml: |- com.instana.plugin.ibmapiconnect: remote: - host: '<apic-host>' port: '443' username: '<username>' password: '<password>' realm: '<realm>' clientId: '<client-id>' clientSecret: '<client-secret>' availabilityZone: 'API-Connect' poll_rate: <desired-poll-rate> - Appliquez les modifications en exécutant la commande suivante :
oc apply -f instana-agent.yaml
Ajout d'un certificat APIC
Pour ajouter un certificat APIC en toute sécurité, procédez comme suit :
Étape 1 : Télécharger le certificat APIC
Pour télécharger localement le certificat API Connect SSL, exécutez la commande suivante :
mkdir temp
cd temp
echo | openssl s_client -connect <apic-host>:443 | openssl x509 > ~/temp/apic.cer
ls -ltr
# Should display apic.cer
Étape 2 : Téléchargez le certificat vers le pod de l'agent Instana
Pour répertorier tous les pods dans l'espace de noms spécifié, exécutez la commande suivante :
oc get pods -n <namespace name>
Pour copier le certificat téléchargé dans le pod de l'agent d' Instana, exécutez les commandes suivantes :
oc cp ./apic.cer <pod name>:/tmp/apic.cer -n <namespace name>
Étape 3 : Importez le certificat dans le magasin de clés
Pour importer le certificat dans le conteneur de l'agent d' Instana, exécutez la commande suivante :
oc exec -it <pod name> -n <namespace name> -- /opt/instana/agent/jvm/bin/keytool -import -alias tempcert -keystore /opt/instana/agent/jvm/lib/security/cacerts -storepass changeit -file /tmp/apic.cer -noprompt
Pour extraire le keystore, exécutez la commande suivante :
oc cp <pod name>:/opt/instana/agent/jvm/lib/security/cacerts /tmp/cacerts -n <namespace name>
Étape 4 : Créer un secret d' Kubernetes e pour le certificat
Pour supprimer le secret existant, exécutez la commande suivante :
oc delete secret ibm-apic-ca-secret -n <namespace name> --force
Pour créer un secret à l'aide du keystore mis à jour, exécutez la commande suivante :
oc create secret generic ibm-apic-ca-secret --from-file=cacerts=/tmp/cacerts -n <namespace name>
Étape 5 : Montez le secret dans le pod de l'agent d' Instana
Pour monter le volume secret, mettez à jour la configuration de l'agent d' Instana s comme suit :
spec:
agent:
pod:
volumeMounts:
- name: apic-cert-volume
mountPath: /opt/instana/agent/jvm/lib/security/cacerts
subPath: cacerts
volumes:
- name: apic-cert-volume
secret:
secretName: ibm-apic-ca-secret
Étape 6 : redémarrez les pods de l'agent d' Instana
Pour appliquer les modifications, redémarrez l'agent d' InstanaDaemonSet en exécutant la commande suivante :
oc rollout restart -n <namespace name> ds instana-agent
Vérifiez que les pods redémarrent et atteignent l'état Running.