Lors de l'exécution de mon conteneur sur kubernetes
à l'aide de la commande de mise à niveau de barre, j'obtiens cette erreur:
'Échec de la sonde de préparation: Get http://172.17.0.6:3003/ : composez TCP 172.17.0.6:3003: getsockopt: connexion refusée'.
Mon image de docker est pour une application node.js et j'essaie de la gérer via minikube.
Pour quiconque ici, si vous utilisez helm pour gérer vos déploiements, vous devez le définir initialDelaySeconds
dans le deployments.yaml
modèle dans le /templates
dossier sous livenessProbe
. Le livenessProbe
forcera le redémarrage de votre pod si la sonde ne peut pas se connecter, comme c'était le cas avec le mien. Cela ne donnait pas assez de temps à ma demande pour être créée.
Cela pourrait être résolu en augmentant le délai initial de la vérification de l'état de préparation. En fait, puisque la connexion à la base de données prenait plus que le délai initial à la suite duquel la sonde de disponibilité échouait.
Barre:
Je recommanderais de définir la valeur initialDelaySeconds
dans values.yaml
fichier et utilisez une action {{ .Values.initialDelaySeconds }}
pour insérer la valeur dans le deployment.yaml
modèle.
kubectl:
Ajoutez simplement le initialDelaySeconds: 5
si vous voulez 5 secondes à votre manifeste (déploiement, pod, jeu de répliques, etc.) et appliquez vos modifications.
S'il échoue, prenez du café et commencez à regarder les journaux du conteneur
kubectl logs -h
pour plus d'aide