• Brad Davidson's avatar
    Always use static ports for client load-balancers (#3026) · 7cdfaad6
    Brad Davidson authored
    * Always use static ports for the load-balancers
    
    This fixes an issue where RKE2 kube-proxy daemonset pods were failing to
    communicate with the apiserver when RKE2 was restarted because the
    load-balancer used a different port every time it started up.
    
    This also changes the apiserver load-balancer port to be 1 below the
    supervisor port instead of 1 above it. This makes the apiserver port
    consistent at 6443 across servers and agents on RKE2.
    
    Additional fixes below were required to successfully test and use this change
    on etcd-only nodes.
    
    * Actually add lb-server-port flag to CLI
    * Fix nil pointer when starting server with --disable-etcd but no --server
    * Don't try to use full URI as initial load-balancer endpoint
    * Fix etcd load-balancer pool updates
    * Update dynamiclistener to fix cert updates on etcd-only nodes
    * Handle recursive initial server URL in load balancer
    * Don't run the deploy controller on etcd-only nodes
    7cdfaad6
token.go 8.08 KB