Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change default value of publishNotReadyAddresses for the stateful applications. #1211

Open
f41gh7 opened this issue Jan 8, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@f41gh7
Copy link
Collaborator

f41gh7 commented Jan 8, 2025

Kubernetes publishes dns records only when pod state transited to Ready.

https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

A and AAAA records are not created for Pod names since hostname is missing for the Pod. A Pod with no hostname but with subdomain will only create the A or AAAA record for the headless Service (busybox-subdomain.my-namespace.svc.cluster-domain.example), pointing to the Pods' IP addresses. Also, the Pod needs to be ready in order to have a record unless publishNotReadyAddresses=True is set on the Service.

It could cause harm to the VMCluster update procedure. During vmstorage StatefulSet rollout, 2 pods can become inaccessible for vminsert at the same time, which increases load to the other pods. Alsovminsert performs health checks on it's own and it's not required Kubernetes probe system.

VMCluster and VMalertmanager may benefit from changing default value of service.spec.publishNotReadyAddresses to true.
It'll make vmstorage and alertmanager pods accessible earlier. And it allow to properly warm up vmstorage pod, before performing update of the next pod.

@f41gh7 f41gh7 added the enhancement New feature or request label Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant