【云安全】云原生-K8S(三) 安装 Dashboard 面板

news/2025/2/18 23:15:04/

在Kubernetes中安装Dashboard需要几个步骤,包括部署Dashboard组件、配置访问权限以及暴露Dashboard服务等。以下是详细的步骤:

1. 部署 K8S Dashboard

可以通过以下命令用Kubernetes官方的YAML文件来快速部署,由于是国外网站,需要注意网络问题,可以使用代理解决网络不通的问题

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml#网络不通,可以使用代理
export http_proxy=http://192.168.48.1:7890
export https_proxy=http://192.168.48.1:7890

这将创建Kubernetes Dashboard的所有资源,包括部署、服务、RBAC角色和角色绑定。 

查看 Dashboard 部署状态,使用以下命令检查是否成功安装

kubectl -n kubernetes-dashboard get pods -o wide

成功安装

 
如果状态不正常,通过删除其 Pod,让 Kubernetes 自动重新创建一个新的 Pod,重启Dashboard

kubectl -n kubernetes-dashboard delete pod kubernetes-dashboard-xxxxxxx-xxxxx

 如果状态一直不正常,需要删除Deployment后重新安装

kubectl -n kubernetes-dashboard delete deployment kubernetes-dashboard#删除之后,重新来一遍
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

2. 创建服务账户和 RBAC 权限

默认情况下,Dashboard需要合适的权限才能访问Kubernetes集群。你可以为Dashboard创建一个服务账户,并授予它足够的权限。以下是创建一个具有集群管理员权限的服务账户的YAML文件(dashboard-adminuser.yaml)

apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-user
subjects:
- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard
roleRef:kind: ClusterRolename: cluster-adminapiGroup: rbac.authorization.k8s.io

应用此YAML文件

kubectl apply -f dashboard-adminuser.yaml

成功创建服务账户和RBAC权限

3. 获取登录 Token

Dashboard默认使用Token来进行认证。为了获取登录Token,你可以执行以下命令

#首先,运行以下命令来查看 admin-user 的详细信息
kubectl -n kubernetes-dashboard get serviceaccount admin-user -o yaml#然后,在输出中,你会看到一个名为 secrets 的字段,它包含一个 secret 名称。接下来,使用该 secret 名称查看 token
kubectl -n kubernetes-dashboard describe secret <secret-name>

将会输出一个Token,稍后在访问Dashboard时需要用到

4. 访问 K8S Dashboard

Kubernetes Dashboard通常通过集群内部的服务暴露,因此你可以选择使用 kubectl proxy 来访问它,执行以下命令启动

kubectl proxy#这会在本地启动一个代理,使得你可以通过以下URL访问Dashboardhttp://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#打开这个链接后,你将被要求输入登录Token。在登录页面中粘贴你刚才中获得的Token

5. 暴露 Dashboard 外部访问

Ps:外部访问无需开启 kubectl proxy

暴露Dashboard外部访问,可以将Dashboard服务暴露为NodePort或者LoadBalancer,具体取决于你所在的环境。例如,如果你想通过NodePort暴露Dashboard,可以修改Dashboard服务的配置

kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard

将服务类型(type)修改为 NodePort

spec:type: NodePort

保存并退出,查看 kubernetes-dashboard 命名空间下的所有Service(服务)资源,确定暴露端口

kubectl get svc -n kubernetes-dashboard

这时你可以通过节点IP和暴露的端口在浏览器中访问Dashboard

利用刚才的token成功登录

这样你就能够通过Dashboard来管理和监控你的Kubernetes集群了。


http://www.ppmy.cn/news/1572404.html

相关文章

01什么是DevOps

在日常开发中&#xff0c;运维人员主要负责跟生产环境打交道&#xff0c;开发和测试&#xff0c;不去操作生产环境的内容&#xff0c;生产环境由运维人员操作&#xff0c;这里面包含了环境的搭建、系统监控、故障的转移&#xff0c;还有软件的维护等内容。 当一个项目开发完毕&…

web前端第三次作业:登录窗口拖动效果

<!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>登录窗口拖动效果</title> <style>…

阿里4面+腾讯4面春招面试题解析,附Java 岗 988 道题分享

金三银四即将到来&#xff0c;想要跳槽的小伙伴&#xff0c;和想要在金三银四中大放异彩的朋友们如何才能做得更好呢&#xff1f;不要想着现在还在春节还处在懒惰的状态&#xff0c;不要想着临时抱佛脚想着面试前的狂补&#xff0c; 这样想的话你就大错特错了。小编认为只有做好…

使用Redis生成全局唯一ID/分布式唯一ID

全局唯一ID在开发中的应用很多&#xff0c;特别是在生成一些诸如订单编号&#xff0c;对ID的唯一性&#xff0c;安全性&#xff0c;高可用性&#xff0c;生成的高效性有严格的要求。 通常我们习惯使用数据库的自增字段来作为ID&#xff0c;但是&#xff0c;这种方式生成的ID规律…

C++学习 mac上VScode运行C++

一 运行hello world 1 安装C/CRunner包 2 写代码 这个命令用于将 C 源代码文件 main.cpp 编译成一个可执行文件&#xff0c;文件名为 main。具体说明如下&#xff1a; g&#xff1a;这是 GNU C 编译器。 main.cpp&#xff1a;这是包含 C 代码的源文件。 -o main&#xff1a…

Oracle 随机数0-100000

Oracle 随机数0-100000 在Oracle数据库中生成一个随机数&#xff08;例如&#xff0c;0到100000之间的随机数&#xff09;&#xff0c;你可以使用DBMS_RANDOM包中的VALUE函数。DBMS_RANDOM.VALUE函数允许你指定随机数的范围。 方法1&#xff1a;使用DBMS_RANDOM.VALUE SELEC…

wps配置deepseek

wps 配置deepseek https://e6jy62bip4.feishu.cn/docx/R09IdpU5HoADyDxcgfQcjpR8nnb

STM32F407通过FSMC扩展外部SRAM和NAND FLASH

1 扩展外部SRAM 1.1 地址情况 FSMC控制器的存储区分为4个区(Bank)&#xff0c;每个区256MB。其中&#xff0c;Bank1可以用于连接SRAM、NOR FLASH、PSRAM&#xff0c;还可以连接TFT LCD。Bank1的地址范围是0x60000000&#xff5e;0x6FFFFFFF。Bank1又分为4个子区&#xff0c;每…