deepflow-otel-spring-demo.yaml 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984
  1. # Copyright (c) 2022 Yunshan Networks
  2. # Licensed under the Apache License, Version 2.0 (the "License");
  3. # you may not use this file except in compliance with the License.
  4. # You may obtain a copy of the License at
  5. # http://www.apache.org/licenses/LICENSE-2.0
  6. # Unless required by applicable law or agreed to in writing, software
  7. # distributed under the License is distributed on an "AS IS" BASIS,
  8. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  9. # See the License for the specific language governing permissions and
  10. # limitations under the License.
  11. ##################################################################################################
  12. # This file defines the services, deployments, configmap, statefulsets
  13. #
  14. # To deploy full demo, you can :
  15. # kubectl apply -f springboot-otel-demo.yaml -n ${YOUR-NAMESPACE}
  16. ##################################################################################################
  17. ##################################################################################################
  18. # Namespace
  19. ##################################################################################################
  20. apiVersion: v1
  21. kind: Namespace
  22. metadata:
  23. name: deepflow-otel-spring-demo
  24. ---
  25. ##################################################################################################
  26. # Deployments
  27. ##################################################################################################
  28. apiVersion: apps/v1
  29. kind: Deployment
  30. metadata:
  31. name: svc-item
  32. namespace: deepflow-otel-spring-demo
  33. spec:
  34. replicas: 1
  35. selector:
  36. matchLabels:
  37. app: svc-item
  38. template:
  39. metadata:
  40. labels:
  41. app: svc-item
  42. version: latest
  43. spec:
  44. affinity:
  45. podAntiAffinity:
  46. preferredDuringSchedulingIgnoredDuringExecution:
  47. - weight: 100
  48. podAffinityTerm:
  49. labelSelector:
  50. matchExpressions:
  51. - key: app
  52. operator: In
  53. values:
  54. - svc-item
  55. - svc-order
  56. - svc-stock
  57. - svc-user
  58. - web-shop
  59. - loadgenerator
  60. - db-demo
  61. - nacos
  62. topologyKey: "kubernetes.io/hostname"
  63. containers:
  64. - name: svc-item
  65. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-item:1.0
  66. command:
  67. - sh
  68. args:
  69. - /home/docker-entrypoint.sh
  70. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  71. - '-Dotel.traces.exporter=otlp'
  72. - '-Dotel.metrics.exporter=otlp'
  73. - '-jar'
  74. - /home/item-service-0.0.1-SNAPSHOT.jar
  75. imagePullPolicy: IfNotPresent
  76. env:
  77. - name: SERVICE_HOST
  78. valueFrom:
  79. fieldRef:
  80. fieldPath: status.podIP
  81. - name: OTEL_RESOURCE_ATTRIBUTES
  82. value: pod.ip=$(SERVICE_HOST)
  83. - name: SERVICE_PORT
  84. value: "20880"
  85. - name: SW_AGENT_NAME
  86. value: spring-svc-item
  87. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  88. value: http://otel-collector-opentelemetry-collector.observe.svc.cluster.local:4317
  89. ports:
  90. - containerPort: 20880
  91. volumeMounts:
  92. - name: sidecar
  93. mountPath: /sidecar
  94. - name: config
  95. mountPath: /home/application.yml
  96. subPath: application.yml
  97. initContainers:
  98. - name: sidecar
  99. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  100. command:
  101. - /bin/sh
  102. args:
  103. - '-c'
  104. - cp -R /opentelemetry/agent /sidecar/
  105. volumeMounts:
  106. - name: sidecar
  107. mountPath: /sidecar
  108. volumes:
  109. - name: sidecar
  110. emptyDir: {}
  111. - configMap:
  112. name: item-service
  113. name: config
  114. ---
  115. apiVersion: apps/v1
  116. kind: Deployment
  117. metadata:
  118. name: svc-order
  119. namespace: deepflow-otel-spring-demo
  120. spec:
  121. replicas: 1
  122. selector:
  123. matchLabels:
  124. app: svc-order
  125. template:
  126. metadata:
  127. labels:
  128. app: svc-order
  129. version: latest
  130. spec:
  131. affinity:
  132. podAntiAffinity:
  133. preferredDuringSchedulingIgnoredDuringExecution:
  134. - weight: 100
  135. podAffinityTerm:
  136. labelSelector:
  137. matchExpressions:
  138. - key: app
  139. operator: In
  140. values:
  141. - svc-item
  142. - svc-order
  143. - svc-stock
  144. - svc-user
  145. - web-shop
  146. - loadgenerator
  147. - db-demo
  148. - nacos
  149. topologyKey: "kubernetes.io/hostname"
  150. containers:
  151. - name: svc-order
  152. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-order:1.0
  153. command:
  154. - sh
  155. args:
  156. - /home/docker-entrypoint.sh
  157. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  158. - '-Dotel.traces.exporter=otlp'
  159. - '-Dotel.metrics.exporter=otlp'
  160. - '-jar'
  161. - /home/order-service-0.0.1-SNAPSHOT.jar
  162. imagePullPolicy: IfNotPresent
  163. env:
  164. - name: MYSQL_HOST
  165. value: "db-demo"
  166. - name: SERVICE_HOST
  167. valueFrom:
  168. fieldRef:
  169. fieldPath: status.podIP
  170. - name: OTEL_RESOURCE_ATTRIBUTES
  171. value: pod.ip=$(SERVICE_HOST)
  172. - name: SERVICE_PORT
  173. value: "20880"
  174. - name: SW_AGENT_NAME
  175. value: spring-svc-order
  176. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  177. value: http://otel-collector-opentelemetry-collector.observe.svc.cluster.local:4317
  178. ports:
  179. - containerPort: 20880
  180. volumeMounts:
  181. - name: sidecar
  182. mountPath: /sidecar
  183. initContainers:
  184. - name: sidecar
  185. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  186. command:
  187. - /bin/sh
  188. args:
  189. - '-c'
  190. - cp -R /opentelemetry/agent /sidecar/
  191. volumeMounts:
  192. - name: sidecar
  193. mountPath: /sidecar
  194. volumes:
  195. - name: sidecar
  196. emptyDir: {}
  197. - configMap:
  198. name: order-service
  199. name: config
  200. ---
  201. apiVersion: apps/v1
  202. kind: Deployment
  203. metadata:
  204. name: svc-stock
  205. namespace: deepflow-otel-spring-demo
  206. spec:
  207. replicas: 1
  208. selector:
  209. matchLabels:
  210. app: svc-stock
  211. template:
  212. metadata:
  213. labels:
  214. app: svc-stock
  215. version: latest
  216. spec:
  217. affinity:
  218. podAntiAffinity:
  219. preferredDuringSchedulingIgnoredDuringExecution:
  220. - weight: 100
  221. podAffinityTerm:
  222. labelSelector:
  223. matchExpressions:
  224. - key: app
  225. operator: In
  226. values:
  227. - svc-item
  228. - svc-order
  229. - svc-stock
  230. - svc-user
  231. - web-shop
  232. - loadgenerator
  233. - db-demo
  234. - nacos
  235. topologyKey: "kubernetes.io/hostname"
  236. containers:
  237. - name: svc-stock
  238. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-stock:1.0
  239. command:
  240. - sh
  241. args:
  242. - /home/docker-entrypoint.sh
  243. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  244. - '-Dotel.traces.exporter=otlp'
  245. - '-Dotel.metrics.exporter=otlp'
  246. - '-jar'
  247. - /home/stock-service-0.0.1-SNAPSHOT.jar
  248. imagePullPolicy: IfNotPresent
  249. env:
  250. - name: SERVICE_HOST
  251. valueFrom:
  252. fieldRef:
  253. fieldPath: status.podIP
  254. - name: OTEL_RESOURCE_ATTRIBUTES
  255. value: pod.ip=$(SERVICE_HOST)
  256. - name: SERVICE_PORT
  257. value: "20880"
  258. - name: SW_AGENT_NAME
  259. value: spring-svc-stock
  260. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  261. value: http://otel-collector-opentelemetry-collector.observe.svc.cluster.local:4317
  262. ports:
  263. - containerPort: 20880
  264. volumeMounts:
  265. - name: sidecar
  266. mountPath: /sidecar
  267. - name: config
  268. mountPath: /home/application.yml
  269. subPath: application.yml
  270. initContainers:
  271. - name: sidecar
  272. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  273. command:
  274. - /bin/sh
  275. args:
  276. - '-c'
  277. - cp -R /opentelemetry/agent /sidecar/
  278. volumeMounts:
  279. - name: sidecar
  280. mountPath: /sidecar
  281. volumes:
  282. - name: sidecar
  283. emptyDir: {}
  284. - configMap:
  285. name: stock-service
  286. name: config
  287. ---
  288. apiVersion: apps/v1
  289. kind: Deployment
  290. metadata:
  291. name: svc-user
  292. namespace: deepflow-otel-spring-demo
  293. spec:
  294. replicas: 1
  295. selector:
  296. matchLabels:
  297. app: svc-user
  298. template:
  299. metadata:
  300. labels:
  301. app: svc-user
  302. version: latest
  303. spec:
  304. affinity:
  305. podAntiAffinity:
  306. preferredDuringSchedulingIgnoredDuringExecution:
  307. - weight: 100
  308. podAffinityTerm:
  309. labelSelector:
  310. matchExpressions:
  311. - key: app
  312. operator: In
  313. values:
  314. - svc-item
  315. - svc-order
  316. - svc-stock
  317. - svc-user
  318. - web-shop
  319. - loadgenerator
  320. - db-demo
  321. - nacos
  322. topologyKey: "kubernetes.io/hostname"
  323. containers:
  324. - name: svc-user
  325. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-user:1.0
  326. command:
  327. - sh
  328. args:
  329. - /home/docker-entrypoint.sh
  330. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  331. - '-Dotel.traces.exporter=otlp'
  332. - '-Dotel.metrics.exporter=otlp'
  333. - '-jar'
  334. - /home/user-service-0.0.1-SNAPSHOT.jar
  335. imagePullPolicy: IfNotPresent
  336. env:
  337. - name: MYSQL_HOST
  338. value: "db-demo"
  339. - name: SERVICE_HOST
  340. valueFrom:
  341. fieldRef:
  342. fieldPath: status.podIP
  343. - name: OTEL_RESOURCE_ATTRIBUTES
  344. value: pod.ip=$(SERVICE_HOST)
  345. - name: SERVICE_PORT
  346. value: "20880"
  347. - name: SW_AGENT_NAME
  348. value: spring-svc-user
  349. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  350. value: http://otel-collector-opentelemetry-collector.observe.svc.cluster.local:4317
  351. ports:
  352. - containerPort: 20880
  353. volumeMounts:
  354. - name: sidecar
  355. mountPath: /sidecar
  356. - name: config
  357. mountPath: /home/application.yml
  358. subPath: application.yml
  359. initContainers:
  360. - name: sidecar
  361. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  362. command:
  363. - /bin/sh
  364. args:
  365. - '-c'
  366. - cp -R /opentelemetry/agent /sidecar/
  367. volumeMounts:
  368. - name: sidecar
  369. mountPath: /sidecar
  370. volumes:
  371. - name: sidecar
  372. emptyDir: {}
  373. - configMap:
  374. name: user-service
  375. name: config
  376. ---
  377. apiVersion: apps/v1
  378. kind: Deployment
  379. metadata:
  380. name: web-shop
  381. namespace: deepflow-otel-spring-demo
  382. spec:
  383. replicas: 1
  384. selector:
  385. matchLabels:
  386. app: web-shop
  387. template:
  388. metadata:
  389. labels:
  390. app: web-shop
  391. version: latest
  392. spec:
  393. affinity:
  394. podAntiAffinity:
  395. preferredDuringSchedulingIgnoredDuringExecution:
  396. - weight: 100
  397. podAffinityTerm:
  398. labelSelector:
  399. matchExpressions:
  400. - key: app
  401. operator: In
  402. values:
  403. - svc-item
  404. - svc-order
  405. - svc-stock
  406. - svc-user
  407. - web-shop
  408. - loadgenerator
  409. - db-demo
  410. - nacos
  411. topologyKey: "kubernetes.io/hostname"
  412. containers:
  413. - name: web-shop
  414. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-shopweb:1.0
  415. command:
  416. - sh
  417. args:
  418. - /home/docker-entrypoint.sh
  419. - '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
  420. - '-Dotel.traces.exporter=otlp'
  421. - '-Dotel.metrics.exporter=otlp'
  422. - '-jar'
  423. - /home/shop-web-0.0.1-SNAPSHOT.jar
  424. imagePullPolicy: IfNotPresent
  425. ports:
  426. - containerPort: 8090
  427. env:
  428. - name: SERVICE_HOST
  429. valueFrom:
  430. fieldRef:
  431. fieldPath: status.podIP
  432. - name: OTEL_RESOURCE_ATTRIBUTES
  433. value: pod.ip=$(SERVICE_HOST)
  434. - name: SW_AGENT_NAME
  435. value: spring-svc-webshop
  436. - name: OTEL_EXPORTER_OTLP_ENDPOINT
  437. value: http://otel-collector-opentelemetry-collector.observe.svc.cluster.local:4317
  438. volumeMounts:
  439. - name: sidecar
  440. mountPath: /sidecar
  441. initContainers:
  442. - name: sidecar
  443. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/opentelemetry-javaagent:1.15.0
  444. command:
  445. - /bin/sh
  446. args:
  447. - '-c'
  448. - cp -R /opentelemetry/agent /sidecar/
  449. volumeMounts:
  450. - name: sidecar
  451. mountPath: /sidecar
  452. volumes:
  453. - name: sidecar
  454. emptyDir: {}
  455. ---
  456. apiVersion: apps/v1
  457. kind: Deployment
  458. metadata:
  459. name: loadgenerator
  460. namespace: deepflow-otel-spring-demo
  461. spec:
  462. replicas: 1
  463. selector:
  464. matchLabels:
  465. app: loadgenerator
  466. template:
  467. metadata:
  468. labels:
  469. app: loadgenerator
  470. version: latest
  471. spec:
  472. affinity:
  473. podAntiAffinity:
  474. preferredDuringSchedulingIgnoredDuringExecution:
  475. - weight: 100
  476. podAffinityTerm:
  477. labelSelector:
  478. matchExpressions:
  479. - key: app
  480. operator: In
  481. values:
  482. - svc-item
  483. - svc-order
  484. - svc-stock
  485. - svc-user
  486. - web-shop
  487. - loadgenerator
  488. - db-demo
  489. - nacos
  490. topologyKey: "kubernetes.io/hostname"
  491. containers:
  492. - name: loadgenerator
  493. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_loadgenerator:latest
  494. env:
  495. - name: FRONTEND_ADDR
  496. value: web-shop:8090
  497. - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
  498. value: http://otel-collector-opentelemetry-collector.observe.svc.cluster.local:4317
  499. - name: MY_POD_IP
  500. valueFrom:
  501. fieldRef:
  502. fieldPath: status.podIP
  503. - name: OTEL_RESOURCE_ATTRIBUTES
  504. value: pod.ip=$(MY_POD_IP)
  505. - name: USERS
  506. value: '1'
  507. ##################################################################################################
  508. # StatefulSets
  509. ##################################################################################################
  510. ---
  511. apiVersion: apps/v1
  512. kind: StatefulSet
  513. metadata:
  514. name: db-demo
  515. namespace: deepflow-otel-spring-demo
  516. spec:
  517. replicas: 1
  518. serviceName: db-demo
  519. selector:
  520. matchLabels:
  521. app: db-demo
  522. template:
  523. metadata:
  524. labels:
  525. app: db-demo
  526. version: 5.7.18
  527. spec:
  528. affinity:
  529. podAntiAffinity:
  530. preferredDuringSchedulingIgnoredDuringExecution:
  531. - weight: 100
  532. podAffinityTerm:
  533. labelSelector:
  534. matchExpressions:
  535. - key: app
  536. operator: In
  537. values:
  538. - svc-item
  539. - svc-order
  540. - svc-stock
  541. - svc-user
  542. - web-shop
  543. - loadgenerator
  544. - db-demo
  545. - nacos
  546. topologyKey: "kubernetes.io/hostname"
  547. containers:
  548. - name: db-demo
  549. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-mysql:1.0
  550. imagePullPolicy: IfNotPresent
  551. env:
  552. - name: MYSQL_ROOT_PASSWORD
  553. value: "123"
  554. ports:
  555. - containerPort: 3306
  556. readinessProbe:
  557. exec:
  558. command: ["mysql", "-hlocalhost", "-uroot", "-p123", "-P3306", "--database", "skywalking", "-e", "SELECT 1"]
  559. initialDelaySeconds: 15
  560. periodSeconds: 5
  561. timeoutSeconds: 2
  562. ---
  563. apiVersion: apps/v1
  564. kind: StatefulSet
  565. metadata:
  566. name: nacos
  567. namespace: deepflow-otel-spring-demo
  568. spec:
  569. replicas: 1
  570. serviceName: nacos
  571. selector:
  572. matchLabels:
  573. app: nacos
  574. template:
  575. metadata:
  576. labels:
  577. app: nacos
  578. version: 1.1.4
  579. spec:
  580. affinity:
  581. podAntiAffinity:
  582. preferredDuringSchedulingIgnoredDuringExecution:
  583. - weight: 100
  584. podAffinityTerm:
  585. labelSelector:
  586. matchExpressions:
  587. - key: app
  588. operator: In
  589. values:
  590. - svc-item
  591. - svc-order
  592. - svc-stock
  593. - svc-user
  594. - web-shop
  595. - loadgenerator
  596. - db-demo
  597. - nacos
  598. topologyKey: "kubernetes.io/hostname"
  599. containers:
  600. - name: nacos
  601. image: registry.cn-beijing.aliyuncs.com/deepflow-demo/skywalking-demo_mydemo-nacos-server:1.1.4
  602. imagePullPolicy: IfNotPresent
  603. env:
  604. - name: MYSQL_HOST
  605. value: "db-demo"
  606. - name: MODE
  607. value: standalone
  608. ports:
  609. - containerPort: 8848
  610. readinessProbe:
  611. httpGet:
  612. path: /nacos
  613. port: 8848
  614. initialDelaySeconds: 3
  615. periodSeconds: 5
  616. timeoutSeconds: 2
  617. ---
  618. ##################################################################################################
  619. # ConfigMaps
  620. ##################################################################################################
  621. apiVersion: v1
  622. data:
  623. application.yml: |
  624. spring:
  625. main:
  626. allow-bean-definition-overriding: true
  627. output:
  628. ansi:
  629. enabled: always
  630. application:
  631. name: item
  632. nacos:
  633. address: ${NACOS_HOST:localhost}:8848
  634. dubbo:
  635. filter:
  636. application: # see com.alibaba.dubbo.config.ApplicationConfig
  637. id: ${application.name}-srv
  638. name: ${application.name}-srv
  639. qosEnable: false
  640. protocol: # see com.alibaba.dubbo.config.ProtocolConfig
  641. id: rest
  642. name: rest
  643. host: ${SERVICE_HOST:localhost} # Use POD IP to register Dubbo service
  644. port: ${SERVICE_PORT:20880}
  645. threads: 3
  646. iothreads: 1
  647. server: netty
  648. client: netty
  649. status: server
  650. serialization: fst
  651. queues: 0
  652. keepAlive: true
  653. registry: # see com.alibaba.dubbo.config.RegistryConfig
  654. address: nacos://${nacos.address}
  655. check: false
  656. provider:
  657. cluster: failfast
  658. retries: 0
  659. loadbalance: roundrobin
  660. timeout: 10000
  661. filter: ${dubbo.filter}
  662. zipkin:
  663. server: ${zipkin.base-url}/api/v2/spans
  664. connectTimeout: 5000
  665. readTimeout: 5000
  666. kind: ConfigMap
  667. metadata:
  668. name: item-service
  669. namespace: deepflow-otel-spring-demo
  670. ---
  671. apiVersion: v1
  672. data:
  673. application.yml: |
  674. spring:
  675. main:
  676. allow-bean-definition-overriding: true
  677. output:
  678. ansi:
  679. enabled: always
  680. datasource:
  681. driver-class-name: ${mysql.driver-class}
  682. url: jdbc:mysql://${mysql.host}:${mysql.port}/${db.order}?connectTimeout=3000&socketTimeout=10000&characterEncoding=utf8&useTimezone=true&serverTimezone=Asia/Shanghai&useSSL=false${jdbc.interceptors}
  683. username: ${mysql.user}
  684. password: ${mysql.password}
  685. application:
  686. name: order
  687. nacos:
  688. address: ${NACOS_HOST:localhost}:8848
  689. dubbo:
  690. filter:
  691. application: # see com.alibaba.dubbo.config.ApplicationConfig
  692. id: ${application.name}-srv
  693. name: ${application.name}-srv
  694. qosEnable: false
  695. protocol: # see com.alibaba.dubbo.config.ProtocolConfig
  696. id: rest
  697. name: rest
  698. host: ${SERVICE_HOST:localhost} # Use POD IP to register Dubbo service
  699. port: ${SERVICE_PORT:20883}
  700. threads: 3
  701. iothreads: 1
  702. server: netty
  703. client: netty
  704. status: server
  705. serialization: fst
  706. queues: 0
  707. keepAlive: true
  708. registry: # see com.alibaba.dubbo.config.RegistryConfig
  709. address: nacos://${nacos.address}
  710. check: false
  711. provider:
  712. cluster: failfast
  713. retries: 0
  714. loadbalance: roundrobin
  715. timeout: 10000
  716. filter: ${dubbo.filter}
  717. consumer:
  718. filter: ${dubbo.filter}
  719. # Fault tolerance. Options: failover/failfast/failsafe/failback/forking
  720. cluster: failfast
  721. # Load balancing strategy. Options: random, roundrobin(polling), leastactive(invoking least active service)
  722. loadbalance: roundrobin
  723. druid:
  724. defaultAutoCommit: true
  725. defaultTransactionIsolation: 2
  726. initialSize: 1
  727. maxActive: 3
  728. maxWait: 10000
  729. minIdle: 1
  730. validationQuery: /* ping */ select 1
  731. testOnBorrow: false
  732. testOnReturn: false
  733. testWhileIdle: true
  734. timeBetweenEvictionRunsMillis: 60000
  735. minEvictableIdleTimeMillis: 1800000
  736. removeAbandoned: true
  737. removeAbandonedTimeout: 1800
  738. logAbandoned: true
  739. mybatis: # see MybatisProperties.class in mybatis-spring-boot-autoconfigure
  740. mapperLocations: classpath:mappers/*.xml
  741. seata:
  742. enabled: true
  743. application-id: ${application.name}
  744. tx-service-group: my_demo_gtx
  745. config:
  746. type: nacos
  747. nacos:
  748. namespace:
  749. serverAddr: ${nacos.address}
  750. registry:
  751. type: nacos
  752. nacos:
  753. cluster: default
  754. server-addr: ${nacos.address}
  755. namespace:
  756. zipkin:
  757. server: ${zipkin.base-url}/api/v2/spans
  758. connectTimeout: 5000
  759. readTimeout: 5000
  760. kind: ConfigMap
  761. metadata:
  762. name: order-service
  763. namespace: deepflow-otel-spring-demo
  764. ---
  765. apiVersion: v1
  766. data:
  767. application.yml: |
  768. spring:
  769. main:
  770. allow-bean-definition-overriding: true
  771. output:
  772. ansi:
  773. enabled: always
  774. application:
  775. name: stock
  776. nacos:
  777. address: ${NACOS_HOST:localhost}:8848
  778. dubbo:
  779. filter:
  780. application: # see com.alibaba.dubbo.config.ApplicationConfig
  781. id: ${application.name}-srv
  782. name: ${application.name}-srv
  783. qosEnable: false
  784. protocol: # see com.alibaba.dubbo.config.ProtocolConfig
  785. id: rest
  786. name: rest
  787. host: ${SERVICE_HOST:localhost} # Use POD IP to register Dubbo service
  788. port: ${SERVICE_PORT:20881}
  789. threads: 3
  790. iothreads: 1
  791. server: netty
  792. client: netty
  793. status: server
  794. serialization: fst
  795. queues: 0
  796. keepAlive: true
  797. registry: # see com.alibaba.dubbo.config.RegistryConfig
  798. address: nacos://${nacos.address}
  799. check: false
  800. provider:
  801. cluster: failfast
  802. retries: 0
  803. loadbalance: roundrobin
  804. timeout: 10000
  805. filter: ${dubbo.filter}
  806. zipkin:
  807. server: ${zipkin.base-url}/api/v2/spans
  808. connectTimeout: 5000
  809. readTimeout: 5000
  810. kind: ConfigMap
  811. metadata:
  812. name: stock-service
  813. namespace: deepflow-otel-spring-demo
  814. ---
  815. apiVersion: v1
  816. data:
  817. application.yml: |
  818. mysql:
  819. driver-class: com.mysql.jdbc.Driver
  820. host: ${MYSQL_HOST:localhost}
  821. port: ${MYSQL_PORT:3306}
  822. user: mydemo
  823. password: mydemo
  824. db:
  825. order: mydemo-dn1
  826. user: mydemo-dn1
  827. jdbc:
  828. interceptors:
  829. nacos:
  830. address: ${NACOS_HOST:localhost}:8848
  831. spring:
  832. main:
  833. allow-bean-definition-overriding: true
  834. output:
  835. ansi:
  836. enabled: always
  837. datasource:
  838. driver-class-name: ${mysql.driver-class}
  839. url: jdbc:mysql://${mysql.host}:${mysql.port}/${db.user}?connectTimeout=3000&socketTimeout=10000&characterEncoding=utf8&useTimezone=true&serverTimezone=Asia/Shanghai&useSSL=false${jdbc.interceptors}
  840. username: ${mysql.user}
  841. password: ${mysql.password}
  842. application:
  843. name: user
  844. dubbo:
  845. filter:
  846. application: # see com.alibaba.dubbo.config.ApplicationConfig
  847. id: ${application.name}-srv
  848. name: ${application.name}-srv
  849. qosEnable: false
  850. protocol: # see com.alibaba.dubbo.config.ProtocolConfig
  851. id: rest
  852. name: rest
  853. host: ${SERVICE_HOST:localhost} # Use POD IP to register Dubbo service
  854. port: ${SERVICE_PORT:20882}
  855. threads: 3
  856. iothreads: 1
  857. server: netty
  858. client: netty
  859. status: server
  860. serialization: fst
  861. queues: 0
  862. keepAlive: true
  863. registry: # see com.alibaba.dubbo.config.RegistryConfig
  864. address: nacos://${nacos.address}
  865. check: false
  866. provider:
  867. cluster: failfast
  868. retries: 0
  869. loadbalance: roundrobin
  870. timeout: 10000
  871. filter: ${dubbo.filter}
  872. druid:
  873. defaultAutoCommit: true
  874. defaultTransactionIsolation: 2
  875. initialSize: 1
  876. maxActive: 3
  877. maxWait: 5000
  878. minIdle: 1
  879. validationQuery: /* ping */ select 1
  880. testOnBorrow: false
  881. testOnReturn: false
  882. testWhileIdle: true
  883. timeBetweenEvictionRunsMillis: 60000
  884. minEvictableIdleTimeMillis: 1800000
  885. removeAbandoned: true
  886. removeAbandonedTimeout: 1800
  887. logAbandoned: true
  888. mybatis: # see MybatisProperties.class in mybatis-spring-boot-autoconfigure
  889. mapperLocations: classpath:mappers/*.xml
  890. seata:
  891. enabled: true
  892. application-id: ${application.name}
  893. tx-service-group: my_demo_gtx
  894. config:
  895. type: nacos
  896. nacos:
  897. namespace:
  898. serverAddr: ${nacos.address}
  899. registry:
  900. type: nacos
  901. nacos:
  902. cluster: default
  903. server-addr: ${nacos.address}
  904. namespace:
  905. zipkin:
  906. server: ${zipkin.base-url}/api/v2/spans
  907. connectTimeout: 5000
  908. readTimeout: 5000
  909. mydemo:
  910. hostname: ${HOSTNAME:localhost}
  911. kind: ConfigMap
  912. metadata:
  913. name: user-service
  914. namespace: deepflow-otel-spring-demo
  915. ---
  916. ##################################################################################################
  917. # Services
  918. ##################################################################################################
  919. kind: Service
  920. apiVersion: v1
  921. metadata:
  922. name: nacos
  923. namespace: deepflow-otel-spring-demo
  924. spec:
  925. type: ClusterIP
  926. ports:
  927. - name: http-nacos
  928. port: 8848
  929. targetPort: 8848
  930. selector:
  931. app: nacos
  932. ---
  933. kind: Service
  934. apiVersion: v1
  935. metadata:
  936. name: web-shop
  937. namespace: deepflow-otel-spring-demo
  938. spec:
  939. type: ClusterIP
  940. ports:
  941. - name: http-shop
  942. port: 8090
  943. targetPort: 8090
  944. selector:
  945. app: web-shop
  946. ---
  947. kind: Service
  948. apiVersion: v1
  949. metadata:
  950. name: db-demo
  951. namespace: deepflow-otel-spring-demo
  952. spec:
  953. type: ClusterIP
  954. ports:
  955. - name: mysql
  956. port: 3306
  957. targetPort: 3306
  958. selector:
  959. app: db-demo