当前位置: 首页 > article >正文

DashBoard安装使用

DashBoard安装使用

一、实验目的

1掌握dashboard 的安装部署

2熟悉图像化部署任务:产生pod---定义服务--验证访问

二、实验内容:

1、配置步骤

1.1、Helm安装

离线安装(适用于内网/离线环境)

# 根据系统架构选择版本,如linux-amd64

wget https://get.helm.sh/helm-v3.12.3-linux-amd64.tar.gz

tar -zxvf helm-v3.12.3-linux-amd64.tar.gz

sudo mv linux-amd64/helm /usr/local/bin/helm

helm version

1.2部署 Kubernetes Dashboard

1.2.1. 添加仓库并部署

helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/

helm repo update

helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard \

  --create-namespace \

  --namespace kubernetes-dashboard

1.2.2. 验证部署

kubectl get namespaces | grep dashboard

kubectl get pods -n kubernetes-dashboard

1.2.3. 访问 Dashboard

临时访问(仅限本地):# 停止当前端口转发 (Ctrl+C)

# 然后运行:

kubectl -n kubernetes-dashboard port-forward --address 0.0.0.0 svc/kubernetes-dashboard-kong-proxy 8443:443

登录不成功是由于,master节点有污点,由于我是单节点安装,我对污点进行了删除,操作步骤如下:

  1. 查看节点状态:kubectl get pods -n kubernetes-dashboard

#此时都处于pending状态,不可用

  1. 删除主节点污点:kubectl taint nodes master node-role.kubernetes.io/control-plane:NoSchedule-
  2. 检验:kubectl describe node master | grep Taints

  1. 验证:watch kubectl get pods -n kubernetes-dashboard -o wide

  1. 再次登录

网页登录页面如下

1.3生成token

创建 ServiceAccount 及ClusterRoleBinding角色绑定

创建 ServiceAccount 和 ClusterRoleBinding(授予管理员权限)

# 创建 ServiceAccount(管理员账户)

kubectl create serviceaccount admin01 -n kubernetes-dashboard

# 绑定 ClusterRoleBinding(授予集群管理员权限)

kubectl create clusterrolebinding admin01 --clusterrole=cluster-admin \

  --serviceaccount=kubernetes-dashboard:admin01

创建对应服务账号的token,我选择自定义token有效期为24h

生成访问令牌(Token)正常来说时间不用太长

# 生成默认有效期(1小时)的令牌

kubectl -n kubernetes-dashboard create token admin01

# 生成自定义有效期(24小时)的令牌

kubectl -n kubernetes-dashboard create token admin01 --duration 24h

eyJhbGciOiJSUzI1NiIsImtpZCI6ImhMb2NHMHdoSzVVczh1REstMzdXMWNXVWp2VjQ5aEU1WVFuaDlRSG5xckUifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzQ4NTY4Nzg2LCJpYXQiOjE3NDg0ODIzODYsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbjAxIiwidWlkIjoiZmQxYmY4YTMtMDc5Mi00ZWY4LThjMDQtZmM3MzYyZWMxZjY4In19LCJuYmYiOjE3NDg0ODIzODYsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbjAxIn0.ekQUmh2HR8IaNaN4wdyYqB8BGDZlm3UrPzkW70xMkBNeys8JH4J2c5d_OeREpGE7nL6RbDNV5X-zIBVNTcilDNX2b9vcTvtuGs6QaLLrhmVZlx5HFLi7EYq6ojARXa2PpDRZdLFuZTIvl7joVBcWNEA-kuPIgbLACOBKyiHw5sHsQA5BVO2OqJcH3A3oZrQFKLi1EMyrmqZzYqlEHKfVihi4Rm5WHWPL6TtlFETVu9wpItnXyah0F4mmK5tj3nCdVBE2XpWOui2J9tSEgNLPsgQPjEW26SXNFKcUA2QCNeDLdYIT1x8HExlFiUa3e7Uu7q9Zz6uw0oUjKcul8VSiTA

如果报错401

换端口转发,操作步骤如下

修改端口类型,可以实现外部访问

修改 Service 类型为 NodePort(外部访问)

# 修改 Service 类型为 NodePort

kubectl patch svc kubernetes-dashboard-kong-proxy -n kubernetes-dashboard \

  --type='json' -p '[{"op":"replace","path":"/spec/type","value":"NodePort"}]'

# 指定固定 NodePort(例如 30083)

kubectl patch svc kubernetes-dashboard-kong-proxy -n kubernetes-dashboard \

  --type='json' -p '[{"op":"add","path":"/spec/ports/0/nodePort","value":30083}]'

#端口转发指令修改为:

kubectl -n kubernetes-dashboard port-forward --address 0.0.0.0 svc/kubernetes-dashboard-kong-proxy 30083:443

测试访问:https://192.168.1.60:30083/

登录时的注意事项

使用正确的登录方式:

选择 Token 而不是 Kubeconfig

在 Token 字段粘贴完整 Token

浏览器相关:

尝试 Chrome/Firefox 最新版

清除浏览器缓存和 Cookie

使用隐私/无痕模式

网络相关:

确保端口转发仍在运行

本地访问使用 https://localhost:8443

在浏览器有问题时,清除缓存也不能登录,使用无痕模式即可登录

1.4、 k8s dashboard 的基本使用

(1)点击pods,创建pod(三种方式)

直接编写yaml或json 文件;导入已经写好的yaml或json;通过表单创建

刷新,后变绿(稍微等一下)

点击对应的pod 能看到详细信息;类似与  kubectl describe  pod xx

功能展现:编号1、2、3、4分别作用

1为查看日志

2为在pod中运行

3为编辑资源

4为删除资源

  • 实验结论

本次实验完成了Kubernetes Dashboard的部署与基本使用验证。

Dashboard提供了直观的图形化界面,简化了Kubernetes资源的管理和操作。

在实际生产环境中,Dashboard可用于快速排查问题、部署应用及监控集群状态。

http://www.lryc.cn/news/2401110.html

相关文章:

  • 极客大挑战 2019 EasySQL 1(万能账号密码,SQL注入,HackBar)
  • C# CallerMemberName特性
  • 采用 Docker GPU 部署的 Ubuntu 或者 windows 桌面环境
  • 关于面试找工作的总结(四)
  • 分布式拜占庭容错算法——实现工作量证明(PoW)算法详解
  • 深度解析Mysql中MVCC的工作机制
  • MP4文件声音与视频分离
  • 接口自动化测试之pytest 运行方式及前置后置封装
  • 服务器被攻击了怎么办
  • 06-排序
  • python,shell,linux,bash概念的不同和对比联系
  • FPGA管脚类型,及选择
  • 如何在 Ubuntu22.04 上安装并开始使用 RabbitMQ
  • R-CNN 模型算法流程梳理
  • 细说C语言将格式化输出到FILE *stream流的函数fprintf、_fprintf_I、fwprintf、_fwprintf_I
  • 本地日记本,用于记录日常。
  • [蓝桥杯]格子刷油漆
  • Monorepo架构: 项目管理工具介绍、需求分析与技术选型
  • ubuntu下libguestfs-tools
  • Authentication failed(切换了新的远程仓库tld)
  • 【Web应用】若依框架:基础篇14 源码阅读-后端代码分析-课程管理模块前后端代码分析
  • 在 Linux 上安装 `pgvector`(这是一个 PostgreSQL 的向量类型扩展,常用于处理嵌入向量,便于进行向量相似度搜索)
  • 09.MySQL内外连接
  • Python爬虫实战:研究Scrapy-Splash库相关技术
  • 智能升级:中国新能源汽车充电桩规模化建设与充电桩智慧管理方案
  • AlphaFold3服务器安装与使用(非docker)(1)
  • 接口自动化测试之pytest接口关联框架封装
  • M1安装并使用Matlab2024a进行java相机标定
  • 02-Redis常见命令
  • 【论文阅读笔记】Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation