Résolution des problèmes liés au déploiement d'Analyse statique AppScan 360°
Erreur renvoyée après l'exécution du script de déploiement
Dépendance cert-manager manquante
- Erreur :
Error: unable to build kubernetes objects from release manifest: [resource mapping not found for name: "analyzer-cert" namespace: "" from "": no matches for kind "Certificate" in version "cert-manager.io/v1" ensure CRDs are installed first, resource mapping not found for name: "ascp-adapter-cert" namespace: "" from "": no matches for kind "Certificate" in version "cert-manager.io/v1"
- Cause principale :
Cette erreur se produit lorsque la dépendance du module complémentaire cert-manager n'est pas déployée sur le cluster. AppScan 360° SAST dépend du module complémentaire cert-manager pour le déploiement.
- Solution :
Vérifiez que cert-manager est déployé et en cours d'exécution sur votre cluster Kubernetes. Consultez la configuration système requise et les instructions de configuration de l'environnement.
Dépendance Keda manquante
- Erreur :
Error: unable to build kubernetes objects from release manifest: [resource mapping not found for name: "analyzer-hpa" namespace: "" from "": no matches for kind "ScaledObject" in version "keda.sh/v1alpha1" ensure CRDs are installed first, resource mapping not found for name: "ascp-adapter-hpa" namespace: "" from "": no matches for kind "ScaledObject" in version "keda.sh/v1alpha1"
- Cause principale :
Cette erreur se produit lorsque la dépendance du module complémentaire Keda n'est pas déployée sur le cluster. AppScan 360° SAST dépend du module complémentaire Keda pour le déploiement.
- Solution :
Vérifiez que Keda est déployé et en cours d'exécution sur votre cluster Kubernetes. Consultez la configuration système requise et les instructions de configuration de l'environnement.
Ressource déjà utilisée ou impossible à recréer
- Erreur :
Previous PVC storage not completely cleaned up.
Incomplete finalizers on pods.
Namespace stuck in termination state.
- Cause principale :
Les ressources d'un déploiement antérieur ne sont pas complètement nettoyées au cours du processus de suppression. Cela peut également se produire lorsque l'espace de noms est supprimé de force, ce qui prive des ressources de suivi sur le cluster.
- Solution :La solution varie en fonction du type de problème de ressource :
- Pour nettoyer un espace de noms bloqué à l'état de fin
kubectl get namespace "hcl-appscan-sast" -o json | tr -d "\n" | sed "s/\"finalizers\": \[[^]]\+\]/\"finalizers\": []/" | kubectl replace --raw /api/v1/namespaces/hcl-appscan-sast/finalize -f-
-
Pour nettoyer un pod bloqué à l'état de fin
kubectl delete pod <pod-name> --grace-period=0 --force --namespace <namespace>
-
Pour supprimer les ressources PV et PVC orphelines
kubectl patch pv <pv-name> -p '{"metadata":{"finalizers":null}}' kubectl delete pv --grace-period=0 --force --namespace <namespace> <pv-name> kubectl patch pvc <pvc-name> -p '{"metadata":{"finalizers":null}} kubectl delete pvc --grace-period=0 --force --namespace <namespace> <pvc-name>
- Pour nettoyer un espace de noms bloqué à l'état de fin
Paramètres requis non fournis
- Erreurs :
-
ERROR: Authorization token is required for the deployment. Use the option '--auth-token' to specify the file path which contains the token.
-
ERROR: Authorization token file path specified for the option '--auth-token' does not exist. o ERROR: Rabbitmq password is required for the deployment. Use the option '--rabbitmq-pwd' to specify the file path which contains the password.
-
ERROR: Rabbitmq password file path specified for the option '--rabbitmq-pwd' does not exist.
-
ERROR: CA certificate & key are required for the deployment. Use the options '--cert, --cert-key' to specify the ca certificate and the private-key file paths.
-
ERROR: Certificate file path specified for the option '--cert' does not exist.
-
ERROR: Certificate private key file path specified for the option '--cert-key' does not exist.
-
ERROR: Configuration file path specified for the option '--config-file' does not exist.
-
- Cause principale :
Les paramètres requis par le script de déploiement ne sont pas fournis ou les valeurs fournies pour les options ne sont pas valides.
- Solution :
Vérifiez toutes les options requises par le script de déploiement et assurez-vous que des valeurs valides sont spécifiées pour les options.
Démarrage des pods impossible après l'exécution du script de déploiement
Après le déploiement, vous devez vous connecter au cluster pour vérifier que tous les pods AppScan 360° SAST sont opérationnels. Voici quelques exemples de problèmes de déploiement liés aux pods.
Erreurs liées aux ressources PV (PersistentVolume) et PVC (PersistentVolumeClaim)
Pour créer une ressource PVC, la taille de stockage requise doit être disponible sur le disque. Vérifiez que l'espace disque du stockage de données est suffisant pour prendre en charge la capacité requise. Une ressource PVC non provisionnée entraîne l'échec de la création des pods.
azurefile
permet de bénéficier d'une grande capacité de stockage moyennant des frais.Si les ressources PV et PVC existantes liées à AppScan 360° SAST ne sont pas complètement supprimées, aucun nouveau déploiement ne peut créer de ressources PV et PVC pour cause de collision de noms, ce qui entraîne l'échec de la création des pods.
-
Solution :
Attendez quelques secondes après la suppression pour vous assurer que toutes les ressources PV et PVC ont bien été libérées avant de tenter un nouveau déploiement.
UC/Mémoire insuffisante pour la création des pods
En ce qui concerne les ressources des pods, un ensemble défini d'exigences s'applique à chacun des composants d'AppScan 360° SAST. Pour plus d'informations, consultez la section Exigences en matière de ressources.
La création des pods échoue si la limite minimale de ressources définie pour chaque pod n'est pas disponible sur le ou les pools de nœuds.
-
Solution :
Assurez-vous que la taille des ressources des pools de nœuds est conforme aux exigences en matière de ressources définies par AppScan 360° SAST.
RabbitMQ non opérationnel
Le service RabbitMQ doit être opérationnel pour que les composants d'AppScan 360° SAST fonctionnent comme prévu. La mise en route du service RabbitMQ prend quelques minutes et le démarrage des pods AppScan 360° SAST peut échouer à plusieurs reprises pendant le déploiement de RabbitMQ. Si le service RabbitMQ ne parvient pas à démarrer, les pods AppScan 360° SAST échouent à leur tour.
- Erreur :
Startup probe failed: …
Readiness probe failed: …
- Cause principale :
Un ou plusieurs contrôles d'intégrité ont échoué pour le pod.
- Solution :
- Vérifiez que les composants dépendants fonctionnent et sont configurés correctement.
- Exécutez la commande
kubectl describe pod <pod-name> -n <namespace>
pour plus de détails. - Pour plus d'informations, consultez les journaux des pods. Voir Dépannage des examens conteneurisés.
Echec de l'extraction d'image
Erreur :
failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized
Cause principale :
Ce problème est dû au fait que le secret de registre AppScan 360° SAST n'a pas été créé ou que le secret de registre actuel contient des informations d'identification obsolètes.
Solutions :
- Supprimez le secret de registre AppScan 360° SAST précédent.
- Mettez à jour le nom d'utilisateur et le mot de passe du registre fournis au script de déploiement. Voir Paramètres de configuration du déploiement
Certificat expiré
- Réexécutez la commande de déploiement en fournissant le nouveau certificat et la clé privée correspondante.
- Supprimez les secrets suivants de l'espace de noms qui contient les certificats des composants internes. Les secrets sont automatiquement régénérés.
kubectl delete secret sast-service-tls gateway-tls workflow-manager-tls scan-manager-tls preparer-tls analyzer-tls ascp-adapter-tls sast-service-rabbitmq-tls --namespace hcl-appscan-sast
- Supprimez tous les pods de l'espace de noms. De nouveaux pods utilisant les secrets TLS nouvellement générés sont automatiquement créés.
kubectl delete --all pods --namespace=hcl-appscan-sast
Echec du déploiement lors d'une nouvelle installation
Erreur :
L'opération de déploiement de Helm échoue avec l'erreur générique ERROR: Deploy SAST services - failed. Installation aborted!
Cause principale :
Une tentative de mise à niveau précédente sur ce cluster a échoué en laissant d'anciens fichiers secrets sur le cluster. Ces fichiers empêchent le nouveau déploiement de créer des fichiers similaires nécessaires au nouveau déploiement.
Solution :
Exécutez la commande undeploy avant de tenter une nouvelle installation. Voir Suppression d'Analyse statique AppScan 360°
Service inaccessible
AppScan 360° SAST doit être accessible via le FQDN (https://<sast-ingress-fqdn>
) fourni comme paramètre du script de déploiement. Voici quelques exemples d'erreurs qui peuvent rendre le service inaccessible via le FQDN :
- Erreur :
- Impossible d'accéder à ce site.
-
Cause principale :
Cette erreur peut se produire lors d'une tentative d'accès à AppScan 360° SAST à partir du FQDN spécifié sur un navigateur, lorsque le contrôleur d'ingress n'est pas correctement installé ou configuré.
- Solution :
- Vérifiez que contrôleur d'ingress est déployé et en cours d'exécution sur votre cluster Kubernetes. Consultez la section des conditions préalables pour prendre connaissance des différentes dépendances requises.
-
Assurez-vous que l'adresse IP statique utilisée lors de la configuration du contrôleur d'ingress correspond au FQDN utilisé pour le déploiement.
Pour ce faire, vous pouvez créer un jeu d'enregistrements sur votre outil de gestion DNS cloud ou mettre à jour le fichier /etc/hosts de la machine locale.
- Erreur :
- Impossible d'accéder à ce site.
- Cause principale :
Le FQDN utilisé pour configurer l'ingress est différent de celui utilisé pour accéder au service. Un mappage IP/DNS incorrect peut ici constituer un autre problème. Si le FQDN utilisé est différent de la valeur mappée à l'adresse IP d'ingress, le service est inaccessible.
- Solution :
- Vérifiez que le FQDN utilisé pour accéder au service correspond à la valeur transmise au script de déploiement.
- Vérifiez que la valeur du FQDN est mappée à l'adresse IP d'ingress dans le fichier /etc/hosts de votre machine locale ou dans la zone d'hôte du DNS cloud.
- Erreur :
Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp [::1]:8080: connect: connection refused
- Cause principale :
Le fichier
config
est manquant ou n'est pas configuré correctement pour accorder l'accès dekubectl
au cluster. - Solution possible :
-
Assurez-vous que le fichier
config
existe dans.kube/config
. -
Assurez-vous que
.kube/config
est détenu par l'utilisateur actuel. -
Assurez-vous que
kube/config
dispose des autorisations appropriées. -
Exporter
KUBECONFIG
.
-
- Erreur :
- Le message d'erreur dépend ici de la cause principale
- Cause principale :
- Imagepullbackoff : Il s'agit de la raison la plus courante des échecs de pods. Une erreur se produit lorsque l'image ne peut pas être extraite du chemin référentiel/référentiel fourni.
- UC insuffisante, mémoire insuffisante : Cette erreur se produit lorsque les valeurs minimales d'UC et de mémoire définies pour AppScan 360° SAST ne sont respectées par aucun nœud du pool de nœuds du cluster.
- Solution :
- Vérifiez que le référentiel fourni lors du déploiement contient les images en cours de déploiement.
- Vérifiez que l'authentification du référentiel fournie est correcte. Le déploiement d'AppScan 360° SAST nécessite une authentification précise pour extraire les images du référentiel.
- Vérifiez que le pool de nœuds dispose de suffisamment de mémoire et de ressources d'UC pour répondre aux exigences minimales définies lors du déploiement.
- Pour plus d'informations, consultez les journaux d'erreurs des pods.
- Erreur :
Failed to inject service URL to SAClientUtil ...
- Cause principale :
Problème de connectivité possible avec le serveur ASCP et échec subséquent de récupération de la clé publique.
- Solution :
-
Vérifiez que le serveur ASCP est actif et en cours d'exécution.
-
Vérifiez que les informations du serveur, le jeton d'authentification, le certificat et la clé sont tous corrects.
-
Pour plus d'informations, consultez les journaux d'erreurs des pods.
-
- Erreur :
L'état de l'examen indique « Initialisation » et ne va pas plus loin.
- Cause principale :
Problème de connectivité possible entre ASCP et AppScan 360° SAST.
- Solution :
- Vérifiez que le serveur ASCP est configuré avec l'URL correcte AppScan 360° SAST.
- Vérifiez que la machine serveur ASCP résout correctement le nom de domaine complet d'ingress de AppScan 360° SAST.
- Pour plus de détails, consultez les journaux ASCP.