当我们访问K8S集群时,需要经过三个步骤完成具体操作
进行访问的时候,都需要经过 apiserver, apiserver做统一协调,比如门卫
对外不暴露8080端口,只能内部访问,对外使用的端口6443
客户端身份认证常用方式
基于RBAC进行鉴权操作
基于角色访问控制
就是准入控制器的列表,如果列表有请求内容就通过,没有的话 就拒绝
基于角色的访问控制,为某个角色设置访问内容,然后用户分配该角色后,就拥有该角色的访问权限
k8s中有默认的几个角色
角色绑定
主体
我们可以首先查看已经存在的命名空间
kubectl get namespace
然后我们创建一个自己的命名空间 roledemo
kubectl create ns roledemo
为什么要创建命名空间?因为如果不创建命名空间的话,默认是在default下
kubectl run nginx --image=nginx -n roledemo
我们通过 rbac-role.yaml进行创建
tip:这个角色只对pod 有 get、list权限
然后通过 yaml创建我们的role
# 创建
kubectl apply -f rbac-role.yaml
# 查看
kubectl get role -n roledemo
我们还是通过 role-rolebinding.yaml 的方式,来创建我们的角色绑定
然后创建我们的角色绑定
# 创建角色绑定
kubectl apply -f rbac-rolebinding.yaml
# 查看角色绑定
kubectl get role, rolebinding -n roledemo
我们首先得有一个 rbac-user.sh 证书脚本
这里包含了很多证书文件,在TSL目录下,需要复制过来
通过下面命令执行我们的脚本
./rbac-user.sh
最后我们进行测试
# 用get命令查看 pod 【有权限】
kubectl get pods -n roledemo
# 用get命令查看svc 【没权限】
kubectl get svc -n roledmeo
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )