1. 什么是Sentinel

分布式系统的流量防卫兵:随着微服务的普及,服务调用的稳定性变得越来越重要。Sentinel以“流量”为切入点,在流量控制、断路、负载保护等多个领域开展工作,保障服务可靠性。

2. Sentinel官网

GitHub - alibaba/Sentinel: A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)

3. 下载Dashboard 的jar包

下载地址:Releases · alibaba/Sentinel · GitHub

这里我下载的是: sentinel-dashboard-1.8.3.jar

4. 编写Dockerfile

mkdir -p /usr/local/k8s-apps/yamls/sentinel
cd /usr/local/k8s-apps/yamls/sentinel
vim Dockerfile

输入以下内容

FROM openjdk:8-jdk-alpine
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ENV LC_ALL "zh_CN.UTF-8"
COPY sentinel-dashboard-1.8.3.jar /tmp/sentinel-dashboard-1.8.3.jar
CMD java ${JAVA_OPTS} -jar /tmp/sentinel-dashboard-1.8.3.jar
EXPOSE 8080

5. 创建上传镜像

docker build -t registry.cn-hangzhou.aliyuncs.com/hianzuo/alibaba-sentinel-dashboard:v1.8.3 .
docker push registry.cn-hangzhou.aliyuncs.com/hianzuo/alibaba-sentinel-dashboard:v1.8.3 .


6. 编辑k8s配置文件sentinel.yaml

vim sentinel.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: alibaba-sentinel-dashboard
spec:
  serviceName: alibaba-sentinel-dashboard
  replicas: 1
  template:
    metadata:
      labels:
        app: alibaba-sentinel-dashboard
      annotations:
        pod.alpha.kubernetes.io/initialized: "true"
    spec:
      containers:
        - name: alibaba-sentinel-dashboard
          imagePullPolicy: IfNotPresent
          image: registry.cn-hangzhou.aliyuncs.com/hianzuo/alibaba-sentinel-dashboard:v1.8.3
          ports:
            - containerPort: 8080
              name: client
          env:
            - name: TZ
              value: Asia/Shanghai
            - name: JAVA_OPTS 
              value: "-Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=sentinel -Dserver.servlet.session.timeout=7200" # 配置端口 配置账号密码 配置session超时时间,默认账号密码都是sentinel
  selector:
    matchLabels:
      app: alibaba-sentinel-dashboard
---
apiVersion: v1
kind: Service
metadata:
  name: alibaba-sentinel-dashboard-svc
  labels:
    app: alibaba-sentinel-dashboard
spec:
  ports:
    - protocol: TCP
      name: http
      port: 8080
      targetPort: 8080
      nodePort: 31808
  type: NodePort
  selector:
    app: alibaba-sentinel-dashboard

7. 执行k8s配置

kubectl create -f sentinel.yaml

8. 查看安装结果

http://主节点IP: 31808

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐