Comments (6)
Hi @aojea,
I appreciate you for taking the time to provide more context in that regard.
I can now see how changing that field would break things.
That comment you've quoted indeed states things clear as day - couldn't find that within the docs though.
Thanks again!
from kubernetes.
This issue is currently awaiting triage.
If a SIG or subproject determines this is a relevant issue, they will accept it by applying the triage/accepted
label and provide further guidance.
The triage/accepted
label can be added by org members by writing /triage accepted
in a comment.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
from kubernetes.
/sig network
from kubernetes.
Documentation does not state that enabling this flag will cause incoming traffic to be directed to pods that are
NotReady
.
https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/#ready
maybe is not clear, but is the way it works
/remove-kind bug
/kind documentation
from kubernetes.
@aojea - could you elaborate why does it work the way it does? What's the benefit of routing traffic to a Pod that doesn't even has its containers up?
from kubernetes.
What's the benefit of routing traffic to a Pod that doesn't even has its containers up?
and the DNS? :)
You are focusing on the behaviors and is important to understand the internals, Services provide discovery via DNS and ClusterIP (L4 load balancers).
Services depend on the EndpointSlices, that represent the set of pods that belong to that Service and their state
These Services/EndpointSlices objects have a 1to1 relation and are used by the DNS implementation (commonly CoreDNS) and the Services implementations (commonly kube-proxy) , so both the DNS records and and proxy will do whatever the EndpointSlice says, if it says is ready then it will trust the object.
If we go to the API you have the explanation of this field
kubernetes/pkg/apis/core/types.go
Lines 4507 to 4516 in 5ceb99d
This is an opt-in feature to deal with very specific behaviors that has side effects as the one you are describing, so the user that wants to use it need to understand this (put a side we could have done differently, this is an v1 API and we need to respect it, changing behaviors at this point will be a backwards compatibility break)... in your description you describe a scenario that will fail as WAI, why any user will choose to do that?
from kubernetes.
Related Issues (20)
- Suppress all logs and only see errors. Verbosity=0 does not help HOT 8
- /var/lib/kubelet/device-plugins/kubelet.sock Connection refused HOT 7
- PodSecurityStandards being enforced provide different log information for Deployments and for pods to the user HOT 10
- Missing Step in Documentation for Building Kubernetes in Docker HOT 8
- Unnecessary non-Nil Check in ipallocator.go HOT 7
- Extend ReplicaSet or make a "CRD Set" HOT 3
- ValidatingAdmissionPolicy: auditAnnotations are included in the audit event always HOT 4
- Better field-ordering when rendering YAML/JSON HOT 7
- AppArmor Profile not activated. #2310 HOT 2
- kube-controller-manager Master Election Time Exceeds the Lease Time HOT 7
- Pods gated by custom PreEnqueue plugins don't go through backoffQ even in case they ought to HOT 8
- [Flaking Test] gce-master-scale-correctness (Unexpected CSI call) HOT 10
- The PV may be in a Terminating state and cannot be deleted when the pod are created and then the pod and pvc are quickly force deleted . HOT 5
- DRA: kubelet: support permanent and transient errors HOT 4
- [Failing Test] CSI Mock volume storage capacity storage capacity unlimited HOT 3
- [Flaking test] [sig-cli] Kubectl client Simple pod should return command exit codes should handle in-cluster config HOT 1
- Add Limit and Continue to ListRestrictions on client-go HOT 4
- [Flaking test] TestPolicyAdmission/.v1.bindings/create HOT 1
- [FG:InPlacePodVerticalScaling] Pod Resize - resize stuck "InProgress" when only resizing memory requests HOT 5
- RuntimeHandlerResolver: interface invalid nil checking HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kubernetes.