0
votes

L'adresse IP des pods Kubernetes doit être accessible ou pingable à partir d'un réseau externe - à l'exception du maître et du travailleur

J'ai créé un déploiement avec NodePort. Le pod est créé et le pod a une adresse IP. Un seul conteneur s'exécute dans un pod. Je souhaite accéder à cette adresse IP de conteneur / pod depuis l'extérieur, en dehors du maître ou du nœud. Je suis maintenant en mesure d'envoyer une requête ping à l'adresse IP du pod à partir du maître et du nœud, mais pas à partir de mon appareil. Le conteneur / pod doit être pingable depuis mon appareil. Je peux envoyer une requête ping à mon appareil à partir de mon pod / conteneur.

Que faut-il faire pour rendre l'adresse IP du pod visible / accessible de l'extérieur?


0 commentaires

3 Réponses :


1
votes

Vous devez pointer vers le port de service (de type NodePort) sur un nœud, pas l'IP du pod.

telnet <node_ip>:<service_port>

Vérifiez quel port avez-vous obtenu. Ensuite, obtenez l'adresse IP de n'importe quel nœud du cluster k8s

kubectl get nodes

Et atteignez-la comme

kubectl get service <my-service>

En savoir plus sur les types de services: https://kubernetes.io/docs/concepts/services-networking/service/ a>


3 commentaires

J'ai créé un service en utilisant nodeport. J'ai Ip pour le pod et le conteneur est en cours d'exécution. Je dois configurer cette IP POD dans un autre appareil. Si je veux configurer l'IP du pod sur un autre appareil, cette IP doit être accessible à cet appareil. Comment rendre l'adresse IP du POD accessible à l'appareil. L'appareil ne fait pas partie du cluster kubernetes. C'est en dehors du cluster.


Aucune suggestion ? s'il te plaît


utilisez node_ip: service_port, pas pod ip



0
votes

Si vous souhaitez accéder à votre pod, vous devez le faire comme: $ {node-ip}: $ {nodeport}. Cependant, vous ne pouvez pas accéder à votre pod par son clusterIP, il sert uniquement pour la communication au sein du cluster. obtenir une adresse IP externe en remplaçant le service par LoadBalancer, mais l'adresse IP est reçue par un fournisseur de cloud.


2 commentaires

Je ne peux pas utiliser l'équilibreur de charge car l'adresse IP externe est toujours affichée comme état en attente. J'utilise des kubernetes open source.


Toute suggestion pls



0
votes

Je suis d'accord avec les conclusions de @Max Lobur et @ Мартин Петков, selon lesquelles l'utilisation de Le type NodePort de services Kubernetes permet de mettre en proxy le port de service de pod sous-jacent vers un port du pool sur le nœud correspondant, vous pouvez donc atteindre le pod Kubernetes en dehors du cluster sur l'adresse IP du nœud et le port proxy associé.

Vous pouvez également communiquer avec le pod Kubernetes cible en appliquant Adresse IP externe dans un service particulier pour transmettre le trafic réseau au nœud associé, mais il s'agit d'une solution assez lourde, car elle nécessite la mise en œuvre de certaines routes sur une adresse IP externe pour transférer le trafic réseau vers le nœud Kubernetes imbriqué.


0 commentaires