深入理解Kubernetes 4A - Authentication源码解析
Overview 本文是关于Kubernetes 4A解析的第一章 深入理解Kubernetes 4A - Authentication源码解析 深入理解Kubernetes 4A - Authorization源码解析 深入理解Kubernetes 4A - Admission Control源码解析 深入理解Kubernetes 4A - Audit源码解析 所有关于Kubernetes 4A部分代码上传至仓库 github.com/cylonchau/hello-k8s-4A 本章主要简单阐述kubernetes 认证相关原理,最后以实验来阐述kubernetes用户系统的思路 objective: 了解kubernetes 各种认证机制的原理 了解kubernetes 用户的概念 了解kubernetes authentication webhook 完成实验,如何将其他用户系统接入到kubernetes中的一个思路 如有错别字或理解错误地方请多多担待,代码是以1.24进行整理,实验是以1.19环境进行,差别不大。 Kubernetes 认证 在Kubernetes apiserver对于认证部分所描述的,对于所有用户访问Kubernetes API(通过任何客户端,客户端库,kubectl 等)时都会经历 验证 (Authentication) , 授权 (Authorization), 和准入控制 (Admission control) 三个阶段来完成对 “用户” 进行授权,整个流程正如下图所示 图:Kubernetes API 请求的请求处理步骤图 Source:https://www.armosec.io/blog/kubernetes-admission-controller/ 其中在大多数教程中,在对这三个阶段所做的工作大致上为: Authentication 阶段所指用于确认请求访问Kubernetes API 用户是否为合法用户,拒绝为401 Authorization 阶段所指的将是这个用户是否有对操作的资源的权限,拒绝为403 Admission control 阶段所指控制对请求资源进行控制,通俗来说,就是一票否决权,即使前两个步骤完成 到这里了解到了Kubernetes API实际上做的工作就是 “人类用户” 与 “kubernetes service account" [2];那么就引出了一个重要概念就是 “用户” 在Kubernetes中是什么,以及用户在认证中的也是本章节的中心。...