K8S的认证相对来说还是个比较复杂的过程,如下这篇文章,详细介绍了K8S中的认证及其原理:
https://www.kubernetes.org.cn/4061.html
不仅仅是API层面,还有每个节点kubelet和应用运行时的安全,可以看下这里
https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/
Kubernets系统提供了三种认证方式:CA认证、Token认证和Base认证。安全功能是一把双刃剑,它保护系统不被攻击,但是也带来额外的性能损耗。集群内的各组件访问API Server时,由于它们与API Server同时处于同一局域网内,所以建议用非安全的方式访问API Server,效率更高。
-双向认证配置
双向认证方式是最为严格和安全的集群安全配置方式,主要配置流程如下:
1)生成根证书、API Server服务端证书、服务端私钥、各个组件所用的客户端证书和客户端私钥。
2)修改Kubernetts各个服务进程的启动参数,启用双向认证模式。
-简单认证配置
除了双向认证方式,Kubernets也提供了基于Token和HTTP Base的简单认证方式。通信方仍然采用HTTPS,但不使用数字证书。
采用基于Token和HTTP Base的简单认证方式时,API Server对外暴露HTTPS端口,客户端提供Token或用户名、密码来完成认证过程。