IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> K8s部署Spring Boot Admin,Actuator监控(不使用主机名通信) -> 正文阅读

[Java知识库]K8s部署Spring Boot Admin,Actuator监控(不使用主机名通信)

---------------- 特别感谢:wang dayu 同学整理 ----------------

集成说明

1.由于环境上部署无法访问pod地址,需要将client的客户端服务 url和管理网址进行转换覆盖pod的地址
2.插件需要严格遵守与springboot,springcloud版本兼容性,
具体对应关系请参考该地址:
https://blog.csdn.net/q283614346/article/details/121146721
以下集成案例以springboot 版本1.5.7.RELEASE,springcloud 版本Dalston.SR4 ,Springboot admin 1.5.5为准。
3.springboot1.5默认暴露所有端点。Springboot2.0需要添加以下配置暴露端点

management: 
  endpoints: 
    web: 
      exposure:
        include: "*"

4.相关几个参数差异比对
spring boot 1.5:

#要注册的服务端地址
spring.boot.admin.url
#client的客户端服务url
spring.boot.admin.client.service-url
#client的管理网址
spring.boot.admin.client.management-url

spring boot 2.0:

#要注册的服务端地址
spring.boot.admin.client.url
#client的客户端服务url
spring.boot.admin.client.instance.service-url
#client的管理网址
spring.boot.admin.client.instance.management-url

官网地址:
https://codecentric.github.io/spring-boot-admin/1.5.7/#_notifications
https://codecentric.github.io/spring-boot-admin/2.3.1/#_notifications

Spring boot Admin 1.5.5 集成案例

server端

  1. 添加依赖
	 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
        </exclusion>
      </exclusions>
	</dependency>
	<dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-server</artifactId>
      <version>1.5.5</version>
    </dependency>
    <dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-server-ui</artifactId>
      <version>1.5.5</version>
    </dependency>
    <dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-starter-client</artifactId>
      <version>1.5.5</version>
    </dependency>

  1. 启动类添加注解
@EnableAdminServer
  1. 添加配置:
spring:
  boot:
   admin:
    url: http://xxxxx.com:8080/xxx #访问admin所在服务的地址
management:
  security:
    enabled: false   #关掉security验证
  health:
    redis:
      enabled: false #关掉redis健康检查 依赖中由redis依赖会自动检查 这里关掉

client端

  1. 添加依赖
	<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
        </exclusion>
      </exclusions>
	</dependency>

	<dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-starter-client</artifactId>
      <version>1.5.5</version>
    </dependency>

  1. 添加配置:
#springboot admin注册中心 填写上面Server端的访问地址
spring.boot.admin.url=http://xxx.com:8080/xxx
#要注册的客户端服务 url,可以覆盖k8s pod的url 这里是本服务的地址
spring.boot.admin.client.management-url=http://aaaa.com:8080/bbb
#要注册的客户端健康 URL,可以覆盖k8s pod的url,在注册表中必须是唯一的。  这里是本服务的health check地址
spring.boot.admin.client.health-url=http:/aaaa.com:8080/bbb/health
#要注册的管理网址,可以覆盖k8s pod的url 这里是本服务的地址
spring.boot.admin.client.service-url=http:/aaaa.com:8080/bbb/
#关闭验证
management.security.enabled=false
#忽略redis健康检查
management.health.redis.enabled=false

坑点

  1. k8s如果服务之间只允许使用svc访问,不允许容器名访问,Admin就搜集不到除了本服务以外的其它服务的detail信息,注册可以看到
  2. 网上大部分K8s部署Spring Boot Admin教程都是开启了容器名访问或者有第三方的服务注册中心,或者使用K8s的服务注册中心,当注册中心没有时,就比较难受了
  3. K8s没有开启服务注册中心,不允许容器名访问,就要把下面的配置配好:
#要注册的客户端服务 url,可以覆盖k8s pod的url 这里是本服务的地址
spring.boot.admin.client.management-url=http://aaaa.com:8080/bbb
#要注册的客户端健康 URL,可以覆盖k8s pod的url,在注册表中必须是唯一的。  这里是本服务的health check地址
spring.boot.admin.client.health-url=http:/aaaa.com:8080/bbb/health
#要注册的管理网址,可以覆盖k8s pod的url 这里是本服务的地址
spring.boot.admin.client.service-url=http:/aaaa.com:8080/bbb/
  1. 中间还踩了一个坑:1.5.5版本的3中的配置比2.x版本的少一个instance
    网上好多都是2.0以后的Spring boot Admin组件的client配置,我看了下当前引入的client的配置源码,才知道1.x和2.x的区别——差一个instance
    1.x:
package de.codecentric.boot.admin.client.config;
//此处省略 import
@ConfigurationProperties(
    prefix = "spring.boot.admin.client"
)
public class AdminClientProperties {
    private String managementUrl;
    private String managementBaseUrl;
    private String serviceUrl;
    private String serviceBaseUrl;
    private String healthUrl;
    @Value("${spring.application.name:spring-boot-application}")
    private String name;
    private boolean preferIp = false;
    private Map<String, String> metadata = new HashMap();
}

2.x:(来自:https://codecentric.github.io/spring-boot-admin/2.4.3/#spring-boot-admin-client/
在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 21:36:26  更:2022-03-13 21:37:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:29:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码