• Kubernetes Submit Queue's avatar
    Merge pull request #49850 from m1093782566/service-session-timeout · b65f3cc8
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 49850, 47782, 50595, 50730, 51341)
    
    Paramaterize `stickyMaxAgeMinutes` for service in API
    
    **What this PR does / why we need it**:
    
    Currently I find `stickyMaxAgeMinutes` for a session affinity type service is hard code to 180min. There is a TODO comment, see
    
    https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/iptables/proxier.go#L205
    
    I think the seesion sticky max time varies from service to service and users may not aware of it since it's hard coded in all proxier.go - iptables, userspace and winuserspace.
    
    Once we parameterize it in API, users can set/get the values for their different services.
    
    Perhaps, we can introduce a new field `api.ClientIPAffinityConfig` in `api.ServiceSpec`.
    
    There is an initial discussion about it in sig-network group. See,
    
    https://groups.google.com/forum/#!topic/kubernetes-sig-network/i-LkeHrjs80
    
    **Which issue this PR fixes**: 
    
    fixes #49831
    
    **Special notes for your reviewer**:
    
    **Release note**:
    
    ```release-note
    Paramaterize session affinity timeout seconds in service API for Client IP based session affinity.
    ```
    b65f3cc8
Name
Last commit
Last update
..
endpoints Loading commit data...
events Loading commit data...
fuzzer Loading commit data...
helper Loading commit data...
install Loading commit data...
persistentvolume Loading commit data...
pod Loading commit data...
ref Loading commit data...
resource Loading commit data...
service Loading commit data...
testapi Loading commit data...
testing Loading commit data...
unversioned Loading commit data...
util Loading commit data...
v1 Loading commit data...
validation Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
annotation_key_constants.go Loading commit data...
conversion_test.go Loading commit data...
copy_test.go Loading commit data...
deep_copy_test.go Loading commit data...
defaulting_test.go Loading commit data...
doc.go Loading commit data...
field_constants.go Loading commit data...
json.go Loading commit data...
meta_test.go Loading commit data...
node_example.json Loading commit data...
objectreference.go Loading commit data...
register.go Loading commit data...
replication_controller_example.json Loading commit data...
resource.go Loading commit data...
serialization_proto_test.go Loading commit data...
serialization_test.go Loading commit data...
taint.go Loading commit data...
taint_test.go Loading commit data...
toleration.go Loading commit data...
types.go Loading commit data...
unstructured_test.go Loading commit data...
zz_generated.deepcopy.go Loading commit data...