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

Kubernetes 集群搭建(三):使用dashboard用户界面(需要访问外网获取yaml)

(一)简介

K8s Dashboard是Kubernetes提供的一种基于Web的用户界面工具,用于可视化地管理和监控Kubernetes集群
主要功能:

  • 资源查看与管理:
    查看Kubernetes集群中的各种资源,如节点、Pod、服务、部署等。
    对资源进行创建、更新、删除等操作,例如扩展部署、发起滚动更新、重新启动Pod或使用部署向导部署新的应用程序。

  • 实时状态监控:
    显示关于集群和应用的实时状态信息,包括Pods、Deployments、Services等的运行状态。
    查看容器的日志和事件,有助于快速定位问题。

  • 资源监控与度量:
    提供了可视化的工具来查看集群的度量和监控数据,如CPU、内存和网络使用状况等。

  • 安全性与访问控制:
    支持Kubernetes的RBAC(基于角色的访问控制),允许对不同用户的访问权限进行控制。

(二)安装前准备

官网建议通过helm安装,但是当前helm安装方式只能指定到版本release 7.11.1版本,故采用yaml方式进行安装

2.1 下载yaml文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
配置NodePort: NodePort类型的 Service 适合用于开发和测试环境,允许外部流量直接访问集群内的服务。

---

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30002  #添加内容
  type: NodePort    #添加内容
  selector:
    k8s-app: kubernetes-dashboard

注意要将yaml文件里的imagePullPolicy:Always 注掉,否则从国内拉取的镜像无法使用

2.2 准备相关镜像

kubernetesui/metrics-scraper:v1.0.8
kubernetesui/dashboard:v2.7.0

  • 国内拉取方式
    ctr -n k8s.io i pull -k docker.m.daocloud.io/kubernetesui/dashboard:v2.7.0
    ctr -n k8s.io i pull -k docker.m.daocloud.io/kubernetesui/metrics-scraper:v1.0.8

  • 重新标记视为原始镜像
    ctr -n k8s.io images tag docker.m.daocloud.io/kubernetesui/dashboard:v2.7.0 docker.io/kubernetesui/dashboard:v2.7.0
    ctr -n k8s.io images tag docker.m.daocloud.io/kubernetesui/metrics-scraper:v1.0.8 docker.io/kubernetesui/metrics-scraper:v1.0.8

(三)进行安装

kubectl apply -f recommended.yaml
检查pod状态
kubectl get pod -A

NAMESPACE              NAME                                         READY   STATUS    RESTARTS   AGE
kube-system            calico-kube-controllers-658d97c59c-bx9mx     1/1     Running   0          14h
kube-system            calico-node-k8wpd                            1/1     Running   0          14h
kube-system            calico-node-lchjc                            1/1     Running   0          14h
kube-system            calico-node-vdpqf                            1/1     Running   0          14h
kube-system            coredns-66f779496c-qhp6p                     1/1     Running   0          17h
kube-system            coredns-66f779496c-txxql                     1/1     Running   0          17h
kube-system            etcd-m1                                      1/1     Running   0          17h
kube-system            kube-apiserver-m1                            1/1     Running   0          17h
kube-system            kube-controller-manager-m1                   1/1     Running   0          17h
kube-system            kube-proxy-5gg2p                             1/1     Running   0          16h
kube-system            kube-proxy-ctw2r                             1/1     Running   0          16h
kube-system            kube-proxy-zlbb7                             1/1     Running   0          17h
kube-system            kube-scheduler-m1                            1/1     Running   0          17h
kubernetes-dashboard   dashboard-metrics-scraper-5657497c4c-rn6cx   1/1     Running   0          4m27s
kubernetes-dashboard   kubernetes-dashboard-5b749d9495-6lg7v        1/1     Running   0          4m27s

(四)创建用户

wget https://raw.githubusercontent.com/cby-chen/Kubernetes/main/yaml/dashboard-user.yaml

kubectl apply -f dashboard-user.yaml

创建token
kubectl -n kubernetes-dashboard create token admin-user

eyJhbGciOiJSUzI1NiIsImtpZCI6InphYTVNNHpQejBFelFQSzNfLS1wYVUzbmRRTUVYY3BWeEdKbWxGRklFZlUifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzQ0MDExNjAyLCJpYXQiOjE3NDQwMDgwMDIsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiMmU0NDZlZTktMjdhNC00NWFjLWFjNmMtNmMyMjQ3MWZjZTdhIn19LCJuYmYiOjE3NDQwMDgwMDIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbi11c2VyIn0.NkvJMMIDwWTpq3OnWjld7fEin9DUvXP8-wdmPHgYjKSBbV8qM7BKahZRk0H_pTPurbo_kXEB7_TLnv1Hl_S6eH90DAdPSLCW3px4uSSvLFU0tZ9rYRQWZa6BfMnQTz7KWzAllKq4Is31UFKEO53KjAVu0cRPhIQXPeSF2N0uhrt-JPl_wgk3bvdTxJsBRvSKUVQ_khdNLI8GMAxj7qYIDd8gCYbbJi5Ct62pNPwjnDQhBg9wzAejKJsPHspIcpNxPSIJfWrDASDuBBkF0djT7aD8v1fQ7QCYkJ9LN6PFj8g7aEglkioF_6TVbQDsK5grFfhZC323JwZhMC34JJhJYg

(五)网页访问

通过暴露的端口30002访问,输入token即可进入管理页面
https://localhost:30002

在这里插入图片描述

相关文章:

  • 2010年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析
  • 【算法实践】跳跃游戏——计算到达终点的最小跳数
  • 目标跟踪Deepsort算法学习2025.4.7
  • 前端基础总结
  • [数据结构]图krusakl算法实现
  • [蓝桥杯] 求和(C语言)
  • 探秘区块链开发:智能合约在 DApp 中的地位及与传统开发差异
  • redis中的hash
  • window下通过wsl搭建linux虚拟环境
  • leetcode_59. 螺旋矩阵 II_java
  • 【ISP】HDR技术中Sub-Pixel与DOL的对比分析
  • 系统与网络安全------Windows系统安全(10)
  • Module模块化
  • Vue2 插槽 Slot
  • Ethernet Protocol以太网协议
  • 爬虫中遇到的问题
  • Elixir语言的函数定义
  • 【家政平台开发(24)】营销推广模块开发全攻略
  • 前端-项目工程化(快速理解并会用)
  • 【教程】MacBook 安装 VSCode 并连接远程服务器
  • 中国新闻发言人论坛在京举行,郭嘉昆:让中国声音抢占第一落点
  • 张巍任中共河南省委副书记
  • 俄乌谈判开始
  • 温州通报“一母亲殴打女儿致其死亡”:嫌犯已被刑拘
  • 上海高院与上海妇联签协议,建立反家暴常态化联动协作机制
  • 张广智︱“编年事辑”:打开学人心路历程的窗户