• k8s--基础--23.6--认证-授权-准入控制--通过kubeconfig登陆dashboard


    k8s–基础–23.6–认证-授权-准入控制–通过kubeconfig登陆dashboard


    1、介绍

    1. 把token令牌封装成kubeconfig,通过kubeconfig登陆dashboard

    2、创建一个只能管理指定名称空间的kubeconfig文件

    以下步骤在k8s的master节点操作

    2.1、在 zhoufei 命名空间创建一个 zhoufei 的serviceaccount账户

    # 创建zhoufei命名空间
    kubectl create namespace zhoufei
    # 创建serviceaccount账户:zhoufei-admin
    kubectl create serviceaccount zhoufei-admin -n zhoufei
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.2、把zhoufei用户做rolebingding绑定

    
    kubectl create rolebinding zhoufei-admin-rolebinding -n zhoufei --clusterrole=cluster-admin --serviceaccount=zhoufei:zhoufei-admin
    
    
    • 1
    • 2
    • 3

    2.3、创建kubeconfig文件

    # 进入目录
    cd /etc/kubernetes/pki
    
    kubectl config set-cluster kubernetes --certificate-authority=./ca.crt --server="https://192.168.187.154:6443" --embed-certs=true --kubeconfig=/root/zhoufei-admin.conf
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.3.1、config

    表示创建kubeconfig文件

    2.3.2、set-cluster kubernetes

    表示设置集群的名字为kubernetes

    2.3.3、–certificate-authority=./ca.crt

    1. 使用的CA证书
    2. CA证书对应文件的路径

    2.3.4、–embed-certs=true

    启动CA认证

    2.3.5、server=“https://192.168.187.154:6443”

    master地址

    2.3.6、–kubeconfig=/root/zhoufei-admin.conf

    kubeconfig文件的保存路径

    2.4、创建credentials时需要使用上面我们创建的token信息

     
    
    kubectl get secret -n zhoufei
    # 获取token
    DEF_NS_ADMIN_TOKEN=$(kubectl get secret zhoufei-admin-token-gz57x -n zhoufei -o jsonpath={.data.token}|base64 -d)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.1、kubectl get secret zhoufei-admin-token-gz57x -n zhoufei

    获取名称为zhoufei-admin-token-gz57x的secret

    2.4.2、jsonpath={.data.token}|base64 -d)

    将zhoufei-admin-token-gz57x转为json,并获取json中的token,并将token按照base64解密

    2.5、设置kubeconfig文件中的token,也就是credentials

    kubectl config set-credentials zhoufei --token=$DEF_NS_ADMIN_TOKEN --kubeconfig=/root/zhoufei-admin.conf
    
    
    • 1
    • 2

    2.6、设置kubeconfig文件中的context

    kubectl config set-context zhoufei@kubernetes --cluster=kubernetes --user=zhoufei --kubeconfig=/root/zhoufei-admin.conf
    
    
    • 1
    • 2

    2.7、切换context的current-context是zhoufei@kubernetes

    kubectl config use-context zhoufei@kubernetes --kubeconfig=/root/zhoufei-admin.conf
    
    • 1

    2.8、查看/root/zhoufei-admin.conf

    在这里插入图片描述

    上面就是刚刚我们设置的内容

    2.9、把刚才的kubeconfig文件zhoufei-admin.conf复制到桌面

    浏览器访问时使用kubeconfig认证,把刚才的zhoufei-admin.conf导入到web界面,那么就可以登陆了

    在这里插入图片描述

    在这里插入图片描述

    3、创建一个能管理所有名称空间的kubeconfig文件

    参考 2

  • 相关阅读:
    Docker网络
    mybatis中resultMap与resultType的区别
    JAVA毕业设计家教信息管理系统计算机源码+lw文档+系统+调试部署+数据库
    R语言在生态环境领域中的实践技术应用
    【mysql】复杂语句的分析过程
    聚鼎科技:装饰画行业新手怎么入局
    〖Python 数据库开发实战 - MySQL篇⑫〗- 数据表的字段约束
    字符串输出记录(stringout/lso)
    ElasticSearch7.3学习(二十)----采用restful风格查询详解
    工业元宇宙的价值和发展
  • 原文地址:https://blog.csdn.net/zhou920786312/article/details/126242642