2017-07-25 3 views
1

Je souhaite créer un service loadBalancer sur kubernetes qui expose une large gamme de ports. Comme vous ne pouvez pas encore le faire sur kubernetes (https://github.com/kubernetes/kubernetes/issues/23864).Comment augmenter la gamme de ports disponibles pour les services dans les kubernetes

Je manuellement entré dans une plage de port en ayant un fichier YAML dans le format suivant:

apiVersion: v1 
kind: Service 
metadata: 
    name: service 
spec: 
    ports: 
    - name: port10000 
    port: 10000 
    protocol: UDP 
    . 
    . 
    . 
    - name: port40000 
    port: 40000 
    protocol: UDP 
    selector: 
    app: app-label 
    type: LoadBalancer  

Je reçois l'erreur suivante:

Error from server (InternalError): error when creating "service-udp.yml": Internal error occurred: failed to allocate a nodePort: range is full

Est-il possible d'augmenter la gamme de ports disponibles pour un service? Et si oui, comment?

Répondre

1

Ceci est contrôlé par l'argument --service-node-port-range portRange à kube-apiserver - le moyen de changer cela dépend de votre environnement. Gardez à l'esprit que nodePorts est conçu pour être utilisé par les équilibreurs de charge en tant que blocs de construction. Donc, ce que vous essayez de faire n'est probablement pas la meilleure pratique.

Hope this helps ..

+0

Merci @JanosLenart, je suis sur la plate-forme Google Cloud, savez-vous comment changer le Kube-apiserver --service-noeud-port-gamme PortRange là-dessus? – Sebastien

+0

Si vous utilisez GKE (cluster kubernetes géré), il n'y a aucun moyen de le changer –