Giter VIP home page Giter VIP logo

Comments (2)

jnummelin avatar jnummelin commented on June 24, 2024 1

Yes, it's really not an easy fix at all.

To fully handle this Akrobateo should also "watch" the owning resource(s) of the pods where the selector matches and only from there map the name to a port number. This gets tricky fast as in todays Kubernetes setups there might be lot's of different operators and controllers creating pods. IMO it's not really sufficient to just check those name-port mappings from the pods alone as in any given time there might be e.g. a deployment rollout in progress and thus pods with different mappings.

So as you probably found out, the workaround is to use direct port numbers in the service.

from akrobateo.

cbeneke avatar cbeneke commented on June 24, 2024

This should be handled in https://github.com/kontena/akrobateo/blob/master/pkg/controller/service/service_controller.go#L232 fff, but for me it seems, that its not an easy fix. The current implementation takes one port and deploys this on all machines with the akrobateo-lb docker image via IPTables, but when using a named port the port in the backends may not be equal. Compare https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service

Perhaps more interesting is that targetPort can be a string, referring to the name of a port in the backend Pods. The actual port number assigned to that name can be different in each backend Pod.

from akrobateo.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.