Comment exposer plusieurs de port à l'aide d'un équilibreur de charge des services dans kubernetes
J'ai créé un cluster à l'aide de google cloud plateform (conteneur moteur) et déployé un pod à l'aide d'suivantes fichier yaml:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: deployment-name
spec:
replicas: 1
template:
metadata:
name: pod-name
labels:
app: app-label
spec:
containers:
- name: container-name
image: gcr.io/project-id/image-name
resources:
requests:
cpu: 1
ports:
- name: port80
containerPort: 80
- name: port443
containerPort: 443
- name: port6001
containerPort: 6001
Alors je veux créer un service qui permet à la nacelle pour écouter sur tous ces ports. Je sais qu'il suit fichier yaml travaille à la création d'un service qui écoute sur un port:
apiVersion: v1
kind: Service
metadata:
name: service-name
spec:
ports:
- port: 80
targetPort: 80
selector:
app: app-label
type: LoadBalancer
Cependant quand je veux le pod à écouter sur plusieurs ports comme cela, il ne fonctionne pas:
apiVersion: v1
kind: Service
metadata:
name: service-name
spec:
ports:
- port: 80
targetPort: 80
- port: 443
targetPort: 443
- port: 6001
targetPort: 6001
selector:
app: app-label
type: LoadBalancer
Comment puis-je faire mon pod écouter plusieurs ports?
Avez-vous essayé avec plusieurs services?
merci d'avoir répondu. J'ai essayé avec plusieurs services et que ça fonctionne, le problème avec cela est que vous obtenez une adresse IP externe par service. Il n'y a pas moyen d'activer les gousses d'écouter plusieurs ports sans avoir de multiples services ou d'avoir un service qui écoute sur plusieurs ports?
merci d'avoir répondu. J'ai essayé avec plusieurs services et que ça fonctionne, le problème avec cela est que vous obtenez une adresse IP externe par service. Il n'y a pas moyen d'activer les gousses d'écouter plusieurs ports sans avoir de multiples services ou d'avoir un service qui écoute sur plusieurs ports?
OriginalL'auteur Sebastien | 2017-07-17
Vous devez vous connecter pour publier un commentaire.
Vous avez deux options:
Dans votre cas, le service devient:
Cela est nécessaire, de sorte que les points de terminaison de l'ambiguïté peut être levée.
De ce que j'ai pu comprendre, k8s ne prend pas en charge les plages de port dès maintenant: github.com/kubernetes/kubernetes/issues/23864
Salut, j'ai essayé de cette façon et je ne suis pas en mesure d'accéder à l'IP et le port à partir d'internet. Si j'expose un port de son travail très bien. Mais quand j'expose 80 et 443 comme ci-dessus. Il échoue. La Page n'est pas ouvert. Faut-il travailler pour vous?
puis-je le faire avec 2 diferents gousses?
Mise à jour: il y a une solution github.com/kelseyhightower/dynamic-ports-tutorial
OriginalL'auteur danielepolencic