Dashboard的安装和基本使用

news2025/4/21 3:52:51

1.Dashboard简介:

Dashboard是Kubernetes的Web图形用户界面(GUI),它为用户提供了一个直观的方式来管理和监控Kubernetes集群。

2.实验基础和前置条件:

本实验以Kubernetes集群环境搭建与初始化-CSDN博客为基础和前置条件。

3.Dashboard的安装:

3.1安装Dashboard:

1.在C:\Windows\System32\drivers\etc目录下的host文件中添加以下配置。

185.199.111.133    raw.githubusercontent.com

2.在master01主机中,通过以下命令下载Dashboard所需的默认配置文件。

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

注意,本实验下载的是支持Kubernetes的Dashboard 2.7.0。

如果无法下载,则通过官网下载然后使用Xftp上传软件包。

3.调整默认配置。如下所示,修改下载的recommended.yaml文件,在其中的Service定义部分增加Service类型的定义和节点端口的定义。

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort         #指定Service类型
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30005    #指定外部访问的节点端口
  selector:
    k8s-app: kubernetes-dashboard

 具体修改,如下图:

 注意:上述修改中,要注意缩进和空格!!!

4.执行以下命令应用recommended.yaml配置文件,创建相应的Kubernetes对象来运行Dashboard。

kubectl apply -f recommended.yaml 

执行结果:

5. 执行以下命令,查看创建的Pod,可以验证Dashboard本身也是以Pod形式部署的。

kubectl get pod -n kubernetes-dashboard

具体执行结果:

6. 使用以下命令查看创建的Service。

kubectl get svc kubernetes-dashboard -n kubernetes-dashboard

具体执行结果:

7. 根据上图发布的节点端口,通过以下命令访问发布的nginx服务器。

curl https://master01:30005
curl https://node01:30005
curl https://node02:30005

 或者直接通过浏览器进行访问:

3.2服务账户和令牌:

与Kubernetes集群交互需要通过认证,认证方式有两种,分别是令牌和kubeconfig文件(即证书)。Dashboard登录可以使用其中任何一种方式。本实验使用最简单令牌方式。因此,我首先要获取集群管理员的令牌。

Kubermetes有两类账户:一类是用户账户(User),适合普通的用户使用;另-类是服务账户(ServiceAccount),专门提供给进程使用,让进程拥有相应的权限。为保护集群数据,默认情况下Dashboard会使用最少的基于角色的访问控制( Role-Based Access Control ,RBAC )配置部署。Dashboard是一个守护进程, 管理员可以创建一个专门 的服务账户供Dashboard使用,并为该账户赋子管理员权限。

1.在master01主机中,使用以下命令在kube-system名称空间中创建名为dashboard-admin的服务账户。

kubectl create serviceaccount dashboard-admin -n kube-system

 执行结果如下图:

同时,我们可以使用以下命令确认账号创建成功。

kubectl get serviceaccounts -n kube-system|grep dashboard-admin

2.在master01主机中,使用以下命令将dashboard-admin服务账户绑定为cluster-admin角色。

kubectl create clusterrolebinding dashboard-admin-binding --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

这里绑定角色为Kubernetes内置角色cluster-admin,服务账户为kubesystem名称空间中的dashboard-admin。 cluster-admin角色是超级管理员,具有管理集群的最高权限,相当于Linux系统中的root。具体执行结果,如下图:

 另外,我们可以使用以下命令验证角色是否绑定成功。

kubectl get clusterrolebindings|grep dashboard-admin-binding

3.使用以下命令生成和打印令牌。

kubectl create token dashboard-admin -n kube-system --duration=87600h

上述命令中,--duration用于指定令牌的过期时间。 --duration=87600h代码该令牌10后才过期。

具体执行结果如下图:

 注意,上图中的内容就是我们生成的令牌。

3.3登录Dashboard:

在图下中,填上图的令牌信息,点击登录,即进入工作的页面。

登录后的页面:

4.熟悉Dashboard的基本界面:

首先熟悉一下Dashboard的可视化视图操作界面。

4.1导航操作:

当在集群中定义Kubernetes对象时,Dashboard会在初始视图中显示它们。默认情况下只会显示默认名称空间(default)中的对象,可以通过更改导航菜单中的名称空间筛选器进行改变。“命名空间”实际上是名称空间的不同中文翻译,本实验中统一使用“命名空间”。
  Dashboard展示大部分Kubermetes对象,可以通过左侧导航栏中的几个菜单类别(如工作负载、服务、配置和存储)来分组访问这些对象。

4.2集群管理:

单击左侧导航栏中的“集群”项,进人Kubernetes集群列表页面,视图再分类列出集群的细信息。也可以通过“集群”分组中的集群角色绑定(Cluster Role Bindings)、节点(Nodes)、称空间、持久卷(Persistent Volumes)等导航节点显示相应的详情视图。
  例如,单击“Nodes"显示集群节点列表,单击列表项右侧的:按钮(操作菜单按钮)会弹下拉菜单,可以选择操作该列表项的命令。

 在图中,单击“名称”列中的集群节点名称,以进一步查看和操作该节点上的资源(对象)。比如,点击node02节点,进入如图所示的界面,在其中的“Pods" 列表中还可以进一步查看和操作指定的Pod。

4.3工作负载:

 1.单击导航栏中的“工作负载”项,进人工作负载列表页面,具体如图所示。

2.在上图的界面,点击Deployments,可以查看所有部署的应用,具体如下图所示。

4.4服务管理:

 单击左侧导航栏中的“服务”项,进入服务( Sevics)列表页面,具体如图所示。

5.部署应用:

5.1 在Dashboard,我们通过以下步骤创建部署一个新的nginx应用程序。

1.在上图的页面,点击Deployments列表中的nginx,进入如下图的界面。

 2.在上图中,点击左上角的删除按钮,删除我们以前通过命令行部署的ngix应用,具体如下图所示。

 3.我可以点击右上角菜单栏中的+按钮。

 4.然后出现如图相应的“创建新资源”界面。

如图上所示,我们可以通过三种方式创建部署容器应用程序。 

  1. .输入并创建:直接输人YAML或JSON格式的手动指定的详细配置。
  2. .从文件创建:导人已有的配置文件。
  3. 从表单创建:根据部署向导提示提供配置信息。

 5.在如上图所示的界面中,单击“从表单创建”,具体如下图所示。根据部署向导提示输人以下信息。

应用名称:要创建的应用程序的名称,本例为nginx-test.
容器镜像:要使用的Docker容器镜像,本例为nginx。
Pod的数量:应用程序要部署的Pod的数量,本例为2。系统会创建一个群中运行期望的Pod的数量。

Service:可以设置为Internal(内部),表示创建一个可以在集群内部访问的Service。如果设置为External(外部),表示创建一个可以从集群外部访问的Service。本例为External。

端口:设置Service绑定的端口,即用户访问该Service的端口,本例为8080。

名称空间:设置应用程序所属的名称空间,本例为默认值default。

6. 在上图中,我也可以点击“preview”按钮以YAML或者JSON格式查看该应用程序的Deployment配置清单,具体如下图所示。另外,我们也可以单击“显示高级选项”按钮展开高级选项进一步配置相关选项,如对标签、环境变量等选项进行配置。

 确认信息无误后,点击“部署”按钮,完成所定义的应用程序的部署。

7.在上图中,点击“部署”按钮后,系统会自动切换到如下图所示的“Overview”视图。

8. 在上图中,等待部署完成,然后下拉到如下图的界面。

 9.在浏览中,输入http://master01:30775/进行访问测试。其中端口为如上图所示的端口30775。具体测试结果,如下图所示。

本实验到此结束。

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

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

相关文章

英语单词 list 11

前言 这一个 list 是一些简单的单词。感觉这个浏览单词的方法比较低效,所以准备每天最多看一个 list ,真要提升英语水平,感觉还是得直接做阅读理解题。就像我们接触中文阅读材料一样,当然光知道这个表面意思还不够,还…

通义灵码助力Neo4J开发:快速上手与智能编码技巧

在 Web 应用开发中,Neo4J 作为一种图数据库,用于存储节点及节点间的关系。当图结构复杂化时,关系型数据库的查找效率会显著降低,甚至无法有效查找,这时 Neo4J 的优势便凸显出来。然而,由于其独特的应用场景…

高性能文件上传服务

高性能文件上传服务 —— 您业务升级的不二选择 在当今互联网数据量激增、文件体积日益庞大的背景下,高效、稳定的文件上传方案显得尤为重要。我们的文件分块上传服务端采用业界领先的 Rust HTTP 框架 Hyperlane 开发,凭借其轻量级、低延时和高并发的特…

Java Lambda 表达式详解:发展史、语法、使用场景及代码示例

Java Lambda 表达式详解:发展史、语法、使用场景及代码示例 1. Lambda 表达式的发展史 背景与动机 JDK 7 前:Java的匿名内部类虽强大,但代码冗余(如事件监听器、集合遍历)。JDK 8(2014)&#…

【从0到1学Elasticsearch】Elasticsearch从入门到精通(下)

我们在【从0到1学Elasticsearch】Elasticsearch从入门到精通(上)这边文章详细讲解了如何创建索引库和文档及javaAPI操作,但是在实战当中,我们还需要根据一些特殊字段对文档进行查找搜索,仅仅靠id查找文档是显然不够的。…

Python实现贪吃蛇二

上篇文章Python实现贪吃蛇一,实现了一个贪吃蛇的基础版本,但存在一些不足,也缺乏一些乐趣。本篇文章将对其进行一些改进,主要修改/实现以下几点: 1、解决食物随机生成的位置与蛇身重合问题 2、蛇身移动加速/减速功能 3…

基于51单片机的正负5V数字电压表( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的正负5V数字电压表( proteus仿真程序设计报告讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0101 1. 主要功能: 设计一个基于51单片机数字电压表 1、能够…

Java雪花算法

以下是用Java实现的雪花算法代码示例,包含详细注释和异常处理: 代码下面有解析 public class SnowflakeIdGenerator {// 起始时间戳(2020-01-01 00:00:00)private static final long START_TIMESTAMP 1577836800000L;// 各部分…

前端大屏可视化项目 局部全屏(指定盒子全屏)

需求是这样的&#xff0c;我用的项目是vue admin 项目 现在需要在做大屏项目 不希望显示除了大屏的其他东西 于是想了这个办法 至于大屏适配问题 请看我文章 底部的代码直接复制就可以运行 vue2 px转rem 大屏适配方案 postcss-pxtorem-CSDN博客 <template><div …

01_JDBC

文章目录 一、概述1.1、什么是JDBC1.2、JDBC原理 二、JDBC入门2.1、准备工作2.1.1、建库建表2.1.2、新建项目 2.2、建立连接2.2.1、准备四大参数2.2.2、加载驱动2.2.3、准备SQL语句2.2.4、建立连接2.2.5、常见问题 2.3、获取发送SQL的对象2.4、执行SQL语句2.5、处理结果2.6、释…

Spring Boot 热部署详解,包含详细的配置项说明

Spring Boot 热部署详解 1. 热部署简介 热部署&#xff08;Hot Deployment&#xff09;允许在应用运行时修改代码或配置文件&#xff0c;无需重启应用即可使更改生效。Spring Boot 通过 spring-boot-devtools 模块实现这一功能&#xff0c;其核心依赖于 LiveReload 技术和自动…

剑指Offer(数据结构与算法面试题精讲)C++版——day12

剑指Offer&#xff08;数据结构与算法面试题精讲&#xff09;C版——day12 题目一&#xff1a;小行星碰撞题目二&#xff1a;每日温度题目三&#xff1a;直方图最大矩形面积附录&#xff1a;源码gitee仓库 题目一&#xff1a;小行星碰撞 题目&#xff1a;输入一个表示小行星的数…

Docker学习笔记-docker安装、删除

一、在centOS 7中docker的默认安装目录 # Docker 主配置文件目录 ls /etc/docker# Docker 数据目录&#xff08;镜像、容器、卷等&#xff09; ls /var/lib/docker# Docker 可执行文件路径 which docker # 输出类似 /usr/bin/docker 二、docker文件目录说明 目录/文件用途/…

【Python 开源】你的 Windows 关机助手——PyQt5 版定时关机工具

&#x1f5a5;️ 你的 Windows 关机助手——PyQt5 版定时关机工具 相关资源文件已经打包成EXE文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Python相关程序案例&#xff0c;秉着开源精神的…

【Python爬虫】简单介绍

目录 一、基本概念 1.1 什么是爬虫 1.2 Python为什么适合爬虫 1.3 Python爬虫应用领域 &#xff08;1&#xff09;数据采集与分析 市场调研 学术研究 &#xff08;2&#xff09;内容聚合与推荐 新闻聚合 视频内容聚合 &#xff08;3&#xff09;金融领域 股票数据获…

使用MCP服务通过自然语言操作数据库(vscode+cline版本)

使用MCP服务操纵数据库(vscodecline版本) 本文主要介绍&#xff0c;在vscode中使用cline插件调用deepseek模型&#xff0c;通过MCP服务器 使用自然语言去操作指定数据库。本文使用的是以己经创建号的珠海航展数据库。 理解MCP服务&#xff1a; MCP&#xff08;Model Context…

Vue 3 + TypeScript 实现一个多语言国际化组件(支持语言切换与内容加载)

文章目录 一、项目背景与功能概览二、项目技术架构与依赖安装2.1 技术栈2.2 安装依赖 三、国际化组件实现3.1 创建 i18n 实例3.2 配置 i18n 到 Vue 应用3.3 在组件中使用国际化内容3.4 支持语言切换 四、支持类型安全4.1 添加类型支持4.2 自动加载语言文件 一、项目背景与功能概…

PhalApi 2.x:让PHP接口开发从“简单”到“极简”的开源框架

—— 专为高效开发而生&#xff0c;助你轻松构建高可用API接口 一、为什么选择PhalApi 2.x&#xff1f; 1.轻量高效&#xff0c;性能卓越 PhalApi 2.x 是一款专为接口开发设计的轻量级PHP框架&#xff0c;其核心代码精简但功能强大。根据开发者实测&#xff0c;在2核2G服务器…

Java 企业级应用:SOA 与微服务的对比与选择

企业级应用开发中&#xff0c;架构设计是决定系统可扩展性、可维护性和性能的关键因素。SOA&#xff08;面向服务的架构&#xff09;和微服务架构是两种主流的架构模式&#xff0c;它们各自有着独特的和设计理念适用场景。本文将深入探讨 SOA 和微服务架构的对比&#xff0c;并…

Zookeeper的典型应用场景?

大家好&#xff0c;我是锋哥。今天分享关于【Zookeeper的典型应用场景?】面试题。希望对大家有帮助&#xff1b; Zookeeper的典型应用场景? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 ZooKeeper 是一个开源的分布式协调服务&#xff0c;主要用于管理和协调大…