Install the kube-proxy main container without privileged mode #2948
Description
A new flag --init-only
was added to kube-proxy
that executes all configuration steps that required privileged mode and then exits. It is intended to be used in an initContainer to allow the main container to run with NET_ADMIN rights only.
Please read the (not yet published) blog post for more info (temporary direct-link).
Kubeadm should support this installation. It will increase the startup time for kube-proxy
, so IMO it should be optional, but perhaps be the default.
/kind feature
Versions
kubeadm version (use kubeadm version
):
Environment:
-
Kubernetes version (use
kubectl version
):$\ge$ v1.29 - Cloud provider or hardware configuration: N/A
- OS (e.g. from /etc/os-release): N/A
-
Kernel (e.g.
uname -a
): N/A - Container runtime (CRI) (e.g. containerd, cri-o): N/A
- Container networking plugin (CNI) (e.g. Calico, Cilium): N/A
- Others:
Anything else we need to know?
Regression tests are OK (of course), but I suppose the real e2e test will be with this feature enabled, which mean with an updated kubeadm
if I understand correctly. I have however executed e2e tests in KinD
with:
FOCUS='\[sig-network\].*ervice'
SKIP='Disruptive|Serial|ESIPP|DNS|GCE|finalizer'
which actually tests more of kube-proxy
than the conformance suite.
Upgrade is not explicitly tested, but as a part of testing in KinD I have updated the kube-proxy
manifest.