apiserver是访问及管理资源对象的唯一入口

任何访问apiserver,都要经过三个流程 认证 授权 准入控制

认证管理

httpbase 用户名:密码 base64加密

http token 拿着一个很长且难以模仿的token,去访问apiserver

https证书:最安全的一种方式,但是操作起来也最麻烦,基于CA 根证书的双向数字证书及认证方式

 CA机构

  双向认证: 客户端认证服务端,服务端也要认证客户端,

客户端认证服务端: 客户端索要服务端的的证书,拿到服务端的公钥,通过私钥进行解密,如何信息一致,认证通过,则认可这个服务器

服务端也要认证客户端同理

role 是 namespace 级别的,clusterRole 是集群级别的

 apigroup "" 空串,表示核心API群, 

 把 role绑定到用户上

 namespace 级别

 集群级别

 user heima 只能访问名称空间dev 下面的资源

 实战: 创建一个只能管理dev空间下pods 资源的账号

 创建证书 /../../

签署证书 apiserver 

pods is forbidden: User "ddddd..." cannot create resource "pods" in API group "" in the namespace "default"
 

 创建角色

 角色授权给user-devman,然后devman 就可以访问名称空间dev下的pod,并可以进行get  watch  list 操作

只能看pod,不能看deployment 

切回到管理员账号 

准入控制

admission control  ,准入控制通过之后,apiserver 才会处理这个请求

apiserver admission controll

 

dashboard

相对使用命令行敲命令要友好一些

 只关注 pod 和 svc

service 类型是nodeport ip+port 可以访问

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐