创建 kubernetes-dashboard

官方仓库
https://github.com/kubernetes/dashboard

  1. 下载

     wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
    

    也可以直接使用 url

      kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
    

    但是,因为后续需要修改,而且 raw.githubusercontent.com 域名不一定总能打开,所以,下载下来比较放心!

  2. 改用 NodePort 方式访问
    vim recommended.yaml

    找到 k8s-app: kubernetes-dashboard ,增加 type: NodePort 和 nodePort: 30001

     ---kind: ServiceapiVersion: v1metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboardspec:type: NodePort #使用 NodePort方式,方便外网访问ports:- port: 443targetPort: 8443nodePort: 30001 #映射到host的30001端口selector:k8s-app: kubernetes-dashboard---
    

    后来配置了本地 LoadBalancer
    k8s学习: 使用 MetalLB 给测试环境配置LoadBalancer 服务
    所以,改成了这样

     kind: ServiceapiVersion: v1metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboardspec:type: LoadBalancer # NodePort ports:- port: 443targetPort: 8443# nodePort: 30001selector:k8s-app: kubernetes-dashboard---
    

    kubectl apply -f recommended.yaml

     namespace/kubernetes-dashboard createdserviceaccount/kubernetes-dashboard createdservice/kubernetes-dashboard createdsecret/kubernetes-dashboard-certs createdsecret/kubernetes-dashboard-csrf createdsecret/kubernetes-dashboard-key-holder createdconfigmap/kubernetes-dashboard-settings createdrole.rbac.authorization.k8s.io/kubernetes-dashboard createdclusterrole.rbac.authorization.k8s.io/kubernetes-dashboard createdrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard createdclusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard createddeployment.apps/kubernetes-dashboard createdservice/dashboard-metrics-scraper createddeployment.apps/dashboard-metrics-scraper created
    
  3. 确认
    kubectl get pods --all-namespaces

     NAMESPACE              NAME                                        READY   STATUS    RESTARTS       AGE...kubernetes-dashboard   dashboard-metrics-scraper-c45b7869d-nxbct   1/1     Running   5 (53m ago)    6dkubernetes-dashboard   kubernetes-dashboard-576cb95f94-jtz58       1/1     Running   5 (53m ago)    6d
    

创建访问用户

  1. 官方仓库文档
    Creating sample user

    镜像仓库文档
    Creating sample user

  2. 创建一个 adminuser(Creating a Service Account)
    vim dashboard-adminuser.yaml

     apiVersion: v1kind: ServiceAccountmetadata:name: admin-usernamespace: kubernetes-dashboard
    

    生成
    kubectl apply -f dashboard-adminuser.yaml

  3. 创建一个ClusterRole(Creating a ClusterRoleBinding)
    vim dashboard-ClusterRoleBinding.yaml

     apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata:name: admin-userroleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-adminsubjects:- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard
    

    生成
    kubectl apply -f dashboard-ClusterRoleBinding.yaml

  4. 获取访问令牌(Getting a Bearer Token)

    从仓库文档中找到 Getting a Bearer Token 命令样本

     kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
    

结果如下

 eyJhbGciOiJSUzI1NiIsImtpZCI6IkhRVkxadFBlblNkbGYtZ05obUNDWmxkNzhEazFsbWoxOGNCSkRST25VY28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWpzc3BwIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI4NmJkZGQwZS1lODE0LTQ4MjItODAyYS0wZGVlZWU1YzQ2ZjAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.OivIRkS11wQMNTztVeokL63qYSl3-Cb9UnHHa3yFhiVBuDz_92F7gy3C1etX2MEE1l-1zAFnmiAypum1T-PjCVSodvgvUKv_N3KTDSUdW0JIpDxymK_cIoU6H6aqL5F5FvYgodYNKc05wuKVH2Jc1udZthADoD5RRpo1S_ttwLfjJgiSOa-Bz-4A_jv4EzJqcBqVZtusacosT6x9JxcukoWq9bmuSZ8Lp99dVFzsCHgD1XicBYSm6RQ8tXAYioEHa0tk3SJrC6rLrLBa5_NIO9ZkwGWpumj35yC-SkD8uDjuwPFtn1DE7EmOEut8N1Rg5kZ9izV4_7oY9CK1nQDcb[root@c[root@centos7-189 working]# [root@centos7-[root@c[root@centos7-[root@centos7-[root@centos7-[root@c[root@centos7-

或者

这个指令样本忘记从哪里 cp 来的了

 kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"

返回结果样本:

eyJhbGciOiJSUzI1NiIsImtpZCI6IkhRVkxadFBlblNkbGYtZ05obUNDWmxkNzhEazFsbWoxOGNCSkRST25VY28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWpzc3BwIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI4NmJkZGQwZS1lODE0LTQ4MjItODAyYS0wZGVlZWU1YzQ2ZjAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.OivIRkS11wQMNTztVeokL63qYSl3-Cb9UnHHa3yFhiVBuDz_92F7gy3C1etX2MEE1l-1zAFnmiAypum1T-PjCVSodvgvUKv_N3KTDSUdW0JIpDxymK_cIoU6H6aqL5F5FvYgodYNKc05wuKVH2Jc1udZthADoD5RRpo1S_ttwLfjJgiSOa-Bz-4A_jv4EzJqcBqVZtusacosT6x9JxcukoWq9bmuSZ8Lp99dVFzsCHgD1XicBYSm6RQ8tXAYioEHa0tk3SJrC6rLrLBa5_NIO9ZkwGWpumj35yC-SkD8uDjuwPFtn1DE7EmOEut8N1Rg5kZ9izV4_7oY9CK1nQDcbQ

打开Dashboard

  1. 浏览器打开 https://192.168.1.189:30001/#/login

    后来使用了 LoadBalancer ,url 变成了这个
    https://192.168.1.242/#/ingress?namespace=default
    ip 地址是这样子获取的

    kubectl get svc -n kubernetes-dashboard

     NAME                        TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)         AGEdashboard-metrics-scraper   ClusterIP      10.96.77.141    <none>          8000/TCP        7m35skubernetes-dashboard        LoadBalancer   10.101.232.27   192.168.1.242   443:30332/TCP   7m36s
    

使用前一步保存的 token 登录

k8s 配置dashboard相关推荐

  1. 【Kubernetes】k8s的安全管理详细说明【SA配置、k8s安装dashboard、资源限制(resource、limit、resourcequota)】

    文章目录 环境准备 token验证&&kubeconfig验证 role和clusterrole赋权 sa[Service Account] sa总结 1.service accoun ...

  2. 搭建K8S 的dashboard的坑the server could not find the requested resource

    搭建K8S 的dashboard的时候显示404 the server could not find the requested resource 如图所示 然后日志文件 是这个样子的 Oct 17 ...

  3. 从部署 httpd 入手,理清 k8s 配置中的 containerPort、port、nodePort、targetPort

    注:文中各种内网.公网 IP 仅为示例,不保证所有 IP 都可以访问,且你的环境中 IP 可能不同. 背景 在上一篇文章 自己搭建一个k8s环境 中,我们一顿操作猛如虎,搭建出了由 1 个 maste ...

  4. 新手篇 | K8S配置最佳实践

    本文档旨在汇总和强调用户指南.快速开始文档和示例中的最佳实践.本文已上传到 kubernetes-handbook 中的第四章最佳实践章节,本文仅作归档,更新以 kubernetes-handbook ...

  5. K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间

    系列文章目录 第一章:✨ k8s入门:裸机部署 k8s 集群 第二章:✨ k8s入门:部署应用到 k8s 集群 第三章:✨ k8s入门:service 简单使用 第四章:✨ k8s入门:Statefu ...

  6. K8S部署Dashboard和Heapster

    K8S部署Dashboard和Heapster 0.前言 文章使用的k8s版本为1.10.0,dashboard版本为v1.8.3 系统为CentOS7 总共有三台机器: Name IP Role c ...

  7. centos7 Kubeadm安装配置K8S 及Dashboard外部服务

    环境: Kubernetes Master节点:192.168.0.47 Kubernetes node1节点:192.168.0.33 Kubernetes node2节点:192.168.0.37 ...

  8. K8S通过rook部署rook ceph集群、配置dashboard访问并创建pvc

    Rook概述 Ceph简介 Ceph是一种高度可扩展的分布式存储解决方案,提供对象.文件和块存储.在每个存储节点上,将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进程.在Cep ...

  9. K8S使用dashboard管理集群

    今年3月份在公司的内部k8s培训会上,开发同事表示使用dashboard的可以满足日常开发需求,例如查看pod的日志,执行exec指令,查看pod的运行状态等,但对basic认证的权限控制表示担忧. ...

  10. k8s安装dashboard及账号密码登陆

    1.k8s安装管理后台 (1)获取yaml配置文件wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/depl ...

最新文章

  1. VScode设置中文
  2. VTK:Utilities之FullScreen
  3. TS基础1(类型定义、接口)-学习笔记
  4. 关于iOS里的做动画方法的差别与注意事项
  5. 把旧系统迁移到.Net Core 2.0 日记(2) - 依赖注入/日志NLog
  6. 【转】C# HttpWebRequest 异常时获取 HttpWebResponse 数据
  7. Codeforces 319C DP 斜率优化
  8. kafka-spark-streaming-mysql(scala)实时数据处理案列
  9. 各种音频视频编解码详细介绍
  10. 天外键盘映射工具(适合魔兽真三改键)
  11. 自动量程万用表的实现原理_电子元器件用指针万用表、数字万用表、自动量程万用表测量原理图解大全教会您怎么看与测的呢?...
  12. Playmaker节点工具使用(三)—扩展playmaker
  13. stm32f103c8t9控制TFT显示屏
  14. 猫和计算机连接网络,计算机路由器与猫的连接方法步骤
  15. BH1750光照传感器
  16. 全网最全AD16——原理图绘制
  17. 研电赛项目之双目测距,涉及matlab相机标定,opencv多线程编程,摄像头读取,行人检测、BM立体匹配等等
  18. python画猪猪侠_猪猪侠简笔画怎么画
  19. ubuntu(21):ubuntu安装gurobi
  20. WireShark案例分析

热门文章

  1. 一站式学习Redis 从入门到高可用分布式实践(慕课)第三章 Redis客户端
  2. BZOJ4569 SCOI2016萌萌哒(倍增+并查集)
  3. 怪不得知乎急着招前端开发.
  4. 关于嵌套类的调用更新问题
  5. 两种模式的资源管理器代码之———— 删除文件夹
  6. The pricess diaries
  7. 我设想的可扩展结构(插件) (二)
  8. 【转贴】二节棍精典棍花动作详解
  9. 一个关于全局变量的问题
  10. Centos 安装 Oracle Java JDK