Coder Social home page Coder Social logo

Comments (4)

alexjh avatar alexjh commented on July 1, 2024

Remove the headless tag from fissile

Can you elaborate on why this is happening?

It looks like we could create up to three services per role right now:

https://github.com/SUSE/fissile/blob/711088fd60db22ace2ad33bd887c91e6f8d4df51/kube/service.go#L16-L36

If the headless tag goes away, does that mean we'll always create three services for each StatefulSet, since the headless tag would never be set?

Edit: Three services for each public role, two for non-public.

from fissile.

alexjh avatar alexjh commented on July 1, 2024

Also, it looks like we could determine if a service should be public or not with the public: true setting in the port config.

https://github.com/SUSE/scf/blob/b3be225282389bdce24dec05e351f6b697fe5d89/container-host-files/etc/scf/config/role-manifest.yml#L487-L490

from fissile.

alexjh avatar alexjh commented on July 1, 2024

Right now in our helm templates we have a StatefulSet per role, and that is linked to service via a serviceName called <role-name>-set.

spec: 
  podManagementPolicy: "OrderedReady"
  replicas: {{ if and .Values.config.HA (eq (int .Values.sizing.api.count) 1) -}} 2 {{- else -}} {{ .Values.sizing.api.count }} {{- end }}
  serviceName: "api-set"

I don't see a way to link the newly named service <role-name>-<job-name> to the StatefulSet.

For example, with our new database role, we have two jobs inside it: mysql and mysql-proxy. What service should the database StatefulSet refer to?

from fissile.

alexjh avatar alexjh commented on July 1, 2024

@viovanov

I've been struggling to find a fix for addressing individual pods with this setup.

We need to access pods for things like this: https://github.com/cloudfoundry/cf-syslog-drain-release/blob/develop/jobs/scheduler/templates/environment.sh.erb#L8

According to the Kube docs (and my testing), in order to get a hostname for a pod, the StatefulSet's serviceName must match a service.

Also note that a service must have ports associated with it. I initially hoped I could make a dummy service with just the instance group name, but I need ports to go along with it.

What I'm looking at now is collecting all of the ports for the jobs inside the instance group, and making a service out of that. If you have any other ideas, please let me know.

from fissile.

Related Issues (20)

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.