Rancher 2 propose 4 options dans la section "Ports" lors du déploiement d'une nouvelle charge de travail:
Quelles sont les différences? Surtout entre NodePort, HostPort et Cluster IP?
HostPort (nœuds exécutant un pod): Similaire à docker, cela ouvrira un port sur le nœud sur lequel le pod s'exécute (cela vous permet d'ouvrir port 80 sur l'hôte). Il est cependant assez facile de configurer une analyse:
Ne spécifiez pas de hostPort pour un pod sauf si cela est absolument nécessaire. Lorsque vous liez un pod à un hostPort, cela limite le nombre de places que le pod peut être planifié, car chaque combinaison doit être unique. Si vous ne spécifiez pas explicitement le hostIP et le protocole, Kubernetes utilisera 0.0.0.0 comme hostIP par défaut et TCP comme protocole par défaut. kubernetes.io
NodePort (sur chaque nœud): Est limité aux ports entre le port 30 000 et le port ~ 33 000. Cela n'a généralement de sens qu'en combinaison avec un équilibreur de charge externe (dans le cas où vous souhaitez publier une application Web sur le port 80)
Si vous devez explicitement exposer le port d'un pod sur le nœud, envisagez d'utiliser un service NodePort avant de recourir à hostPort. kubernetes.io
IP du cluster (interne uniquement): Comme indiqué dans la description, cela ouvrira un port uniquement disponible pour les applications internes fonctionnant dans le même cluster . Un service utilisant cette option est accessbile via l'IP de cluster interne.