• Kubernetes Submit Queue's avatar
    Merge pull request #33550 from rtreffer/kubelet-allow-multiple-dns-server · 3bc575c9
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue
    
    Allow multipe DNS servers as comma-seperated argument for kubelet --dns
    
    This PR explores how kubectls "--dns" could be extended to specify multiple DNS servers for in-cluster PODs. Testing on the local libvirt-coreos cluster shows that multiple DNS server are injected without issues.
    
    Specifying multiple DNS servers increases resilience against
    - Packet drops
    - Single server failure
    
    I am debugging services that do 50+ DNS requests for a single incoming interactive request, thus highly increase the chance of a slowdown (+5s) due to a single packet drop. Switching to two DNS servers will reduce the impact of the issues (roughly +1s on glibc, 0s on musl, error-rate goes down to error-rate^2).
    
    Note that there is no need to change any runtime related code as far as I know. In the case of "default" dns the /etc/resolv.conf is parsed and multiple DNS server are send to the backend anyway. This only adds the same capability for the clusterFirst case.
    
    I've heard from @thockin that multiple DNS entries are somehow considered. I've no idea what was considered, though. This is what I would like to see for our production use, though.
    
    ```release-note
    NONE
    ```
    3bc575c9
zz_generated.openapi.go 735 KB