• 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
..
BUILD Loading commit data...
admissionregistration.k8s.io.json Loading commit data...
admissionregistration.k8s.io_v1alpha1.json Loading commit data...
api.json Loading commit data...
apis.json Loading commit data...
apps.json Loading commit data...
apps_v1alpha1.json Loading commit data...
apps_v1beta1.json Loading commit data...
apps_v1beta2.json Loading commit data...
authentication.k8s.io.json Loading commit data...
authentication.k8s.io_v1.json Loading commit data...
authentication.k8s.io_v1beta1.json Loading commit data...
authorization.k8s.io.json Loading commit data...
authorization.k8s.io_v1.json Loading commit data...
authorization.k8s.io_v1beta1.json Loading commit data...
autoscaling.json Loading commit data...
autoscaling_v1.json Loading commit data...
autoscaling_v2alpha1.json Loading commit data...
batch.json Loading commit data...
batch_v1.json Loading commit data...
batch_v1beta1.json Loading commit data...
batch_v2alpha1.json Loading commit data...
certificates.k8s.io.json Loading commit data...
certificates.k8s.io_v1beta1.json Loading commit data...
extensions.json Loading commit data...
extensions_v1beta1.json Loading commit data...
logs.json Loading commit data...
networking.k8s.io.json Loading commit data...
networking.k8s.io_v1.json Loading commit data...
policy.json Loading commit data...
policy_v1alpha1.json Loading commit data...
policy_v1beta1.json Loading commit data...
rbac.authorization.k8s.io.json Loading commit data...
rbac.authorization.k8s.io_v1.json Loading commit data...
rbac.authorization.k8s.io_v1alpha1.json Loading commit data...
rbac.authorization.k8s.io_v1beta1.json Loading commit data...
resourceListing.json Loading commit data...
scheduling.k8s.io.json Loading commit data...
scheduling.k8s.io_v1alpha1.json Loading commit data...
settings.k8s.io.json Loading commit data...
settings.k8s.io_v1alpha1.json Loading commit data...
storage.authorization.k8s.io_v1beta1.json Loading commit data...
storage.k8s.io.json Loading commit data...
storage.k8s.io_v1.json Loading commit data...
storage.k8s.io_v1beta1.json Loading commit data...
v1.json Loading commit data...
version.json Loading commit data...