1、部署dashboard

2、将service改为NodePort

3、认证

  • dashboard是运行在kube-system下的一个pod中,用户通过浏览器登陆时所使用的证书里面提供的账号必须是一个serviceaccount
  • token
    • 创建serviceaccount,根据其管理目标,绑使用rolebinding或者clusterrolebinding绑定至合理的role或者clusterrole;可以使用自建的role/rolebinding/clusterrole/clusterrolebinding
    • 绑定完成之后会自动生成一个认证信息,获取到此serviceaccount的secret,查看secret的详细信息,其中就有生成的token
  • kueconfig:通过json文件输出获取token、base64解码后并封装到kubeconfig文件中
    • 创建serviceaccount,根据其管理目标,绑使用rolebinding或者clusterrolebinding绑定至合理的role或者clusterrole;可以使用自建的role/rolebinding/clusterrole/clusterrolebinding
    • kubectl get secret  -n NAMESPACE
    • KUBE_TOKEN=$(kubectl get secret SERVICE_ACCOUNT_SECRET_NAME -n NAMESPACE -o jsonpath={.data.token} | base64 -d)
    • 生成kubeconfig文件
      • kubectl config set-cluster
      • kubectl config set-credentials NAME  --token=KUBE_TOKEN
      • kubectl config set-context
      • kubectl config set use-context

4、kubernetes集群管理方式

  • 命令式   create, run , expose, delete , edit ...
  • 命令式配置文件   create -f  /PATH/TO/RESOURCE_FILE,   delete -f     ,    replace -f   ...
  • 声明式配置文件   apply -f  /PATH/TO/RESOURCE_FILE,   patch,

自签证书给dashboard使用(可选如果要使用自己创建的证书认证就需要运行):

# cd /etc/kubernetes/pki/ # (umask 077;openssl genrsa -out dashboard.key 2048) # umask 077为了安全 # 创建key # openssl req -new -key dashboard.key -out dashboard.csr -subj "/CN=dashboard" # CN的值就是用户账号的名字,如果需要使用域名访问,这里需要和域名保持一致 # 证书签证请求 # openssl x509 -days 1000 -req -in dashboard.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out dashboard.crt # -CA 用哪个证书签 -CAkey用哪个key -CAcreateserial用CA自己的认证符号信息 # kubectl create secret generic dashboard.cert -n kube-system --from-file=dashboard.crt=./dashboard.crt --from-file=dashboard.key=./dashboard.key  # 把生成的dashboard证书放入secret中供dashboard使用

安装Dashboard:

# dashboard gtihub 源: https://github.com/kubernetes/dashboard# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
查看svc:
# kubectl get svc-n kube-system打补丁暴露端口使得可以外部访问:
# kubectlpatch svc kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}' -n kube-system然后访问dashboard url: https://nodeip:port    # nodeip为任一节点的ip地址,port为dashboard pod暴露出来的port端口

使用token认证登陆:

创建 kube-system namespace下的serviceaccount
# kubectl create serviceaccount dashboard-admin -n kube-system将serviceaccount使用clusterrolebinding绑定到clusterrole角色
# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin   #将会生成一个dashboard-admin-token-xxx
# kubectl describe secret dashboard-admin-token-tfndl -n kube-system   #可以看到token信息;可以使用该token来登陆dashboard,copy之后在dashboard登陆界面选择token,然后粘贴进去即可

使用token登陆管理指定namespace下的资源:

创建 develop namespace下的serviceaccount
# kubectl create serviceaccount dashboard-develop -n develop
将serviceaccount使用rolebinding绑定到clusterrole角色
# kubectl create rolebinding dashboard-develop-admin --clusterrole=admin --serviceaccount=develop:dashboard-develop -n develop #将会生成一个dashboard-develop-token-xxx # kubectl describe secret dashboard-develop-token-69dx9 -n develop #可以看到token信息;可以使用该token来登陆dashboard,copy之后在dashboard登陆界面选择token,然后粘贴进去即可

使用kubeconf文件认证登陆:

生成kubeconfig文件: 把ServiceAccount的token封装为kubeconfig文件
# cd/etc/kubernetes/pki/# kubectl config set-cluster kubernets --certificate-authority=./ca.crt --server="https://10.100.0.128:6443" --embed-certs=true --kubeconfig=/root/dashboard.conf   # --server 集群信息
# develop_tocken=$(kubectl get secret dashboard-develop-token-69dx9 -n develop -o jsonpath={.data.token} | base64 -d) # 获取token并解密
# kubectl config set-credentials dashboard-deveop-admin --token=$develop_tocken --kubeconfig=/root/dashboard.conf #将token写入conf文件
# kubectl config set-context develop-admin@kubernetes --cluster=kuberbetes --user=develop-admin --kubeconfig=/root/dashboard.conf #创建用户
切换use-context
# kubectl config use-context develop-admin@kubernetes --kubeconfig=/root/dashboard.conf
最后就可以在浏览器登陆界面选择生成好的kubeconfig文件来登陆

转载于:https://www.cnblogs.com/alamisu/p/11279074.html

kuberneters dashboard认证及分级授权相关推荐

  1. k8s系列--- dashboard认证及分级授权

    http://blog.itpub.net/28916011/viewspace-2215214/ 因版本不一样,略有改动 Dashboard官方地址: https://github.com/kube ...

  2. Flex与.NET互操作(九):FluorineFx.NET的认证(Authentication )与授权(Authorization)

    FluorineFx.NET的认证(Authentication )与授权(Authorization)和ASP.NET中的大同小异,核实用户的身份既为认证,授权则是确定一个用户是否有某种执行权限,应 ...

  3. Shiro学习笔记_02:shiro的认证+shiro的授权

    Shiro 学习笔记 本文基于B站UP主[编程不良人]视频教程[2020最新版Shiro教程,整合SpringBoot项目实战教程]进行整理记录,仅用于个人学习交流使用. 视频链接:https://w ...

  4. Shiro用户认证和用户授权流程

    有时候觉得'如约而至'是个多么美好的词,等的很辛苦,却不辜负.--<匿名> 1.引言 传统权限管理使用基于url拦截的权限管理方式,实现起来比较简单,不依赖框架,使用web提供filter ...

  5. 认证(Authentication),授权(Authorization) 以及Cookie、Session

    1.认证和授权 1.1 首先二者的读法不同 认证: Authentication 授权: Authorization 1.2  认证和鉴权是什么? 从简单的角度来说: 认证: 理解为你是谁 授权: 理 ...

  6. HDFS权限管理、用户身份认证和数据访问授权、UGO权限管理、umask权限掩码、UGO权限相关命令、Web页面修改UGO权限

    HDFS权限管理 1.1 总览概述 作为分布式文件系统,HDFS也集成了一套兼容POSIX的权限管理系统.客户端在进行每次文件操时,系统会从用户身份认证和数据访问授权两个环节进行验证: 客户端的操作请 ...

  7. 转:权限管理——用户认证和用户授权

    转自: https://blog.csdn.net/xdd19910505/article/details/51926540 因为做了权限的项目经理,so,恶补一下一个权限框架:shiro.其实作为框 ...

  8. java url 授权,Spring MVC框架 - 基本认证之URL 授权认证

    [导读]为控制器添加注解是非常简单的,但这往往并不是最可行的方案.有时候,我们会想要完全控制授权功能. 为控制器添加注解是非常简单的,但这往往并不是最可行的方案.有时候,我们会想要完全控制授权功能. ...

  9. 网络安全——浅谈——AAA认证技术——登录授权、配置命令

    目录 一.AAA认证简介: AAA认证流程: 实验及配置命令: 第一步:开启AAA认证 第二步:配置线下保护(console接口不参与AAA认证) 第三步:对R1设备telnet我R2的时候提供AAA ...

最新文章

  1. 【笔记】Hexo+Github博客网站搭建,初试环境搭建及Matery主题配置感受
  2. iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU近100%导致网站反应速度缓慢的解决方案...
  3. 什么是SPDK,以及什么场景需要它
  4. Java程序员谈一谈-----java程序员成长之路
  5. PYTHON-进阶-编码处理小结
  6. 布同:web版比赛实时算分系统的设计
  7. android显示多个网络图片不显示,Android显示网络图片实例
  8. 【kafka】kafka 如何开启 kafka.consumer的监控指标项
  9. 【无机纳米材料科研制图——OriginLab 0202】Origin制图优化与格式复制
  10. ubuntu 18.04安装 远程控制软件 TeamViewer 亲测有效简单
  11. 视频如何转换html链接地址,视频肿么生成html代码放到自己的网页去求解答法案...
  12. Web前端工程师知识脉络图
  13. Android 常用图片框架对比
  14. VMware 虚拟机安装Linux(Ubuntu)系统教程
  15. @Aspect注解使用场景
  16. 据说这是北大教师孔庆东的韩国游记
  17. 还不快到碗里来?软件测试接口测试面试题(大全)
  18. XCP实战系列介绍04-CANape工程配置超详细介绍
  19. cnpm : 无法加载文件 D:\mydriver\node-install\nodejs\node_global\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/g
  20. 安装Souce Insight 4.0 、显示文件浏览、折叠代码

热门文章

  1. cacti监控服务器
  2. Executor Framework
  3. 软件工程(2018)结对编程第一次作业
  4. BootKit病毒——“异鬼Ⅱ”的前世今生
  5. js字符串、数组处理方法、以及一些常用js方法
  6. MySql大数据量恢复
  7. 关于ios7 navigationController中view的frame以及坐标点
  8. 深入biztalk消息以及消息订阅发布路由机制(四)-消息的轮询和执行
  9. Typora+PicGo+Gitee 图床配置
  10. 见过一个一个拉新地推没见过这么多一起推