Kubernetes Dashboard安装部署

news2025/1/17 21:54:36

Kubernetes Dashboard安装部署

  • 1. 下载Dashboard 部署文件
  • 2. 修改yaml配置文件
  • 3. 应用安装,查看pod和svc
  • 4. 创建dashboard服务账户
  • 5. 创建admin-user用户的登录密钥
  • 6. 登录
    • 6.1 使用token登录
      • (1) 短期token
      • (2) token长期有效
    • 6.2 使用 Kubeconfig 文件登录
  • 7.安装metrics-server

1. 下载Dashboard 部署文件

#创建存放目录
mkdir dashboard
cd dashboard/
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

2. 修改yaml配置文件

修改kubernetes-dashboard的service,使用NodePort方式暴露端口。

vi recommended.yaml
#################修改内容#######################
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  type: NodePort          #添加这一行,注意缩进对齐
  #################修改内容#######################

3. 应用安装,查看pod和svc

#安装
kubectl apply -f recommended.yaml
#查看pod和svc
kubectl get pod,svc -o wide -n kubernetes-dashboard
#######################显示内容##################################
NAME                                             READY   STATUS              RESTARTS   AGE   IP       NODE    NOMINATED NODE   READINESS GATES
pod/dashboard-metrics-scraper-5cb4f4bb9c-mg569   0/1     ContainerCreating   0          9s    <none>   node1   <none>           <none>
pod/kubernetes-dashboard-6967859bff-2968p        0/1     ContainerCreating   0          9s    <none>   node1   <none>           <none>

NAME                                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE   SELECTOR
service/dashboard-metrics-scraper   ClusterIP   10.100.129.191   <none>        8000/TCP        9s    k8s-app=dashboard-metrics-scraper
service/kubernetes-dashboard        NodePort    10.106.130.53    <none>        443:31283/TCP   9s    k8s-app=kubernetes-dashboard
#####################显示内容###################################

使用所查看service所提供的端口访问Dashboard,此次部署的访问链接为https://192.168.3.101:31283/

4. 创建dashboard服务账户

#创建一个admin-user的服务账户并与集群绑定
vi dashboard-adminuser.yaml
##################内容####################
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

---

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
    ##################内容####################
  ---
   #执行生效
  kubectl apply -f dashboard-adminuser.yaml

5. 创建admin-user用户的登录密钥

vi admin-user-token.yaml
##################内容####################
apiVersion: v1
kind: Secret
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/service-account.name: "admin-user"
type: kubernetes.io/service-account-token
  ##################内容####################
   #执行生效
  kubectl apply -f admin-user-token.yaml

6. 登录

6.1 使用token登录

获取登录token,并将token输入dashboard登录界面,进行登录,登录后的界面如下图
在这里插入图片描述

(1) 短期token

#获取token
kubectl -n kubernetes-dashboard create token admin-user
#建议新建一个admin-user.token文件,将其保存

(2) token长期有效

kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d

6.2 使用 Kubeconfig 文件登录

 #定义 token 变量
 DASH_TOCKEN=$(kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d)
 #设置 kubeconfig 集群条目
 kubectl config set-cluster kubernetes --server=10.10.3.101:6433 --kubeconfig=/root/dashbord-admin.conf
 #设置 kubeconfig 用户条目
 kubectl config set-credentials admin-user --token=$DASH_TOCKEN --kubeconfig=/root/dashbord-admin.conf
 #设置 kubeconfig 上下文条目
 kubectl config set-context admin-user@kubernetes --cluster=kubernetes --user=admin-user --kubeconfig=/root/dashbord-admin.conf
 #设置 kubeconfig 当前上下文
 kubectl config use-context admin-user@kubernetes  --kubeconfig=/root/dashbord-admin.conf

将生成的dashbord-admin.conf文件放到本地主机上,登录时选择Kubeconfig选项,选择 kubeconfig 文件登录即可。


登录Dashboard 后,若存在cpu使用率和内存使用率等监控指标不显示的情况,需安装metrics-server。
在这里插入图片描述

7.安装metrics-server

下载部署文件

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics-server-components.yaml

修改yaml文件中的Deployment内容

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  strategy:
    rollingUpdate:
      maxUnavailable: 0
  template:
    metadata:
      labels:
        k8s-app: metrics-server
    spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls  #添加
        image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.4 #修改
        imagePullPolicy: IfNotPresent
  #执行生效
  kubectl apply -f admin-user-token.yaml

查看metrics-server的pod状态

kubectl get pods --all-namespaces | grep metrics

等待一些时间,查看查看各类监控图像已成功显示。
在这里插入图片描述

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

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

相关文章

Linux内核4.14版本——drm框架分析(12)——DRM_IOCTL_MODE_SETCRTC(drm_mode_setcrtc)

目录 1. drm_mode_setcrtc 1.1 根据应用传入的crtc_id找到crtc 1.2 根据应用传入的fb_id,找到对应的drm_framebuffer 1.3 根据应用传入的mode&#xff0c;创建一个drm_display_mode 1.4 根据传入的set_connectors_ptr&#xff0c;找到驱动对应的connector 1.5 将以上信息…

【题解】2596. 检查骑士巡视方案

题解&#xff1a; class Solution {int n,m;bool st[100][100];int flag;int dx[8]{-1,-2,-2,-1,1,2,2,1};int dy[8]{-2,-1,1,2,2,1,-1,-2}; public:bool checkValidGrid(vector<vector<int>>& grid) {m grid.size();n grid[0].size();dfs(grid,0,0,0);ret…

第二章 进程与线程 三、进程控制

目录 一、定义 二、实现方式&#xff08;用原语实现&#xff09; 注意&#xff1a; 1、原语是什么 2、如何实现原语的原子性 3、关中断指令和开中断指令是什么 三、进程控制的相关原语 1、进程的创建 ​编辑 2、进程的终止 3、进程的阻塞与唤醒&#xff08;阻塞和唤醒…

明星翻包视频的流行:背后的动机和原因

现如今&#xff0c;明星翻包视频正风靡社交媒体&#xff0c;引发了广泛的关注和讨论。这种趋势引发了一个问题&#xff1a;为什么现在的明星都喜欢翻包呢&#xff1f;要理解这一现象&#xff0c;我们需要深入探讨背后的动机和原因。在社交媒体的兴起和品牌合作的崭露头角的背景…

.360勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复

导言&#xff1a; 在当今数字时代&#xff0c;随着我们对计算机和互联网的依赖不断增加&#xff0c;威胁网络安全的因素也日益猖獗。其中&#xff0c; 360 勒索病毒是一股咄咄逼人的黑暗力量&#xff0c;它能够迅速加密您的数据文件&#xff0c;并以比特币等加密货币的形式勒索…

加密资产托管:迈向安全与合规的未来!

在当今数字化时代&#xff0c;加密货币正逐渐走进人们的视野&#xff0c;并成为越来越多投资者和机构的关注焦点。然而&#xff0c;加密领域仍存在一个主要问题&#xff1a;如果丢失了密钥&#xff0c;就会导致无法访问资产。为了解决这一问题&#xff0c;加密货币行业正在向资…

在Visual Studio Code中安装JetBrains Mono字体

让我们面对现实吧&#xff0c;JetBrain的Mono是一种漂亮的单行线字体&#xff0c;对于在IDE中展示代码和处理代码都很有用。它有一个增加的X高度&#xff0c;以获得更好的阅读体验&#xff0c;有更好的形状以看到字母列&#xff0c;还有一个开发者友好的各种连接词&#xff0c;…

【深度学习】对比学习

1.什么是对比学习 对比学习有的paper中称之为自监督学习&#xff0c;有的paper称之为无监督学习&#xff0c;自监督学习是无监督学习的一种形式&#xff0c;现有的文献中没有正式的对两者进行区分定义&#xff0c;这两种称呼都可以用。其主要思想是模型能够更加重新的学习到编码…

IIC总线上拉电阻计算

IIC总线上拉电阻计算 1. 概述2. 上拉电阻计算3. 总线传输速度与功率4. 实例计算 1. 概述 IIC&#xff08;Inter-Integrated Circuit&#xff09;其实是IICBus简称&#xff0c;所以中文应该叫集成电路总线&#xff0c;它是一种串行通信总线&#xff0c;使用多主从架构&#xff…

嵌入式Linux驱动开发(I2C专题)(三)

无需编写驱动直接访问设备_I2C-Tools介绍 参考资料&#xff1a; Linux驱动程序: drivers/i2c/i2c-dev.cI2C-Tools-4.2: https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/AP3216C&#xff1a; git clone https://e.coding.net/weidongshan/01_all_series_quick…

没出息的项目经理的5大表现

大家好&#xff0c;我是老原。 都说&#xff0c;30岁的项目经理凶猛如狼&#xff0c;40岁的项目经理狡猾如狐。 实际上&#xff0c;又有多少项目经理能做到这般。 有多少项目经理&#xff0c;兢兢业业工作个几年&#xff0c;最后还是守着一亩三分地&#xff0c;既没有升职加…

JSON注解和异常处理的使用

一、JSON数据返回 1.1.前言 JSON是一种轻量级的数据交换格式&#xff0c;易于阅读和编写&#xff0c;同时也易于机器解析和生成。JSON的常用场景包括&#xff1a; 前后端分离的项目中&#xff0c;后端向前端传送数据时 。 Ajax异步访问数据。RPC远程调用。 除了JSON&#x…

爽文式的带你快速理解Nginx

1 引入nginx的概念 Nginx是一个开源的Web服务器和反向代理服务器&#xff0c;它可以用来处理大量的网络请求和响应。Nginx使用事件驱动的非阻塞I/O模型&#xff0c;使其能够处理大量的并发连接。它还可以作为HTTP、HTTPS、SMTP、POP3和IMAP等协议的代理服务器&#xff0c;以及…

PM2 | NodeJS应用进程管理工具—PM2的基本使用

目录 1. pm2 简介 2. pm2的主要特性 3. 常用命令 3.1 pm2的安装与更新 3.1.1 pm2安装 3.1.2 pm2更新 3.2 pm2 启动运行指定的程序 3.2.1 正常启动应用程序 3.2.2 启动应用程序时并设置name 3.3 pm2 停止指定运行的程序 3.3.1 停止特定的应用 3.3.2 停止所有的应用 …

SpringMVC之JSON数据返回与异常处理机制---全方面讲解

一&#xff0c;JSON数据返回的理解 在Spring MVC中&#xff0c;当需要将数据以JSON格式返回给客户端时&#xff0c;可以使用ResponseBody注解或RestController注解将Controller方法的返回值直接转化为JSON格式并返回。这使得开发者可以方便地将Java对象转换为JSON&#xff0c;并…

【AIGC】斯坦福小镇升级版——AI-Town源码解读

写在前面的话&#xff1a; 接上一篇斯坦福小镇升级版——AI-Town搭建指南&#xff0c;本本篇将解读 AI-Town 使用的技术栈、代码架构、与LLM的交互&#xff0c;以及与斯坦福AI小镇的对比结果&#xff08;如想直接看结论可跳到文章最后&#xff09; 整体架构 技术栈 AI-Town 使…

“金钥匙”转动!安全狗成功护航第二十三届中国国际投资贸易洽谈会举办

9月8日至9月11日&#xff0c;为期4天的第二十三届中国国际投资贸易洽谈会在厦门顺利举办。 作为国内云原生安全领导厂商&#xff0c;安全狗凭借突出的安全综合实力&#xff0c;受委托并担任此次会议网络安保技术支撑单位。 厦门服云信息科技有限公司&#xff08;品牌名&#xf…

第一章 JAVA入门

文章目录 1.2 Java 的特点1.2.1 简单1.2.2 面向对象1.2.3 与平台无关① 平台与机器指令② C/C程序依赖平台③ Java 虚拟机与字节码1.2.4 多线程1.2.5 动态1.30安装 JDK1.3.1 平台简介0 Java SE②Java EE1.4 Java 程序的开发步骤②保存源文件1.5.2 编译1.8 Java之父-James Gosli…

spring boot+redis整合基础入门

文章目录 前言准备依赖项配置文件redis模板类注入设置序列化方式 实施基础字符串操作、超时设置Hash操作hash的使用场景以及优缺点 列表操作列表操作的应用场景以及优缺点 Set的基础操作Set类型的业务场景以及优缺点Demo地址 总结 前言 最近项目中有用到redis进行一些数据的缓…

【Linux】编译器 gcc/g++

1、背景知识 &#xff08;1&#xff09;[LMYhecs-38755 ~]$ gcc code.c -o code.exe -stdc99【-o 生成指定名字的可执行文件&#xff0c;-stdc99 以 C99 的标准执行程序】 &#xff08;2&#xff09;安装 g&#xff0c;yum install gcc-c 2、gcc如何完成 &#xff08;1&#x…