26-k8s的附加组件-图形化管理工具dashboard

一、简单介绍

        Dashboard是k8s集群管理的一个WebUI,它是k8s的一个附加组件,所以需要单独来部署;

        我们可以通过图形化的方法,创建、删除、修改、查询k8s资源;

二、部署安装dashboard组件

Github地址:GitHub - kubernetes/dashboard: General-purpose web UI for Kubernetes clusters

参考链接:Release v2.5.1 · kubernetes/dashboard · GitHub

可以通过上述地址,查询对应k8s的版本,来下载对应的dashboard;

百度云盘地址:

链接:https://pan.baidu.com/s/14Wu-gRjfDa8IWCawY6O72g?pwd=ni8n 
提取码:ni8n

1,上传dashboard本地文件

本次学习,我们直接使用我给大家准备好的百度网盘的文件;就不需要大家“越界”下载了;

[root@k8s231 dashboard]# rz -E
[root@k8s231 dashboard]# ll
-rw-r--r-- 1 root root 7660 Jan  6 08:59 dashboard_.yaml

2,修改nodeport的端口范围

        以前修改过的,不用修改,或者你可以不修改,而是修改dashboard的文件中的svc资源的端口范围为30000-32767;

        本次学习,我们不修改文件,只修改k8s的svc的nodeport的端口范围;

[root@k8s231 dashboard]# vim /etc/kubernetes/manifests/kube-apiserver.yaml 
.............
spec:
  containers:
  - command:
    - kube-apiserver
    #下面这一条加进去,就修改完成了;自动就会更新;稍等一会;先会崩溃;
    - --service-node-port-range=3000-50000
    - --advertise-address=10.0.0.231
    ......

3,创建dashboard资源

[root@k8s231 dashboard]# kubectl apply -f dashboard_.yaml

4,查看验证是否部署成功

#查看是否有新的名称空间?

[root@k8s231 dashboard]# kubectl get ns
................
kubernetes-dashboard   Active   5m58s

#查看,dashboard名称空间下的pod,是否running?

[root@k8s231 dashboard]# kubectl get pods -n kubernetes-dashboard
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-799d786dbf-558zs   1/1     Running   0          6m16s
kubernetes-dashboard-fb8648fd9-twr8k         1/1     Running   0          6m16s

5,电脑浏览器访问测试

        访问:https://10.0.0.231:8443

        浏览器会显示不安全的证书链接;点击【高级】也没用,怎么办?

        温馨提示:如果打不开网页,可以鼠标单击空白处,,依次输入“thisisunsafe”,即可自动跳转进入页面了;

        点击空白处,写上“thisisunsafe”之后,会自动进入登录页面

        我们可以看见上图中:有两个登录选项,token登录和kubeconfig登录;

6,token登录方式登录dashboard

· 查看dashboard的token

        其实就是先查看dashboard的sa用户的详细信息;

我们可以看到,sa用户有一个token字段;这个token字段本质上也是一个secrets资源;

[root@k8s231 dashboard]# kubectl -n kubernetes-dashboard describe sa kubernetes-dashboard | grep Tokens
Tokens:              kubernetes-dashboard-token-2rrz9

我们继续查看用户token的secrets资源详细信息,就可以获取到token的详细编码信息了;

[root@k8s231 dashboard]# kubectl -n kubernetes-dashboard describe secrets kubernetes-dashboard-token-2rrz9

.........

token:      eyJhbGciOiJSUzI1NiIsImtpZCI6ImhJc3J4Y0JsRGQtWlVDZE9GbDkxQVRMMVJZaUlVNnRxWTFzZFBPdU5hM0kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi0ycnJ6OSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjY2NjI1NDZmLTRhOTctNDc5MS04ZGI3LWZhNTFhZTc4M2Y3OCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.KpE4z0IX_404d_YhdjjcrPzlV-IovqhCx8AT9PaswK35q5AYeY6hf_Eu7oXLDiNlnIKVCscEp8BkpWfiTHZsc1Xfbo4Fw-95-aKXYS-ZOOwWF5vY2UjfQ-fbHqo5tbZN04GLzn67xaE096pVXVz6G6JQwGWIqCHFYcQMn_rp_OYOfPG4TkJ3-nMEq3NJB7gYf2X5xmhvMkEOTOgMwbAw-90Sn3EXW1nHhb6KsyWvKpq65qYnioqNu6KgXub1UD6caXWnMpOaaGE29Tm6_r55Hi_fIaLPwbhHUJ3mx7m99unmAiPDh3wsIhBcFYmbSzWJjGyLpzFJEhs-miKYuVpYNQ
 

· 复制token编码输入到页面token为止

点击【登录】虽然登录进来了,但是,显示没有权限;

· 解决权限不足的问题

1,创建用户绑定角色

[root@k8s231 dashboard]# cat sa-dash.yaml 
#创建sa用户叫xinjizhiwa
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  # 创建一个名为"xinjizhiwa"的账户
  name: xinjizhiwa
  namespace: kubernetes-dashboard

---
#绑定k8s集群中的最大权限的角色与xinjizhiwa用户
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-oldboyedu
  namespace: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  # 既然绑定的是集群角色,那么类型也应该为"ClusterRole",而不是"Role"哟~
  kind: ClusterRole
  # 关于集群角色可以使用"kubectl get clusterrole | grep admin"进行过滤哟~
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    # 此处要注意哈,绑定的要和我们上面的服务账户一致哟~
    name: xinjizhiwa
    namespace: kubernetes-dashboard
 

[root@k8s231 dashboard]# kubectl apply -f sa-dash.yaml

· 使用新用户的token登录dashboard

1,查看新用户token

[root@k8s231 dashboard]# kubectl -n kubernetes-dashboard describe sa xinjizhiwa | grep Tokens 
Tokens:              xinjizhiwa-token-crn87

[root@k8s231 dashboard]# kubectl -n kubernetes-dashboard describe secrets xinjizhiwa-token-crn87

..................

token:      eyJhbGciOiJSUzI1NiIsImtpZCI6ImhJc3J4Y0JsRGQtWlVDZE9GbDkxQVRMMVJZaUlVNnRxWTFzZFBPdU5hM0kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJ4aW5qaXpoaXdhLXRva2VuLWNybjg3Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6Inhpbmppemhpd2EiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI1MzBkMWI2ZS1hNmFjLTRiZGItODhlMC1iZTI5MGNkYmEwZWIiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6eGluaml6aGl3YSJ9.KgdVd3wBiwQVrmIr4ZgXNQrUR-fMDsJfxy40uZacosqTErnYP89wDMht-IynVfD2pDV43D8NlPdIGe2UM2bNpkxIVw46umow2bIdpJWBCqbAU0F4FrRfT2GWw1IMqLDulvTH7CLBjfUhpMTLB2xhJJk1ZITUJHJnbm8uGu7ZuOw4dLbTysxiADSO8KjlC7hYF6DIq3jDcxSkZwXroNryhai-akubES9E8nSARxMp9xbYOv5xBb2feNXJId_TSbXRbDYibcig3-tXWxkD5avBWrgLb7A5raSSvAwj6_T2BbcR1Irs11wFcwnt7HM_oHsVoPXrHS4bAyc1P9kzr_vrRg

2,使用新用户token登录

7,kubeconfig文件方式登录dashboard

· 生成kubeconfig文件

先编辑生成kubeconfig文件的脚本

[root@k8s231 dashboard]# cat kc.sh 
#!/bin/bash

#用户token的变量
XINJIZHIWA_TOKEN="eyJhbGciOiJSUzI1NiIsImtpZCI6ImhJc3J4Y0JsRGQtWlVDZE9GbDkxQVRMMVJZaUlVNnRxWTFzZFBPdU5hM0kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi0ycnJ6OSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjY2NjI1NDZmLTRhOTctNDc5MS04ZGI3LWZhNTFhZTc4M2Y3OCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.KpE4z0IX_404d_YhdjjcrPzlV-IovqhCx8AT9PaswK35q5AYeY6hf_Eu7oXLDiNlnIKVCscEp8BkpWfiTHZsc1Xfbo4Fw-95-aKXYS-ZOOwWF5vY2UjfQ-fbHqo5tbZN04GLzn67xaE096pVXVz6G6JQwGWIqCHFYcQMn_rp_OYOfPG4TkJ3-nMEq3NJB7gYf2X5xmhvMkEOTOgMwbAw-90Sn3EXW1nHhb6KsyWvKpq65qYnioqNu6KgXub1UD6caXWnMpOaaGE29Tm6_r55Hi_fIaLPwbhHUJ3mx7m99unmAiPDh3wsIhBcFYmbSzWJjGyLpzFJEhs-miKYuVpYNQ"

#设置集群
kubectl config set-cluster     xinjizhiwa-cluster --server=https://10.0.0.231:6443 --kubeconfig=xjzw.conf

#设置客户端
kubectl config set-credentials xinjizhiwa-client  --token=${XINJIZHIWA_TOKEN} --kubeconfig=xjzw.conf

#集群结合客户端
kubectl config set-context     xinjizhiwa-user    --cluster=xinjizhiwa-cluster --user=xinjizhiwa-client --kubeconfig=xjzw.conf

#声明使用上下文生成kubeconfig文件
kubectl config use-context xinjizhiwa-user --kubeconfig=xjzw.conf

执行脚本生成文件

[root@k8s231 dashboard]# bash kc.sh 
[root@k8s231 dashboard]# ll
................
-rw------- 1 root root 1305 Feb 23 03:53 xjzw.conf

导出文件到本地电脑桌面

上传到dashboard页面为止

· 点击登录

至此,两种方式的登录,就成功了;

三、使用dashboard

1,创建资源清单

· 第一种方式

手动编辑资源清单

· 第二种方式

上传yaml文件创建

· 第三种方式

至此,dashboard图形化管理工具学习完毕;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2807410.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

bat脚本进程停止与启动

在Windows操作系统中,批处理(Batch)脚本是一种常见的自动化脚本工具,通过BAT文件来执行一系列DOS命令。通过BAT脚本,我们可以轻松地控制进程的启动和停止。 一、进程停止 在BAT脚本中,要停止一个进程&…

蓝桥杯14届计算思维国赛U8组包含真题和答案

十四届蓝桥杯国赛考试计算思维 U8 组 答案在底部 第一题 以下选项中,( )是由美国计算机协会设立,对在计算机领域内作出重要贡献的个人授予的奖项 。A.图灵奖 C.菲尔兹奖 B.诺贝尔奖 D.普利策奖 第二题 希希去吃寿司。餐台上摆出了许多食物,可供大家自选。如下图所示。 …

2024 CKS 题库 | 12、Sysdig falco

不等更新题库 CKS 题库 12、Sysdig & falco Task: 使用运行时检测工具来检测 Pod tomcat123 单个容器中频发生成和执行的异常进程。 有两种工具可供使用: sysdigfalco 注: 这些工具只预装在 cluster 的工作节点 node02 上,…

算法【查找算法的概念】

查找算法概念 1、查找的基本概念2、评价查找算法3、问题: 查找过程中我们要研究什么? 1、查找的基本概念 查找的概念: 根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或者记录。 查找算法也可以叫搜索算法。查找算法就是从一个有序…

更新至2022年世界各国数字经济发展相关指标(23个指标)

更新至2022年世界各国数字经济发展相关指标(23个指标) 1、时间:具体指标时间见下文 2、来源:WDI、世界银行、WEF、UNCTAD、SJR、国际电联 3、指标:移动网络覆盖率(2000-2022)、固定电话普及率…

跳槽前应该做好哪些准备?

第一次求职也好,还是换工作也罢,都需要有严谨的考虑。对于已经工作上班的朋友来说,切不可轻易地辞掉工作,想要跳槽,一定要三思而后行,有一个周密的部署。跳槽有好处,也有弊端,频繁的…

前端导出下载文件后提示无法打开文件

问题 项目中的导出文件功能,导出下载后的文件打开提示如下: 原因 对返回的响应数据进行打印,发现响应数据为字符串格式,前期规划的后端返回数据应该 blob 对象的。后经排查后发现是请求头缺少了响应数据格式的配置,应…

详细分析Pandas中的Series对象(附Demo)

目录 1. 问题所示2. 基本知识3. API Demo4. 示例Demo5. 彩蛋 1. 问题所示 从实战上手基础知识 一开始遇到这个Bug: TypeError: unsupported operand type(s) for -: str and float后面经了解执行减法运算时发生了错误,其中一个操作数是字符串类型&…

Python语言基础与应用-北京大学-陈斌-P29-28-计算和控制流:控制流:上机:基本计算程序-给定一个英文数字字符串,打印相应阿拉伯数字字符串-上机代码

Python语言基础与应用-北京大学-陈斌 P29-28-计算和控制流:控制流:上机:基本计算程序-给定一个英文数字字符串,打印相应阿拉伯数字字符-上机代码 # 给定一个英文数字字符串,打印相应阿拉伯数字字符串 # 自定义一个变量…

SpringBoot -【SmartInitializingSingleton】基础使用及应用场景

SmartInitializingSingleton 在继续深入探讨 SmartInitializingSingleton接口之前,让我们先了解一下 Spring Framework 的基本概念和背景。Spring Framework 是一个开源的 JavaEE(Java Enterprise Edition)全栈(full-stack&#x…

Java+Vue:宠物猫认养系统的未来之路

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

Windows安装HBuilderX

下载 HBuilderX下载地址: 下载地址 解压安装包 HBuilderX,Windows为zip包,解压后才能使用。 首先,选中下载的zip包,点击右键菜单,点击解压到当前文件夹进入解压后的文件夹,找到HBuilderX.exe&#xff0…

第九篇【传奇开心果系列】python文本和语音相互转换库技术点案例示例:SpeechRecognitio库开发会议记录和转录工具经典案例

传奇开心果博文系列 系列博文目录python文本和语音相互转换库技术点案例示例系列 博文目录前言一、雏形示例代码二、扩展思路介绍三、SpeechRecognition库多种语音识别引擎支持示例代码四、SpeechRecognition库实时语音转录示例代码五、SpeechRecognitio库转录文本中提取关键词…

[electron]官方示例解析

官方例子 github链接 main.js const { app, BrowserWindow } require(electron)说句实话这里的语法是有部分看不懂的。导入模块虽然electron有很多模块。但是这里只是用到了app 和 BrowserWindow function createWindow () {// Create the browser window.const mainWindo…

YOLOv9来咧!

文章目录 论文:主要内容一、提出使用PGI(Programmable Gradient Information,可编程梯度信息)来解决信息瓶颈问题和深度监督机制不适合轻量级神经网络的问题。二、设计了GELAN(Generalized ELAN ,广义ELAN)…

推荐几款.NET开发最常用的windowns利器

概述 有很多好用的开发工具,合理的利用能够很大的提升我们日常的开发效率,今天小编就介绍几款我在开发中使用频率较高的windowns工具,希望能对大家用帮助! 工具一:Beyond Compare Beyond Compare 是一款专业的文件对比工具&#x…

C# OpenVINO PaddleSeg实时人像抠图PP-MattingV2

目录 效果 项目 代码 下载 C# OpenVINO 百度PaddleSeg实时人像抠图PP-MattingV2 效果 项目 代码 using OpenCvSharp; using Sdcb.OpenVINO; using System; using System.Diagnostics; using System.Drawing; using System.Security.Cryptography; using System.Text; us…

机器学习模型的过拟合与欠拟合

机器学习模型的训练过程中,可能会出现3种情况:模型欠拟合、模型正常拟合与模型过拟合。其中模型欠拟合与模型过拟合都是不好的情况。下面将会从不同的角度介绍如何判断模型属于哪种拟合情况。 (1)欠拟合与过拟合表现方式 欠拟合…

力扣细节题:翻转二叉树

细节一:递归采用前序递归 细节二:采用交换节点而不是交换数据因为左右树交换的同时左右树的所有子节点都要交换 细节三:采用外置函数因为return如果在本函数内操作会存在必须返回空指针的问题 /*** Definition for a binary tree node.* s…

3d Slicer软件一种新的体绘制方式

vtk Multi-Volumne试验性体绘制方式,细节更丰富,影像更清晰,值得学习使用