据我了解,kube-api 服务器在与 ETCD 和 Kubelet 通信时充当客户端。ETCD 和 Kubelet 都充当 kube-api 的服务器。在安全环境(双向 SSL 身份验证)下,kube-api 服务器需要 ETCD 和 Kubelet 证书以及 CA 证书。我不明白的是,为什么我们需要在配置 kube-apiserver.yaml 时提供 ETCD(etcd-keyfile)和 Kubelet(kubelet-client-key)的私钥?
答案1
因为etcd 使用 X.509 双向 TLS 身份验证在 kubernetes 中,因此 apiserver 需要能够证明它对客户端证书这些信息通过私钥呈现给服务器
有其他身份验证选项对于 etcd,但 kubernetes 不使用它们,并且不清楚 apiserver 是否提供用于连接 etcd 的非 TLS 身份验证选项,即使你想