一、操作步骤
注意:说明:
注意:Java Agent 2.1.1.0及以上版本支持 Nacos 和北极星双注册,详情请参见 Java Agent 概述。
二、步骤1:通过 Java Agent 接入北极星
服务通过 Java Agent 接入北极星。具体步骤请参见 Spring Cloud 使用 Java Agent。
三、步骤2:配置管理
在上一步接入操作中,参考 使用步骤 中的【步骤3:Spring Cloud 应用 YAML 文件中声明 Java Agent 标签】配置相关项。
配置参数如下:
| 配置项 | 默认值 | 是否必填 | 配置项说明 |
| polaris.agent.nacos.discovery.enabled | false | 否 | Polaris Java Agent 的 Nacos 服务发现开关 |
| spring.cloud.nacos.discovery.server-addr | 空字符串 | 否 | Nacos 服务发现的服务器地址,例如127.0.0.1:8848 |
| spring.cloud.nacos.discovery.ephemeral | true | 否 | 是否为临时实例 |
| spring.cloud.nacos.discovery.username | 空字符串 | 否 | Nacos 认证用户名 |
| spring.cloud.nacos.discovery.service | ${spring.application.name} | 否 | 注册到 Nacos 的服务名称,默认取 spring.application.name |
| spring.cloud.nacos.discovery.password | 空字符串 | 否 | Nacos 认证密码 |
| spring.cloud.nacos.discovery.cluster-name | DEFAULT | 否 | Nacos 集群名称 |
| spring.cloud.nacos.discovery.group | DEFAULT_GROUP | 否 | Nacos 分组名称 |
| spring.cloud.nacos.discovery.namespace | public | 否 | Nacos 命名空间 |
| spring.cloud.nacos.discovery.weight | 1.0 | 否 | 服务实例权重 |
配置示例:
—apiVersion: apps/v1kind: Deploymentmetadata: labels: app: service-provider-2023-a name: service-provider-2023-a namespace: defaultspec: replicas: 1 selector: matchLabels: app: service-provider-2023-a template: metadata: labels: app: service-provider-2023-a annotations: polarismesh.cn/javaagent: "true" polarismesh.cn/javaagentFrameworkName: spring-cloud polarismesh.cn/javaagentFrameworkVersion: 2023 polarismesh.cn/javaagentVersion: 2.1.1.0 # 用户自定义的JavaAgent配置,不填写的配置则使用默认配置,格式为JSON。 polarismesh.cn/javaagentConfig: | { "polaris.agent.nacos.discovery.enabled": "true", "spring.cloud.nacos.discovery.server-addr": "127.0.0.1:8848" } spec: containers: – image: polarismesh/polaris-javaagent-demo-sc-quickstart-2023-provider-a:2.1.1.0-java17 imagePullPolicy: Always name: provider resources: limits: cpu: "500m" memory: 1000Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File command: – /bin/bash – -c – cd /app && java -Dserver.port=65001 -Dspring.cloud.nacos.config.enabled=false -jar main.jar lifecycle: preStop: exec: command: [ "curl","-X","PUT","http://127.0.0.1:28080/offline","&&","sleep","30" ] readinessProbe: httpGet: path: /online port: 28080 initialDelaySeconds: 3 periodSeconds: 3 restartPolicy: Always