k8s系列-04-k8s的认证授权和准入控制

听闻少年二字,当与平庸相斥。这篇文章主要讲述k8s系列-04-k8s的认证授权和准入控制相关的知识,希望能为你提供帮助。
??声明:本文乃“运维家”原创,转载请注明出处,更多内容请关注公众号“运维家”。??



??主旨??
本节主要介绍一下,k8s客户端如何经过认证访问到apiserver,以及k8s如何授权,是怎么判定访问者拥有什么权限等内容。


??认证??
1、客户端认证
客户端认证也称为TLS双向认证,为什么这么说呢,是因为kubectl在访问apiserver的时候,apiserver也要认证kubectl是否正确,他们都会访问CA来进行验证,如下图:



2、Bearertoken
Bearertoken的方式,可以理解为apiserver将一个密码通过了非对称加密的方式告诉了kubectl,然后通过该密码进行相互访问,和TLS类似,但是少了CA,如下图:



3、Serviceaccount
上面客户端证书认证和Bearertoken的两种认证方式,都是外部访问apiserver的时候使用的方式,那么我们这次说的Serviceaccount是内部访问pod和apiserver交互时候采用的一种方式。Serviceaccount包括了,namespace、token、ca,且通过目录挂载的方式给予pod,当pod运行起来的时候,就会读取到这些信息,从而使用该方式和apiserver进行通信。如下图:



??授权-RBAC??
认证我们介绍完了,不过仅仅是认证是不够的,认证只能确定访问者没有问题,那么访问者有什么权限呢?他能访问哪些东西呢?这时候我们就需要授权了。在k8s中的授权模式采用的是RBAC,即:基于角色的访问控制,分为以下三种类型来进行:

我们先说用户吧,用户在这里分为普通用户(User)比如我们上面说的kubectl,以及程序内部的用户(serviceaccept)比如pod:


【k8s系列-04-k8s的认证授权和准入控制】剩余内容请转至VX公众号 “运维家” ,回复 “112” 查看。

    推荐阅读