首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么一个Kubernetes集群中有这么多证书?

为什么一个Kubernetes集群中有这么多证书?
EN

Stack Overflow用户
提问于 2022-09-19 02:35:34
回答 1查看 168关注 0票数 7

一个Kubernetes集群包含几个组件,例如kubelet、etcd、api-server等。

在建立集群时,我们需要设置多个证书和密钥,然后它们可以携带这些证书来相互通信。

代码语言:javascript
运行
复制
> kubectl describe pod kube-apiserver-controlplane -n=kube-system


Name:                 kube-apiserver-controlplane
Namespace:            kube-system
...
Controlled By:  Node/controlplane
Containers:
  kube-apiserver:
    Container ID:  docker://6974d026de0b2fadb3d2628d0df971ddc4c3d772665b2cd960a1d0e385f97a5d
    Image:         k8s.gcr.io/kube-apiserver:v1.20.0
    Image ID:      docker-pullable://k8s.gcr.io/kube-apiserver@sha256:8b8125d7a6e4225b08f04f65ca947b27d0cc86380bf09fab890cc80408230114
    Command:
      kube-apiserver
      ...
      --client-ca-file=/etc/kubernetes/pki/ca.crt
      --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
      --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
      --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key
      --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
      --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
      --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
      --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
      --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
      --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
      ...
      ...

我了解证书颁发机构( Certificate,CA)、证书、mTLS和HTTPs机制的概念。,但我不明白这些Kubernetes证书试图解决什么问题.

如果黑客能够访问我们的节点,他们可以查看包括证书在内的所有内容,这种复杂性似乎并没有给我们带来更多的安全性。

问题

  • 对于Kubernetes集群来说,最重要的(常见的)安全风险是什么?
  • 如果我不使用证书来保护集群内的内部通信,您将如何吸引我? 据我所知,AWS负载均衡器和EC2之间的通信是HTTP而不是HTTPs,这似乎很好。为什么在负载均衡器和EC2之间不需要证书,而在Kubernetes集群中需要证书?
EN

回答 1

Stack Overflow用户

发布于 2022-09-19 09:18:49

在我看来,试图回答你的多个问题:

但我不明白这些Kubernetes证书试图解决的问题是什么。

  1. 根据零信任安全模型的观点,零信任安全模型背后的主要概念是“从不信任,始终验证”。 Kubernetes期望集群中的所有API通信默认使用TLS加密,后者总是检查不同组件之间通信的标识和完整性。 一个常见的场景称为中间人攻击

对于Kubernetes集群来说,最重要的(常见的)安全风险是什么?

  1. 我认为库伯奈特集群最重要的安全机制是tls for all traffic/Authentication/Authorization.。 您还可以参考官方文档:保护群集的安全

如果我不使用证书来保护集群内的内部通信,您将如何吸引我?

  1. 最好别那么做。

为什么在负载均衡器和EC2之间不需要证书,而在Kubernetes集群中需要证书?

  1. 这是两个不同的概念。 AWS负载均衡器和EC2是基础设施层(Iaas)组件,它们只负责传输数据流。您可以自己执行安全选项。 另一方面,Kubernetes集群中的组件是应用层组件,默认情况下应该包括安全的集群内通信。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73767845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档