

kubectl label namespace <命名空间名> polaris-injection=enabled
kubectl get namespace -L polaris-injection输出结果:NAME STATUS AGE POLARIS-INJECTIONdefault Active 3d2h enabled
label 键 | 范围 | label 值 | 含义 | polaris-controller 版本 |
polarismesh.cn/inject | Pod | disabled | 声明当命名空间开启默认注入时,作为黑名单功能使用,指定 pod 不注入 javaagent | v1.7.3及以上版本 |
polarismesh.cn/inject | Pod | enabled | 声明当命名空间未开启默认注入时,作为白名单功能使用,单独指定 pod 注入 javaagent | v1.7.3及以上版本 |
polarismesh.cn/inject | Namespace | enabled | 声明该命名空间下的 pod,默认注入 javaagent | v1.7.3及以上版本 |
polaris-injection | Namespace | enabled | 声明该命名空间下的 pod,默认注入 javaagent | 所有版本支持,待废弃,使用polarismesh.cn/inject 代替 |
apiVersion: v1kind: Namespacemetadata:name: java-agent-testlabels:polarismesh.cn/inject: enabled
apiVersion: apps/v1kind: Deploymentmetadata:name: label-blocknamespace: java-agent-testspec:selector:matchLabels:app: label-blocktemplate:metadata:labels:app: label-blockpolarismesh.cn/inject: disabledannotations:polarismesh.cn/javaagent: "true"spec:......
apiVersion: apps/v1kind: Deploymentmetadata:name: label-allowspec:selector:matchLabels:app: label-allowtemplate:metadata:labels:app: label-allowpolarismesh.cn/inject: enabledannotations:polarismesh.cn/javaagent: "true"spec:......
Annotation键 | Annotation值 | 含义 | polaris-controller版本 |
polarismesh.cn/javaagent | 支持:"true"、"false",必填 | 声明需要往这个 POD 中注入 Java A gent | 所有版本支持 |
polarismesh.cn/workloadNamespaceAsServiceNamespace | 支持:"true"、"false",缺省 | 声明使用 k8s 命名空间作为服务命名空间注册到北极星,若和polarismesh.cn/javaagentConfig 中的配置冲突,此配置不生效 | v1.7.3及以上版本 |
polarismesh.cn/workloadNameAsServiceName | 支持:"true"、"false",缺省 | 声明使用 k8s 工作负载名称作为服务名注册到北极星,若和polarismesh.cn/javaagentConfig 中的配置冲突,此配置不生效 | v1.7.3及以上版本 |
polarismesh.cn/javaagentFrameworkName | 缺省,则自动识别应用框架的类型。 支持:spring-cloud | 声明应用的框架类型,对于 SpringCloud 应用则填写 spring-cloud,目前仅支持 SpringCloud 类型。 | 所有版本支持 |
polarismesh.cn/javaagentFrameworkVersion | 缺省,则自动识别应用框架的版本。 也支持手动声明框架版本,例如:2023、2022、hoxton 等。 | 声明应用的框架版本。 | 所有版本支持 |
polarismesh.cn/javaagentVersion | 如:2.0.1.0。 注意: 生产环境请指定验证后的版本,若不填则自动会在每次实例发生重启时自动注入最新的版本,可能会有新版本的兼容性问题,导致实例启动异常。 | 声明 java-agent 包的镜像版本。 | 所有版本支持 |
polarismesh.cn/javaagentConfig | 如指定命名空间、服务名并配置无损上线: '{"spring.cloud.polaris.lossless.enabled":"true","spring.cloud.polaris.lossless.delay-register-interval":"30000","spring.cloud.polaris.discovery.namespace":"custom-ns","spring.application.name":"custom-service"}' | 支持用户自定义的 Java Agent 配置,支持指定命名空间、服务名、服务实例元数据、无损上线配置等。格式为JSON。 不填写的配置则使用默认配置。 | 所有版本支持 |
apiVersion: apps/v1kind: Deploymentmetadata:name: default-ns-namenamespace: java-agent-testspec:selector:matchLabels:app: default-ns-nametemplate:metadata:labels:app: default-ns-nameannotations:polarismesh.cn/javaagent: "true"spec:......
apiVersion: apps/v1kind: Deploymentmetadata:name: k8s-info-injectnamespace: java-agent-testspec:selector:matchLabels:app: k8s-info-injecttemplate:metadata:labels:app: k8s-info-injectannotations:polarismesh.cn/javaagent: "true"polarismesh.cn/workloadNamespaceAsServiceNamespace: "true"polarismesh.cn/workloadNameAsServiceName: "true"spec:......
apiVersion: apps/v1kind: Deploymentmetadata:name: custom-ns-namenamespace: java-agent-testspec:selector:matchLabels:app: custom-ns-nametemplate:metadata:labels:app: custom-ns-nameannotations:polarismesh.cn/javaagent: "true"polarismesh.cn/javaagentConfig: '{"spring.cloud.polaris.discovery.namespace": "custom-ns","spring.application.name":"custom-service"}'spec:......
......2024-02-01 21:19:16 [INFO ](PolarisAgentBootStrap) [Bootstrap] start bootStrapStarter:default......2024-02-01 21:19:16 [INFO ](PluginCreator) [BootStrap] plugin spring-cloud-hoxton-plugin has been loading
plugins.enable=spring-cloud-2023-plugin
# 应用名称(必填)spring.application.name=testSvcName# 配置北极星服务端地址spring.cloud.polaris.address=grpc\\://9.134.5.52\\:8091
-javaagent:<java-agent安装目录>/polaris-agent-core-bootstrap.jar,然后重启应用,即可完成 java-agent 的注入。-javaagent 的参数。文档反馈