Sentinel-dashboard安装(k8s部署)

Sentinel-dashboard安装(k8s部署)

一.拉取镜像并推送到私库

这里选择的是docker hub已经有人制作好的Sentinel镜像

docker pull bladex/sentinel-dashboard:1.8.0
#检查是否拉取成功
docker images | grep bladex/sentinel

image-20231024105958550

#重新给镜像打tag
docker tag bladex/sentinel-dashboard:1.8.0 [你的私人镜像仓库地址]/bladex/sentinel-dashboard:1.8.0
docker pull [你的私人镜像仓库地址]/bladex/sentinel-dashboard:1.8.0
二.准备sentinel statefulset部署配置文件
vi sentinel-statefulset.yaml
#外部web访问服务
apiVersion: v1
kind: Service
metadata:
  labels:
    app: sentinel
  name: sentinel-node
spec:
  type: NodePort
  ports:
    - name: "web"
      port: 8858
      targetPort: 8858
      nodePort: 30280
  selector:
    app: sentinel
---
# 内部访问服务
apiVersion: v1
kind: Service
metadata:
  name: sentinel
  labels:
    app: sentinel
spec:
  type: ClusterIP
  ports:
    - port: 8858
      targetPort: 8858
      name: web
    - port: 8719
      targetPort: 8719
      name: api
  selector:
    app: sentinel
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: sentinel
  namespace: default
  labels:
    app: sentinel
spec:
  serviceName: sentinel
  replicas: 1
  selector:
    matchLabels:
      app: sentinel
  template:
    metadata:
      labels:
        app: sentinel
    spec:
      containers:
        - name: sentinel
          image: x454262h22.qicp.vip:86/common/bladex/sentinel-dashboard:1.8.0
          imagePullPolicy: IfNotPresent
          resources:
            limits:
              cpu: 450m
              memory: 1536Mi
            requests:
              cpu: 400m
              memory: 1536Mi
          env:
            - name: TZ
              value: Asia/Shanghai
            - name: JAVA_OPT_EXT
              value: -Dserver.servlet.session.timeout=7200
            - name: SERVER_HOST
              value: -Dcsp.sentinel.dashboard.server=sentinel:8858
            - name: SERVER_PORT
              value: -Dserver.port=8858
            - name: SERVER_API
              value: -Dcsp.sentinel.api.port=8719
          ports:
            - containerPort: 8858
            - containerPort: 8719
          volumeMounts:
            - name: vol-log
              mountPath: /opt/logs
      volumes:
        - name: vol-log
          persistentVolumeClaim:
            claimName: sentinel
      imagePullSecrets:
        - name: regsecret

因为该配置使用了PVC,所以要新增一个PVC配置文件(此篇文章有搭建NFSStorageClasses 的教程)

vi sentinel-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: sentinel
  labels:
    app: sentinel
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: "nfs-storage"
  resources:
    requests:
      storage: 10Gi

此处要保证K8s集群已经建立NFS的StorageClasses

三.部署并访问sentinel
#执行pvc的yaml文件
kubectl apply -f sentinel-pvc.yaml
#查看是否创建成功
kubectl get pvc -o wide

image-20231024135546405

#执行statefulset的yml文件
kubectl apply -f sentinel-statefulset.yaml
#检查是否部署成功
kubectl get pod -o wide | grep sentinel
kubectl get services -o wide | grep sentinel

image-20231024140305763

等全部运行好了就通过任意一台k8s主机IP加端口30280访问sentinel,登陆的账号和密码也都是sentinel。当登陆后看到一个初始的sentinel-dashboard项目,部署就成功了。

image-20231024142344229

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
sentinel-dashboard-1.8.2是一个开源的项目,用于监控和管理Sentinel的规则、实时流量、集群节点等信息。它是一个基于Java开发的Web应用程序,采用了Spring Boot框架和Vue.js前端框架。 首先,sentinel-dashboard-1.8.2源码的结构非常清晰和模块化。它分为后端和前端两部分,后端代码位于sentinel-dashboard模块,前端代码位于sentinel-dashboard-frontend模块。这种结构使得代码的维护和扩展变得更加容易。 在后端部分,sentinel-dashboard-1.8.2源码中包含了一系列的Java类,用于实现Sentinel的规则管理、实时数据统计和集群节点的管理等功能。它提供了RESTful的接口用于前端页面的数据获取和交互。这些Java类使用了Spring框架提供的注解和特性,使得代码简洁、易读和易于维护。 在前端部分,sentinel-dashboard-1.8.2源码中的前端代码采用了Vue.js框架进行开发。它使用了一系列的组件来实现不同的功能模块,如规则管理、流量统计、集群节点管理等。前端页面具有良好的交互性和可视化效果,可以方便地进行规则的配置和流量的监控。 另外,sentinel-dashboard-1.8.2源码还使用了一些开源的技术和库,如Redis、MyBatis等,以提供更好的性能和扩展性。 总结来说,sentinel-dashboard-1.8.2源码是一个功能丰富、结构清晰和易于维护的开源项目。通过深入研究和理解源码,开发人员可以对Sentinel的规则管理和流量监控等核心功能有更深入的了解,并根据自己的需求进行二次开发和定制化操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值