Skip to content

Conversation

@eedugon
Copy link
Contributor

@eedugon eedugon commented Nov 25, 2025

Added notes on changing service ports and potential disruptions.

Addresses elastic/cloud-on-k8s#7198

Added notes on changing service ports and potential disruptions.
@github-actions
Copy link

github-actions bot commented Nov 25, 2025

✅ Vale Linting Results

No issues found on modified lines!

@github-actions
Copy link

github-actions bot commented Nov 25, 2025

@eedugon eedugon changed the title Update accessing-services.md with service port guidance Update accessing-services.md with service targetPort guidance Nov 25, 2025
@eedugon eedugon changed the title Update accessing-services.md with service targetPort guidance Service targetPort guidance when customizing service's port Nov 25, 2025
@eedugon eedugon marked this pull request as ready for review November 25, 2025 08:42
@eedugon eedugon requested a review from a team as a code owner November 25, 2025 08:42
When you change the `clusterIP` setting of the service, ECK will delete and re-create the service as `clusterIP` is an immutable field. Depending on your client implementation, this might result in a short disruption until the service DNS entries refresh to point to the new endpoints.
When you change the `clusterIP` setting of the service, ECK deletes and re-creates the service, as `clusterIP` is an immutable field. Depending on your client implementation, this might result in a short disruption until the service DNS entries refresh to point to the new endpoints.

If you change the service’s `port`, set `targetPort` to the container’s default listening port. Otherwise, Kubernetes uses the same value for both, resulting in failed connections. For reference, default ports are `9200` for the {{es}} HTTP interface, and `5601` for {{kib}}.
Copy link
Contributor Author

@eedugon eedugon Nov 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also include a list of reference default ports, like:

  • 9200 for ES HTTP
  • 9300 for ES Transport
  • 9443 for ES RCS (Remote cluster server)
  • 5601 for Kibana

But I didn't want to make the note too big. Port 9300 is mentioned in the transport specific doc, and 9443 will be mentioned in the relevant docs.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also have other services, like Fleet on port 8220, Maps on 8080... So I was wondering if we should say "For example, ..." instead? (definitely not a strong opinion, feel free to ignore)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like "for example" - this makes me wonder if we have some sort of central resource we can link to for all of these ports though 🤔

Copy link
Contributor

@barkbay barkbay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

When you change the `clusterIP` setting of the service, ECK will delete and re-create the service as `clusterIP` is an immutable field. Depending on your client implementation, this might result in a short disruption until the service DNS entries refresh to point to the new endpoints.
When you change the `clusterIP` setting of the service, ECK deletes and re-creates the service, as `clusterIP` is an immutable field. Depending on your client implementation, this might result in a short disruption until the service DNS entries refresh to point to the new endpoints.

If you change the service’s `port`, set `targetPort` to the container’s default listening port. Otherwise, Kubernetes uses the same value for both, resulting in failed connections. For reference, default ports are `9200` for the {{es}} HTTP interface, and `5601` for {{kib}}.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also have other services, like Fleet on port 8220, Maps on 8080... So I was wondering if we should say "For example, ..." instead? (definitely not a strong opinion, feel free to ignore)

Copy link
Collaborator

@shainaraskas shainaraskas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple little thoughts, otherwise lgtm

Comment on lines +33 to +35
When you change the `clusterIP` setting of the service, ECK deletes and re-creates the service, as `clusterIP` is an immutable field. This causes a short network disruption, but it should not affect existing connections as the transport module uses long-lived TCP connections.

If you change the service’s `port`, set `targetPort` to `9300`, which is the default {{es}} transport interface port. Otherwise, Kubernetes uses the same value for both, resulting in failed connections.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consider adding bullets here, or making this stacked notes. when I read the first paragraph of a note, I make the assumption that the second paragraph is related to the first. one of these methods will help people to understand that these are two notes that are not related

When you change the `clusterIP` setting of the service, ECK will delete and re-create the service as `clusterIP` is an immutable field. Depending on your client implementation, this might result in a short disruption until the service DNS entries refresh to point to the new endpoints.
When you change the `clusterIP` setting of the service, ECK deletes and re-creates the service, as `clusterIP` is an immutable field. Depending on your client implementation, this might result in a short disruption until the service DNS entries refresh to point to the new endpoints.

If you change the service’s `port`, set `targetPort` to the container’s default listening port. Otherwise, Kubernetes uses the same value for both, resulting in failed connections. For reference, default ports are `9200` for the {{es}} HTTP interface, and `5601` for {{kib}}.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like "for example" - this makes me wonder if we have some sort of central resource we can link to for all of these ports though 🤔

When you change the `clusterIP` setting of the service, ECK will delete and re-create the service as `clusterIP` is an immutable field. Depending on your client implementation, this might result in a short disruption until the service DNS entries refresh to point to the new endpoints.
When you change the `clusterIP` setting of the service, ECK deletes and re-creates the service, as `clusterIP` is an immutable field. Depending on your client implementation, this might result in a short disruption until the service DNS entries refresh to point to the new endpoints.

If you change the service’s `port`, set `targetPort` to the container’s default listening port. Otherwise, Kubernetes uses the same value for both, resulting in failed connections. For reference, default ports are `9200` for the {{es}} HTTP interface, and `5601` for {{kib}}.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same note about overloading the warning (use bullets or split the notes)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants