Sentinel在k8s部署

news2024/11/25 15:25:42

一、Sentinel Dashboard在k8s部署

官方jar包下载

由于sentinel dashboard官方没有提供镜像下载,需从sentinel官方下载sentinel dashboard的jar包,这里选择1.8.0进行下载。注意与springboot版本的兼容性。
在这里插入图片描述

打镜像并上传自己镜像仓库

在自己项目中添加如下文件夹,把下载的sentinel dashboard的jar包放到此目录下:
在这里插入图片描述
Dockerfile:

FROM openjdk:8-jdk
# 环境变量
ENV LC_ALL=zh_CN.utf8
ENV LANG=zh_CN.utf8
ENV LANGUAGE=zh_CN.utf8
 
WORKDIR /app
# HTTP端口
EXPOSE 8080
 
#下载jar
ADD ./sentinel/sentinel-dashboard-1.8.0.jar ./sentinel-dashboard.jar
 
# 时间同步设置
# 设置权限 chown 用户:所在组 文件目录 0表示root用户所在的组标识;1001是指定了一个用户标识
# chmod 读取权限 r = 4,写入权限 w = 2,执行权限 x = 1
# 3个数字分别代表 拥有者,组用户,其他用户的权限
# 775中的第一个7表示4+2+1 表示拥有者拥有读写执行权限
# 第二个7当前用户所在组中的用户拥有者拥有读写执行权限
# 第三个5表示其他用户有读和执行的权限 没有写的权限
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone \
 && chown 1001:0 -R /app \
 && chmod 775 -R /app
# java启动jar包
ENTRYPOINT ["java","-Dfile.encoding=UTF8","-Dsun.jnu.encoding=UTF8","-jar","sentinel-dashboard.jar"]

README.md:

## Installation Steps
1. Build image
$ docker build -t image.XXX.com/sit/sentinel:1.8.0 .

2. Push the image
$ docker login image.XXX.com
$ docker push image.XXX.com/sit/sentinel:1.8.0

打完镜像,把镜像上传到自己公司的镜像仓库。

部署sentinel dashboard

引用自己的镜像;
端口暴露:节点访问-> XXX(nodePort)->8080
后续应用配置:spring.cloud.sentinel.transport.dashboard=nodeIp:nodePort 即可连接到控制台。
可以增加环境变量(设置用户名密码):

-Dsentinel.dashboard.auth.username=sentinel
-Dsentinel.dashboard.auth.password=sentinel123

二、各应用接入sentinel dashboard

应用增加配置

通过环境变量可以方便修改

# sentinel控制台接入
spring.cloud.sentinel.transport.dashboard=${SENTINEL_TRANSPORT_DASHBOARD:nodeIp:nodePort}

# 由于docker调用控制台时,默认控制台记录的是docker的ip,并进行回调设置规则,回调如使用dockerIp会调不通,需要指定应用的nodeIp
spring.cloud.sentinel.transport.client-ip=${SENTINEL_TRANSPORT_CLIENT_IP:}

# 自己应用暴露的端口,供sentinel dashboard调用,来传输规则
spring.cloud.sentinel.transport.port=${SENTINEL_TRANSPORT_PORT:8719}

# 在sentinel dashboard左侧显示的名称
project.name=${PROJECT_NAME:common}

修改Dockerfile

Dockerfile新增端口暴露

# sentinel端口
EXPOSE 8719

k8s增加端口暴露

应用需要增加端口暴露,用来接受sentinel dashboard的规则推送。
暴露的nodePort端口要和配置的spring.cloud.sentinel.transport.port一致,即:
节点访问-> 8719 -> 8719
不同应用可能端口要+1,即:8720、8721…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/621831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac(M1)芯片安装Stable-diffusion-webui

背景:听同事说这个都是在GPU上跑的,cpu跑这个比较费劲。我本地mac跑这个,也是为了调试一些相关的插件和api。为了开发方便点。当然确实提吃内存的。 目录 一、Stable-diffusion-webui 项目地址和官方安装方式 二、自己的安装方式 2.1、更…

自定义注解,基于redis实现分布式锁

一、如何实现自定义注解 1.1、注解的基础知识 实现自定义注解其实很简单,格式基本都差不多。也就参数可能变一变。 Retention:取值决定了注解在什么时候生效,一般都是取运行时,也就是RetentionPolicy.RUNTIME。 Target&#xff…

Unreal5 第三人称射击游戏 射击功能实现2

上一篇我们实现了角色射击相关的动画以及切换逻辑,并将武器相关的模型添加到角色身上。 这一篇开始制作武器相关的功能。 制作子弹父类 首先创建一个actor类,命名为BP_Bullet,这个作为子弹的通用父类,在里面创建子弹通用的功能实…

测试相关知识

测试基础知识 1. 测试基本理念2. 软件测试的分类2.1 程序是否运行2.2 测试时间段划分2.3 是否涉及实现2.4 其它测试2.5 当前流程的测试概念 3. 测试设计方法4. 参考书籍 1. 测试基本理念 软件测试的定义:软件测试是使用人工或自动的手段来运行或测定某个软件系统的…

chatgpt赋能python:Python年龄换算:如何根据Python版本算出“年龄”?

Python年龄换算:如何根据Python版本算出“年龄”? Python是一种高级编程语言,享有强大、易读、易用和可扩展性等各种优点。它是许多开发者使用的首选语言,尤其在数据科学和机器学习领域中备受推崇。 但是,Python几乎…

网络安全工具合集

首先,恭喜你发现了宝藏。 本文章集成了全网优秀的开源攻防武器项目,包含: 信息收集工具(自动化利用工具、资产发现工具、目录扫描工具、子域名收集工具、指纹识别工具、端口扫描工具、各种插件....etc...) 漏洞利用…

轮廓检测及功能

目录 一、实验介绍二、实验步骤三、实验任务任务一:轮廓特征练习一: 找到每个轮廓的方向任务二:边界矩形练习二: 围绕轮廓裁剪图像 一、实验介绍 1. 实验内容 本实验将学习轮廓检测及功能。 2. 实验要点 生成二进制图像来查找轮廓找到并画出轮廓轮廓…

面试题--12

1.MySQL 的内连接、左连接、右连接有什么区别? 2.MySQL 索引是怎么实现的? 3.索引的优点和缺点—查询频率高的字段 4.B树的特点和作用----必须先看 下面的网址 5.什么是聚集索引和非聚集索引 6.索引的分类 7.什么是最左前缀法则以及如何设计最左法则 8.怎…

图论基础和表示

一、概念及其介绍 图论(Graph Theory)是离散数学的一个分支,是一门研究图(Graph)的学问。 图是用来对对象之间的成对关系建模的数学结构,由"节点"或"顶点"(Vertex)以及连接这些顶点的"边"(Edge&a…

chatgpt赋能python:Python开源免费——为什么它是SEO世界的最佳选择

Python开源免费——为什么它是SEO世界的最佳选择 介绍 Python是一种流行的程序设计语言,拥有众多的开源库和响应式社区。它广泛应用于机器学习、数据科学、Web开发、系统自动化等领域。Python不仅易于学习和使用,而且完全免费并且开源,使得…

Linux线程的同步与互斥(二) 条件变量+信号量

文章目录 二、线程同步条件变量1、条件变量的概念2、同步概念与竞态条件3、条件变量函数初始化4、条件变量函数销毁5、条件变量函数等待6、条件变量函数唤醒等待生产者消费者模型1、理论部分2、“3 2 1”原则3、基于阻塞队列的生产者消费者模型 POSIX信号量1、信号量的概念2、信…

时间序列学习 经典案例(5)【stability_selection】股票数据特征分析与特征选择

0.环境配置 本文用到的环境是: jupyter 略python 3.9stability_selection 略,见下文。scikit-learn 1.2.2seaborn 0.12.2pandas 1.3.5numpy 1.22.3matplotlib 3.6.3tushare 1.2.89baostock 00.8.80yfinance 0.2.18 1.stability_selection模块安装【问…

【MySQL数据库 | 番外篇】 聚合函数

前言: 聚合函数是分组查询中一个重要的组成部分,想要利用分组查询,就要对聚合函数有不错的掌握,因此我们在这里开一篇番外,讲解SQL语法中的聚合函数 聚合函数: 聚合函数是SQL中一种特殊的函数,…

大模型信息提取、文本生成、视觉语音应用

448页新书《基础模型自然语言处理》,详述大模型在信息提取文本生成视觉语音应用。 Dr. Gerhard Paa 等人合著的《Foundation Models for Natural Language Processing》 一书系统介绍基础模型研究和应用的全面概述,而且是目前对此方面研究最新的综述。 …

【Java】Java核心要点总结:59

文章目录 1. 线程的run()和start()有什么区别,为什么不直接调用run()2. synchronized是什么,以及原理3. Java中如何实现多线程的通讯和协作4. Volatile有什么特点,为什么能够保证变量的可见性5. 为什么说synchronized是一个悲观锁&#xff0c…

chatgpt赋能python:Python开发环境的下载方法

Python开发环境的下载方法 Python是一种高级的编程语言,受到广泛的社区和商业支持。它用于数据分析、人工智能和Web开发等领域,成为业界最流行的编程语言之一。搭建Python开发环境需要安装解释器、编辑器、包管理器和库,下面介绍Python开发环…

chatgpt赋能python:用Python开发在线电影播放网站如何进行SEO

用Python开发在线电影播放网站如何进行SEO 随着人们对于电影、电视剧等视频娱乐的需求日益增长,越来越多的在线电影播放网站涌现出来。作为开发者,如何通过搜索引擎优化(SEO)来使你的在线电影播放网站具有更好的可见度&#xff0…

chatgpt赋能python:如何更新Python库?

如何更新Python库? Python语言已经成为现代编程语言中最受欢迎的一种,它的成功归功于它的灵活性、简洁性和可读性。Python库是它成功的关键,这些库是程序员的基本工具箱,可以更快地编写、测试和部署程序。 然而,Pyth…

多分类问题

目录 多分类问题介绍1 多分类1.1 数据集1.2 数据可视化1.3 逻辑回归的向量化1.3.1 代价函数的向量化1.3.2 梯度的向量化1.3.3 正则化逻辑回归的向量化 1.4 多分类-分类器 1.5 使用分类器进行预测 多分类问题 介绍 在本练习中,我们将使用逻辑回归来识别手写数字&…

python安装使用Flask框架(Vscode)

编译器:VsCode,python3.** 首先安装,在终端输入 pip install flask安装成功后新建文件,app.python,创建一个简单的Web应用。 from flask import Flaskapp Flask(__name__)app.route(/) def hello():return Hello, …