Je déploie un cluster Kubernetes sur GCE à l'aide de Gitlab-CI. J'aimerais garder le coût au minimum - voici ma configuration actuelle:
- Les nœuds s'exécutent sur 3
f1-micro
instances - Un module système en cours d'exécution
Traefik
configuré avec ServiceTypeLoadBalancer
- DNS générique configuré
- 1
postgres
dosette - 1 module de serveur Web
ingress
configuré pour Traefik
Je souhaite réduire le coût de mon déploiement. La majeure partie du coût incombe à l'équilibreur de charge GCE. Existe-t-il un moyen d'utiliser une adresse IP publique au lieu d'un équilibreur de charge sur GCE? Si oui, puis-je utiliser l'adresse IP allouée au cluster (au lieu de réserver une adresse IP statique)?
En d'autres termes, existe-t-il un moyen de lier une adresse IP éphémère à un service Kubernetes en utilisant GCE sans équilibreur de charge?
Y a-t-il une autre configuration que je peux faire différemment qui réduira les coûts en général sur GCE?
Réponses:
Oui, via ExternalIPs. Sachez que cela signifiera que votre service tombera en panne si le nœud qui a déclaré l'IP externe attribuée échoue, mais si vous exécutez uniquement 1 maître, vous ne vous en souciez probablement pas beaucoup.
Exemple de service:
L'IP doit être l' IP interne de l'instance GCE (car GCE DNAT achemine le trafic vers les IP internes). Le service doit alors être accessible via l'adresse IP externe affectée au nœud.
Vous souhaiterez probablement modifier le service de votre contrôleur d'entrée, afin de pouvoir router toutes vos applications via une IP.
la source
NodePort
versionJe préfère ne pas utiliser les équilibreurs de charge cloud, jusqu'à ce que cela soit nécessaire, en raison du coût et du blocage des fournisseurs.
Au lieu de cela, j'utilise ceci: https://kubernetes.github.io/ingress-nginx/deploy/
C'est un pod qui exécute un équilibreur de charge pour vous. Cette page contient des notes d'installation spécifiques à GKE.
la source