J'ai suivi le tutoriel ici : https://medium.com/@nithinmallya4/deploying-a-rails-application-to-google-container-engine-with-kubernetes-b08b2de353fc
Avec leur base de code : https://github.com/nmallya/gkedemoapp
Vous pouvez voir comment ce déploiement est réalisé ici, entre les commentaires "FIRST TIME DEPLOYMENT" : https://github.com/nmallya/gkedemoapp/blob/master/gcloud_deployment.sh
J'ai créé le certificat SSL, le service web est en ligne et fonctionnel, mais je ne peux pas créer l'ingress comme décrit. Le statut de l'ingress est "Tous les services back-end sont dans un état NON SAIN".
Le YML de l'ingress est le suivant :
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gke-ingress
annotations:
kubernetes.io/ingress.class: "gce"
# kubernetes.io/ingress.allow-http: "false"
# ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
# Cela suppose que tls-secret existe.
- secretName: gkecert
backend:
serviceName: web
servicePort: 443
J'imagine que je devrai fournir plus d'informations mais je ne sais pas quoi/ où chercher pour dépanner ensuite.
0 votes
Le message d'erreur implique que vos backends (pods) ne passent pas leurs vérifications de santé. Vous devez curler le chemin HC pour voir si vous obtenez une réponse 200. Pouvez-vous nous fournir le YAML de votre service afin que nous puissions savoir sur quel port de destination le HC interroge ?
0 votes
Ma impression selon laquelle les pods étaient en bonne santé provenait de l'indication READY 2/2 dans
kubectl get pods
. En réalité, ils n'étaient pas en bonne santé et la vérification des journaux du service Web dans ces pods a révélé pourquoi. Je posterai bientôt une réponse sur la manière dont j'ai trouvé le problème.