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

admin 2025年2月17日09:49:00评论9 views字数 2414阅读8分2秒阅读模式

在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:7890export https_proxy=http://192.168.48.1:7890

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

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

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

kubectl -n kubernetes-dashboard get pods -o wide

成功安装

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

如果状态不正常,通过删除其 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: v1kind: ServiceAccountmetadata:  name: admin-usernamespace: kubernetes-dashboard---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata:  name: admin-usersubjects:- kind: ServiceAccount  name: admin-usernamespace: kubernetes-dashboardroleRef:  kind: ClusterRole  name: cluster-admin  apiGroup: rbac.authorization.k8s.io

应用此YAML文件

kubectl apply -f dashboard-adminuser.yaml

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

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

3. 获取登录 Token

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

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

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

【云安全】云原生- K8S 安装 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
【云安全】云原生- K8S 安装 Dashboard 面板

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

kubectl get svc -n kubernetes-dashboard
【云安全】云原生- K8S 安装 Dashboard 面板

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

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

利用刚才的token成功登录

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

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

原文始发于微信公众号(仇辉攻防):【云安全】云原生- K8S 安装 Dashboard 面板

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月17日09:49:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【云安全】云原生- K8S 安装 Dashboard 面板https://cn-sec.com/archives/3748570.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息