More Info:
etcd should be configured to make use of TLS encryption for client connections.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
- On every control plane node, identify the API server manifest and existing etcd TLS files:
- On every control plane node, back up the API server manifest before editing:
- On every control plane node, edit
/etc/kubernetes/manifests/kube-apiserver.yamlto add or correct the--etcd-certfileand--etcd-keyfilearguments under the kube-apiserver container’scommandlist. For example (snippet only, keep existing args):
- On every control plane node, ensure the specified cert and key are readable by the kube-apiserver process (typically user
rootinside the pod):
- Wait for the kube-apiserver pod to be recreated, then verify it is running (from any machine with kubectl access):
Running status.- On every control plane node, verify the kube-apiserver process now includes the
--etcd-certfileand--etcd-keyfileflags with the correct paths:
--etcd-certfile= and --etcd-keyfile= pointing to your intended certificate and key files.Using kubectl
Using kubectl
kubectl cannot modify the kube-apiserver static pod manifest or its process flags, so it cannot be used to set
--etcd-certfile and --etcd-keyfile. This must be fixed directly on every control plane node by editing /etc/kubernetes/manifests/kube-apiserver.yaml; see the Manual Steps section for the required host-level changes.Automation
Automation

