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

目录

一、dashboard介绍

二、部署安装dashboard组件

1.下载dashboard本地文件

2.修改nodeport的端口范围

3.创建和查看dashboard

4.电脑浏览器访问测试

5.token登录方式登录dashboard

5.1.查看dashboard的token

5.2.继续查看用户token的secrets资源详细信息

5.3.复制token编码输入到页面

5.4.解决权限不足的问题

6.kubeconfig文件方式登录dashboard

6.1.编辑生成kubeconfig文件的脚本

6.2.执行脚本 

 6.3.下载oslee.conf文件并上传

6.4.登陆

三、使用dashboard


一、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;

1.下载dashboard本地文件

[root@k8s1 k8s]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml

2.修改nodeport的端口范围

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

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

[root@k8s1 k8s]# vim recommended.yaml
# 修改为NodePort
spec:type: NodePortports:- port: 443targetPort: 8443nodePort: 8443selector:k8s-app: kubernetes-dashboard.................................................................[root@k8s1 k8s]# vim /etc/kubernetes/manifests/kube-apiserver.yaml
# 修改NodePort范围
spec:containers:- command:- kube-apiserver#下面这一条加进去,就修改完成了;自动就会更新;稍等一会;先会崩溃;- --service-node-port-range=3000-50000- --advertise-address=192.168.1.11
.................................................................

 

3.创建和查看dashboard

[root@k8s1 k8s]# kubectl apply -f recommended.yaml
[root@k8s1 k8s]# kubectl get pods -n kubernetes-dashboard
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-799d786dbf-gjs6w   1/1     Running   0          73s
kubernetes-dashboard-fb8648fd9-2xrkw         1/1     Running   0          73s

4.电脑浏览器访问测试

5.token登录方式登录dashboard

5.1.查看dashboard的token

# 先查看dashboard的sa用户的详细信息
# sa用户有一个token字段;这个token字段本质上也是一个secrets资源;[root@k8s1 k8s]# kubectl -n kubernetes-dashboard describe sa kubernetes-dashboard | grep Tokens
Tokens:              kubernetes-dashboard-token-qmtlx

5.2.继续查看用户token的secrets资源详细信息

# 继续查看用户token的secrets资源详细信息,就可以获取到token的详细编码信息了;
[root@k8s1 k8s]# kubectl -n kubernetes-dashboard describe secrets kubernetes-dashboard-token-qmtlx
Name:         kubernetes-dashboard-token-qmtlx
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: kubernetes-dashboardkubernetes.io/service-account.uid: 50e98f92-058e-4f49-acc1-97ce5b4ae695Type:  kubernetes.io/service-account-tokenData
====
namespace:  20 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IlA5MVdSa0dFeDZ0TnlpX0E4aFhMN3RKNWw3QWkzVjNfamF3M05sQVE3T0UifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1xbXRseCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjUwZTk4ZjkyLTA1OGUtNGY0OS1hY2MxLTk3Y2U1YjRhZTY5NSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.AT_6b51qN6Z-YjeaWwbgrNr2A_ZzbUQco028Wg5A8WKBxkF2mFd7_RKeU9virezut-dZ6YnWk4o916gc2pTA4BDsdVmDlkcVuFkqQlWtuZc4-ZC28SF9StNkDODvw0g5kzFcFnPTlov_LFqv6171vWNqWftq2YujyLLF3eQoD0mf5zwkGMi7MufQIKurT8ur_0SwOucqOm5wVsrAyD3IfpUV2BFRGeI8Xm4uflE2t9_fDMXKgvjtjL-VgTlb8ZDjSl3LbRQyCRNVSAM2z6SNDzuced0QLD0fLR79F2abevmMewtW3uCIFlDUUQzWPHPmPMGd2jPAVnCk8soEMAX9Ug
ca.crt:     1099 bytes

5.3.复制token编码输入到页面

5.4.解决权限不足的问题

显示没有权限

创建用户绑定角色

[root@k8s231 dashboard]# cat sa-dash.yaml 
#创建sa用户叫oslee
apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: kubernetes-dashboard# 创建一个名为"oslee"的账户name: osleenamespace: kubernetes-dashboard---
#绑定k8s集群中的最大权限的角色与oslee用户
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-oldboyedunamespace: kubernetes-dashboard
roleRef:apiGroup: rbac.authorization.k8s.io# 既然绑定的是集群角色,那么类型也应该为"ClusterRole",而不是"Role"哟~kind: ClusterRole# 关于集群角色可以使用"kubectl get clusterrole | grep admin"进行过滤哟~name: cluster-admin
subjects:- kind: ServiceAccount# 此处要注意哈,绑定的要和我们上面的服务账户一致哟~name: osleenamespace: kubernetes-dashboard[root@k8s1 k8s]# kubectl apply -f sa-dash.yaml 
serviceaccount/oslee created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-oldboyedu created

使用新用户的token登录dashboard

[root@k8s1 k8s]# kubectl -n kubernetes-dashboard describe sa oslee | grep Tokens 
Tokens:              oslee-token-2b5bf
[root@k8s1 k8s]# kubectl -n kubernetes-dashboard describe secrets oslee-token-2b5bf
Name:         oslee-token-2b5bf
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: osleekubernetes.io/service-account.uid: e49ad3d4-08de-453a-98e9-1cde253111f5Type:  kubernetes.io/service-account-tokenData
====
ca.crt:     1099 bytes
namespace:  20 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IlA5MVdSa0dFeDZ0TnlpX0E4aFhMN3RKNWw3QWkzVjNfamF3M05sQVE3T0UifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJvc2xlZS10b2tlbi0yYjViZiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJvc2xlZSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImU0OWFkM2Q0LTA4ZGUtNDUzYS05OGU5LTFjZGUyNTMxMTFmNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDpvc2xlZSJ9.qwVQf4hScOCT4UtOwvbiCbZt-dRvmij-XGmouaQRWXWcLzA6uuGtOmpX0KTymcYf9UdFEsBREnYwaSo1kLMgMQFDaQthlU3JEnwXd0xtuDooKbzbRKdydkJseo4bHTqLLWrnBkLSei97O-roAb4dL03Dtxo27ppHVwGd5ydj-LorjPDMcnynvlOBvCNV0rMbeQf1N1owwlRFHLGOH0kxuqN9lFVkg9Xu9HrC5bP2PMCQS17YdSQMfPxPY76sG2pBRK_Yu494Y0Aiop91SOllKiVJNT3qNpMuCbBS4IsZCh2MzIsG6V2Z3323fRV4MaHOegEdwIK6YZe2hhu-Z-9UZA

6.kubeconfig文件方式登录dashboard

6.1.编辑生成kubeconfig文件的脚本

[root@k8s1 k8s]# vi kc.sh
#!/bin/bash#用户token的变量
oslee_TOKEN="eyJhbGciOiJSUzI1NiIsImtpZCI6IlA5MVdSa0dFeDZ0TnlpX0E4aFhMN3RKNWw3QWkzVjNfamF3M05sQVE3T0UifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJvc2xlZS10b2tlbi0yYjViZiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJvc2xlZSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImU0OWFkM2Q0LTA4ZGUtNDUzYS05OGU5LTFjZGUyNTMxMTFmNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDpvc2xlZSJ9.qwVQf4hScOCT4UtOwvbiCbZt-dRvmij-XGmouaQRWXWcLzA6uuGtOmpX0KTymcYf9UdFEsBREnYwaSo1kLMgMQFDaQthlU3JEnwXd0xtuDooKbzbRKdydkJseo4bHTqLLWrnBkLSei97O-roAb4dL03Dtxo27ppHVwGd5ydj-LorjPDMcnynvlOBvCNV0rMbeQf1N1owwlRFHLGOH0kxuqN9lFVkg9Xu9HrC5bP2PMCQS17YdSQMfPxPY76sG2pBRK_Yu494Y0Aiop91SOllKiVJNT3qNpMuCbBS4IsZCh2MzIsG6V2Z3323fRV4MaHOegEdwIK6YZe2hhu-Z-9UZA"#设置集群
kubectl config set-cluster     oslee-cluster --server=https://192.168.1.11:6443 --kubeconfig=oslee.conf#设置客户端
kubectl config set-credentials oslee-client  --token=${oslee_TOKEN} --kubeconfig=oslee.conf#集群结合客户端
kubectl config set-context     oslee-user    --cluster=oslee-cluster --user=oslee-client --kubeconfig=oslee.conf#声明使用上下文生成kubeconfig文件
kubectl config use-context oslee-user --kubeconfig=oslee.conf

6.2.执行脚本 

# 执行脚本
[root@k8s1 k8s]# sh kc.sh 
Cluster "oslee-cluster" set.
User "oslee-client" set.
Context "oslee-user" created.
Switched to context "oslee-user".

 6.3.下载oslee.conf文件并上传

6.4.登陆

三、使用dashboard

===============================至此,已成艺术==============================

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】icmp_seq=1 Destination Host Unreachable

执行ping 命令提示&#xff1a;From 192.168.XX.XX icmp_seq1 Destination Host Unreachable 这个错误消息通常表示以下几种情况之一&#xff1a; 网络连接问题&#xff1a;目标主机可能没有连接到网络&#xff0c;或者网络中的某个路由器无法将数据包转发到目标主机。 目标主…

Kafka之【存储消息】

Kafka之【存储消息】

推荐算法教程(个人总结)

推荐算法是一类用于推荐系统的算法&#xff0c;通过分析用户行为和偏好&#xff0c;向用户推荐个性化的内容或产品。常见的推荐算法包括协同过滤&#xff08;Collaborative Filtering&#xff09;、基于内容的推荐&#xff08;Content-Based Filtering&#xff09;、矩阵分解&a…

Python库之Scrapy的高级用法深度解析

Python库之Scrapy的高级用法深度解析 引言 Scrapy是一个强大的Web爬虫框架&#xff0c;它提供了丰富的功能和灵活的扩展性&#xff0c;使得在Python中编写爬虫变得简单而高效。本文将深入探讨Scrapy的高级用法&#xff0c;帮助读者充分利用Scrapy的强大功能。 目录 引言Scr…

软考--软件设计师-刷题总结

一、数据结构 贪心算法 归并排序将问题先分解、再处理、再合并的方式采用了分治法的思想 分治法&#xff1a;将一个大问题分成若干个小问题 希尔排序&#xff1a; 定义一个 i 变量指向这一组的第二个数据&#xff0c;定义一个 j 变量指向 i - gap 的位置。 将 i 下标的值放到…

leetcode热题100.完全平方数(动态规划进阶)

前言 作者&#xff1a;晓宜 &#xff0c;大厂准入职小白 最近毕业论文快搞完了&#xff0c;打算把之前坚持的hot100系列文章更完&#xff0c;帮助大家更好的通过面试和笔试&#xff0c;都拿到大厂offer&#xff0c;大家快跟着刷起来呀。 从今天起立一个flag&#xff0c;每天更新…

那些网络安全上的事实,很多人不见得知道!

明月发现不少小白对网络安全的认知几乎为零&#xff0c;甚至明月还碰到一个说 VPN 能彻底隐匿自己的&#xff0c;至于现在这帮动不动就利用 DDos/CC 攻击被人网站来推销境外高防服务器、高防 CDN 的老鼠屎们更是网络安全知识白痴的水平&#xff0c;破坏和攻击的水平完全取决于能…

AI爆文写作:如何写出令人看一眼就想点击的爆款标题?

一、好标题要素(以公众号文章为例) 1. 热点、名人:热点事件、名人自带流量 董宇辉最新演讲刷屏:孩子未来20年的差距,是这样拉开的》 《读懂了杨绛,你就不再抱怨人生》 《江西彩礼38.8w上热搜:好的婚姻,不是侃价钱,而是看家庭》 2 悬疑:带着疑问,或反常识的观点,…

mac版本Phpstudy本地环境安装Discuz教程【2024】

此方法适用于m1版本的mac版本Phpstudy本地环境安装Discuz&#xff0c;当然同样使用更高版本的mac端。网上各种安装教程参差不齐&#xff0c;根本解决不了小白的入门需求&#xff0c;以下是最新且直接明了的安装教程。 Phpstudy本地环境安装Discuz教程&#xff1a; 1、安装Phps…

c++ vector实现出现的一些问题

目录 前言&#xff1a; 浅拷贝问题: typename指定类型&#xff1a; 前言&#xff1a; 最近学习了c vector的使用&#xff0c;然后也自己实现了一下vector的部分重要的功能。然后在其中出现了一些问题&#xff0c;在这就主要记录一下我解决哪些bug。 浅拷贝问题: 在实现res…

第四十三天 | 416.分割等和子集 1049.最后一块石头的重量|| 494.目标和

题目&#xff1a;416.分割等和子集 思路&#xff1a;只要找到集合里能够出现sum/2的子集总和&#xff0c;就算是可以分割成两个相同元素和子集了。 1.dp[j]含义&#xff1a;背包容量为j时&#xff0c;放进物品后&#xff0c;背的最大重量为dp[j] 那么如果背包容量为target&a…

分类网络中one-hot的作用

在分类任务中&#xff0c;使用神经网络时&#xff0c;通常需要将类别标签转换为一种合适的输入格式。这时候&#xff0c;one-hot编码&#xff08;one-hot encoding&#xff09;是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式&#xff0c;其中只有一个元素为1&am…

2024年顶级算法-黑翅鸢优化算法(BKA)-详细原理(附matlab代码)

黑翅鸢是一种上半身蓝灰色&#xff0c;下半身白色的小型鸟类。它们的显著特征包括迁徙和捕食行为。它们以小型哺乳动物、爬行动物、鸟类和昆虫为食&#xff0c;具有很强的悬停能力&#xff0c;能够取得非凡的狩猎成功。受其狩猎技能和迁徙习惯的启发&#xff0c;该算法作者建立…

PS —— 精修图像

PS —— 精修图像 修复污点修复画笔工具修复画笔工具 美白滤镜去杂锐化加杂减淡和锐化工具 我觉得今天这篇博客&#xff0c;无论是男同胞还是女同胞&#xff0c;都要熟练掌握&#xff08;哈哈哈哈…) 今天我们来学习如何精修图像&#xff0c;精修图像一般分为几步——修复&…

面试准备【面试准备】

面试准备【面试准备】 前言面试准备自我介绍&#xff1a;项目介绍&#xff1a; 论坛项目功能总结数据库表设计注册功能登录功能显示登录信息功能发布帖子评论私信点赞功能关注功能通知搜索网站数据统计热帖排行缓存 论坛项目技术总结Http的无状态cookie和session的区别为什么要…

1、什么是模块化,为什么要模块化?2、衡量模块独立的定性标准是什么?用自己的话表达其含义3、如何理解信息隐藏和局部化?用自己的话或者例子表达其含义

1. 模块化是指将一个大型系统划分为多个相互独立、功能单一的模块或组件的过程。模块化的目的是为了提高系统的可维护性、可扩展性和可重用性。通过模块化&#xff0c;系统的各个功能模块可以独立开发、测试和维护&#xff0c;降低了系统的复杂度&#xff0c;提高了开发效率和代…

shell文本三剑客——awk命令【☆】

目录 一、akw原理 二、命令格式 三、常用变量 四、awk的用法 1.输出整行内容 2.按字段输出文本内容 3.按列输出文件内容 FS变量为列分隔符 4.awk的三个模式 5. awk ‘控制语句条件 {操作}’ 文件 6.awk的数组 7.awk的应用 一、akw原理 逐行读取文本&#xff0c;默认…

const的了解

const详解_解const-CSDN博客 本文内容学习自上面的文章&#xff0c;ta写的非常好&#xff0c;非常感谢&#xff01;&#xff01;&#xff01; 1.const成员函数&#xff1a;该函数不可以修改该对象的任何成员变量 class T { public:int i;int j; public:void fun() const; //…

AI爆文写作:标题需要什么?情绪炸裂,态度要激烈,行为要夸张!

现在这个传播环境下&#xff0c;在公域中&#xff0c;轻声细语&#xff0c;慢慢的说&#xff0c;无法吸引到注意&#xff0c;没有人搭理。 标题要需要情绪张扬&#xff0c;态度激烈&#xff0c;行为夸张&#xff0c;大声喧闹。 唐韧的用户群是互联网产品经理&#xff0c;阅读量…

基于GA遗传优化的CNN-GRU的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN-GRU模型架构 4.2 GA优化CNN-GRU流程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ...........................................…