• 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

  • 相关阅读:
    开源大模型ChatGLM2-6B 2. 跟着LangChain参考文档搭建LLM+知识库问答系统
    chrome插件:一个基于webpack + react的chrome 插件项目模板
    【牛客刷题-SQL】SQL4 查询结果限制返回行数
    dpkt 处理linux cooked capture
    《Mybatis 手撸专栏》第9章:细化XML语句构建器,完善静态SQL解析
    区间DP(基础+提高)
    基于Springboot美食推荐小程序的设计与实现(源码+数据库+文档)
    精讲算法的时间复杂度
    BurpSuit官方实验室之命令注入
    vue el-form表单嵌套组件时正则校验不生效
  • 原文地址:https://blog.csdn.net/zhou920786312/article/details/126242642