功能:配置 skywalking jacoco jar包
FROM bytest-harbor.ur.com.cn/base-image/busybox:1.28.3ADD agent /agent
skywalking 配置
插件部署:
optional-plugins扩展插件:
apm-spring-cloud-gateway-2.1.x-plugin-8.5.0apm-spring-annotation
配置文件
开启数据库sql追踪
plugin.jdbc.trace_sql_parameters=${SW_JDBC_TRACE_SQL_PARAMETERS:true}plugin.jdbc.sql_parameters_max_length=${SW_PLUGIN_JDBC_SQL_PARAMETERS_MAX_LENGTH:512}


# 引入skywalking agent- name: SW_AGENT_NAMEvalue: ${APP_NAME}_${NAMESPACE}- name: SW_JDBC_TRACE_SQL_PARAMETERSvalue: 'true'- name: SW_PLUGIN_JDBC_SQL_PARAMETERS_MAX_LENGTHvalue: '512'# skywalking oap 后端- name: SW_AGENT_COLLECTOR_BACKEND_SERVICESvalue: ${SW_BACKEND}
apiVersion: apps/v1kind: Deploymentmetadata:labels:app: kubespherecomponent: $APP_NAMEtier: backend# 服务名称name: $APP_NAME# 项目名称namespace: $NAMESPACEspec:progressDeadlineSeconds: 600replicas: 2selector:matchLabels:app: kubespherecomponent: $APP_NAMEtier: backendtemplate:metadata:labels:app: kubespherecomponent: $APP_NAMEtier: backendspec:affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: componentoperator: Invalues:- $APP_NAMEtopologyKey: "kubernetes.io/hostname"initContainers:# 初始化容器- name: ur-paas-initimage: $HARBOR_HOST/paas/init-container:1.0.2imagePullPolicy: IfNotPresentcommand: ["cp", "-r", "/agent/", "/share/"]volumeMounts:- name: ur-sharemountPath: /shareresources:requests:cpu: 200mmemory: 200Milimits:cpu: 200mmemory: 200Micontainers:- name: $APP_NAMEimage: $HARBOR_HOST/$HARBOR_NAMESPACE/$APP_NAME:$BRANCH_NAME-$BUILD_NUMBERcommand: ["sh","/home/run.sh"]imagePullPolicy: Alwayslifecycle:preStop:exec:command: ["sh", "-c", "sleep 10"]env:- name: JAVA_OPTSvalue: $JAVA_OPTS- name: CACHE_IGNOREvalue: js|html- name: CACHE_PUBLIC_EXPIRATIONvalue: 3d# 时区- name: TZvalue: Asia/Shanghai# 引入skywalking agent- name: SW_AGENT_NAMEvalue: ${APP_NAME}- name: SW_JDBC_TRACE_SQL_PARAMETERSvalue: 'true'- name: SW_PLUGIN_JDBC_SQL_PARAMETERS_MAX_LENGTHvalue: '512'# skywalking oap 后端- name: SW_AGENT_COLLECTOR_BACKEND_SERVICESvalue: ${SW_BACKEND}# nacos 注册中心配置中心- name: NACOS_HOSTvalue: ${NACOS_HOST}- name: NACOS_NAMESPACEvalue: ${NACOS_NAMESPACE}- name: NACOS_GROUPvalue: ${NACOS_GROUP}- name: POD_IDvalueFrom:fieldRef:fieldPath: metadata.namelivenessProbe:httpGet:path: $HEALTH_PATHport: $CONTAINER_PORTinitialDelaySeconds: 60successThreshold: 1timeoutSeconds: 10failureThreshold: 10periodSeconds: 10readinessProbe:httpGet:path: $HEALTH_PATHport: $CONTAINER_PORTinitialDelaySeconds: 30timeoutSeconds: 10failureThreshold: 30periodSeconds: 5ports:- containerPort: $CONTAINER_PORTprotocol: TCPvolumeMounts:- name: ur-sharemountPath: /share- name: gcmountPath: /home/gc/- name: dumpmountPath: /home/dump/- name: runmountPath: /home/run.shsubPath: run.sh- name: vol-logmountPath: /var/logpolicy:logs:rotate: Hourlyannotations:format: '{"multi":{"mode":"regular","value":"([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))"}}'pathPattern: /info.logresources:limits:cpu: 1memory: 2Girequests:cpu: 1memory: 2GiterminationMessagePath: /dev/termination-logterminationMessagePolicy: Filevolumes:# ur共享文件夹- name: ur-shareemptyDir: {}- name: vol-logemptyDir: {}- name: gcpersistentVolumeClaim:claimName: $APP_NAME- name: dumppersistentVolumeClaim:claimName: scp-dump- name: runconfigMap:defaultMode: 0777name: $APP_NAMEdnsPolicy: ClusterFirstimagePullSecrets:- name: $HARBOR_CREDENTIAL_IDrestartPolicy: AlwaysterminationGracePeriodSeconds: 30---apiVersion: v1kind: ConfigMapmetadata:name: $APP_NAMEnamespace: $NAMESPACEdata:run.sh: |#!/bin/bashecho -javaagent:/share/agent/skywalking/skywalking-agent.jar \-XX:+UseContainerSupport \-XX:MaxRAMPercentage=75.0 \-XX:MinRAMPercentage=75.0 \-XX:InitialRAMPercentage=75.0 \-XX:MetaspaceSize=256m \-XX:MaxMetaspaceSize=256m \-XX:+UseConcMarkSweepGC \-XX:+UseCMSCompactAtFullCollection \-XX:+CMSClassUnloadingEnabled \-XX:CMSInitiatingOccupancyFraction=80 \-XX:+UseCMSInitiatingOccupancyOnly \-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses \-Dsun.rmi.dgc.server.gcInterval=2592000000 \-Dsun.rmi.dgc.client.gcInterval=2592000000 \-XX:+UseParNewGC \-XX:ParallelGCThreads=4 \-XX:SurvivorRatio=8 \-XX:+PrintGCDetails \-XX:+PrintGCDateStamps \-XX:+PrintTenuringDistribution \-XX:+PrintHeapAtGC \-XX:+PrintReferenceGC \-XX:+PrintGCApplicationStoppedTime \-XX:+UseGCLogFileRotation \-XX:NumberOfGCLogFiles=10 \-XX:GCLogFileSize=1000m \-Xloggc:/home/gc/gc-$${p}POD_ID-$(date +"%Y-%m-%d-%H-%M-%S").log \-XX:+HeapDumpOnOutOfMemoryError \-XX:HeapDumpPath=/home/dump/dump-$${p}POD_ID-$(date +"%Y-%m-%d-%H-%M-%S").hprof > /home/gc/java_tool_opts.shexport JAVA_TOOL_OPTIONS=$(cat /home/gc/java_tool_opts.sh)java -jar ${${p}JAVA_OPTS} -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=10000 -Dsun.net.client.defaultReadTimeout=30000 -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom *.jar---kind: PersistentVolumeClaimapiVersion: v1metadata:name: $APP_NAMEnamespace: $NAMESPACEspec:accessModes:- ReadWriteManyvolumeMode: Filesystemresources:requests:storage: 2GistorageClassName: sfsturbo-ur-scp---apiVersion: autoscaling/v1kind: HorizontalPodAutoscalermetadata:annotations:extendedhpa.metrics: '[{"type":"Resource","name":"cpu","targetType":"Utilization","targetRange":{"low":"55","high":"65"}}]'extendedhpa.option: '{"downscaleWindow":"60m","upscaleWindow":"0m"}'name: $APP_NAMEnamespace: $NAMESPACEspec:minReplicas: 2maxReplicas: 6scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: $APP_NAMEtargetCPUUtilizationPercentage: 60
