0
votes

Comment configurer Liveness dans Kubernetes

Je suis nouveau sur Kubernetes. Je voudrais configurer la vivacité pour mon cluster EKS kubernetest. J'ai parcouru la documentation ci-dessous https://kubernetes.io/docs/tasks / configure-pod-container / configure-viveness-readiness-probes / J'ai quelques questions pour configurer le

    ci-dessus
  1. Lorsque j'applique liveness-exec, dois-je mentionner un espace de noms particulier, par exemple kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml -n kube-system
  2. Puis-je utiliser le fichier yaml directement à partir de k8s.io/example ou je dois le cloner dans mon fichier local
  3. Comment tout cela fonctionne-t-il? Ce que je comprends jusqu'à présent, c'est

    a) Lorsque nous déploierons le pod, il créera un conteneur et créera / tmp / fichier sain, puis supprimera le conteneur

    b) Il fonctionnera au bout de 30 secondes et refera la même chose à partir de l'étape 3a

J'ai suivi les étapes ci-dessus et j'obtiens un message d'erreur indiquant cat:

can't open '/tmp/healthy': No such file or directory

Ce message peut sembler répétitif mais j'ai essayé de lire le message précédent mais je n'ai pas pu trouver les solutions. Veuillez aider


0 commentaires

3 Réponses :


0
votes

Le livenessProbe en conjonction avec le readynessProbe sont deux paramètres que vous devez mettre dans votre propre définition yaml en tant que spécification de conteneur, les fichiers d'exemple ne sont que pour illustrer cela .

Un exemple de livenessProbe pour un service grafana colud be:

livenessProbe:
  failureThreshold: 10
    httpGet:
      path: /api/health
      port: 3000
      scheme: HTTP
    initialDelaySeconds: 60
    periodSeconds: 10
    successThreshold: 1
    timeoutSeconds: 30

Tous les paramètres ne sont pas nécessaires, vous devez réfléchir à la façon de faites-le mieux pour vos services.


0 commentaires

0
votes

La commande "apply" du client Kubernetes Rest (kubectl) peut avoir un fichier local ou distant. La vivacité est la preuve de la disponibilité et la disponibilité est la preuve de la disponibilité du pod. À partir du moment où le pod est créé, livenessProbe s'exécute toutes les 5 secondes selon periodSeconds configuré, la commande "rm -rf / tmp / healthy" s'exécute après 30 secondes de veille, donc il arrivera un moment où la preuve de vie ne trouvera pas le fichier et générera une alerte.

J'espère que cela vous aidera.


0 commentaires

1
votes

1) Quand j'applique viveness-exec, dois-je mentionner un espace de noms particulier par exemple kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness. yaml -n système-kube

Si vous spécifiez un espace de noms dans la commande apply, le pod sera créé dans cet espace de noms, à condition que l'espace de noms existe. Si vous ne spécifiez pas d'espace de noms (par ligne de commande ou dans la définition du pod yaml), le pod sera créé dans l'espace de noms par défaut

2) Puis-je utiliser le fichier yaml directement à partir de k8s.io/example ou j'ai besoin de cloner dans mon local

Vous pouvez l'appliquer directement depuis k8s.io/example.

kubectl apply -f https://k8s.io/examples/pods/probe/exec-liveness.yaml

3) Comment tout cela fonctionne-t-il? Ce que je comprends jusqu'à présent, c'est

a) Lorsque nous déploierons le pod, il créera un conteneur et créera / tmp / fichier sain, puis supprimez le conteneur

b) Il fonctionnera après 30 secondes et refera la même chose à partir de l'étape 3a

Je pense que l'idée de l'exemple est juste de montrer comment fonctionnent les sondes de vivacité et comment votre pod sera redémarré après l'échec du test, donc les commandes exécutées sont un peu artificielles. Je pense que l'erreur que vous voyez est simplement l'échec de la sonde à la vérification "cat / tmp / healthy"


0 commentaires