k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥

认证——授权——准入

插件的形式,通过一个插件即可

认证:

        1、token

        2、sso

授权:

        1、RBAC基于角色的访问许可控制

        2、webhook

准入控制:用来定义对应认证授权之后的控制

客户端请求API server的信息组成

        user:username,uid

        group:

        extra:

        API

        Requst path  (k8s的apiserver是分了组的)

                例/apis/apps/v1

                    /apis/apps/v1/namespaces/default/deployments/myapp-deploy/

或拆分为(HTTP request verb:

                   get, post, put, delete

         API request verb:

                  get,list,create, update, patch, watch, proxy, redirect,delete,deletecollection

        Resource:

        Subresource:

        Namespace

        API Group)

创建serviceaccount

用create创建

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第1张图片

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第2张图片

pod中指定serviceaccount

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第3张图片

         

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第4张图片

手动自定义集群配置文件

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第5张图片

可以用ca签字自定义的证书

创建私钥

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第6张图片

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第7张图片

基于私钥生产证书有ca.crt来签署,生产证书签署请求

签署证书

查看k8s签署的私有证书内容

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第8张图片

将以上配置的用户信息加入到k8s的集群配置文件中

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第9张图片

设置上下文让haha这个用户能够访问集群

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第10张图片

切换到此用户访问集群(提示没有权限)

 

指定集群配置文件的路径

kubectl config set-cluster mycluster --kubeconfig=/tmp/test.conf --server="https://192.168.88.107:6443" --certificate-authority=/etc/kubernetes/pki/ca.crt --embed-certs=true
 

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第11张图片

添加用户

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第12张图片

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第13张图片

root账号下依然是

k8s系列(十三:实例)k8s认证及serviceaccount、用集群ca签署私钥_第14张图片

 

 

 

 

 

你可能感兴趣的:(k8s)