当前位置: 首页 > ai >正文

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程

skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。

SWCK有整套的解决方案,全安装在K8S群集中。
具体可参考:
https://skywalking.apache.org/zh/2022-04-19-how-to-use-the-java-agent-injector/
https://blog.csdn.net/alksjdfp32r/article/details/139339328

依赖ES用于存储数据,需提前安装

安装skywalking-oap


使用SW_ES_USER、SW_ES_PASSWORD变量配置ES的账户及密码,具体各变量可参考SKYWALKING的配置文件,里面全是变量。
注意 SW_STORAGE=elasticsearch 不要配置成elasticsearch7,会出异常 no provider found for module storage

启动skywalking-oap容器

docker run \
--name skywalking-oap \
--restart always \
-p 11800:11800 \
-p 12800:12800 -d \
--privileged=true \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=your_es_ip:9200 \
-e SW_ES_USER=elastic \
-e SW_ES_PASSWORD=your_es_passwd \
-v /etc/localtime:/etc/localtime:ro \
your_harbor_addr/apache/skywalking-oap-server:10.2.0
docker exec -it skywalking-oap /bin/bash
docker stop  skywalking-oap
docker rm  skywalking-oap
docker logs -f skywalking-oap

如有兴趣可查看配置文件

docker cp  skywalking-oap:/skywalking/ /yourDir/skywalking/


安装skywalking-ui 

注意SW_OAP_ADDRESS配置,需要添加 "http://" 否则空指针异常:NullPointerException: authority

2025-05-21 07:43:29,114 com.linecorp.armeria.common.util.SystemInfo 525 [main] INFO  [] - IPv6: disabled (no IPv6 network interface)
Exception in thread "main" java.lang.NullPointerException: authorityat java.base/java.util.Objects.requireNonNull(Unknown Source)at com.linecorp.armeria.client.Endpoint.parse(Endpoint.java:100)

检查数据是否进入ES,SW开头的索引

启动skywalking-ui容器

docker run \
--name skywalking-ui \
--restart always \
-p 8091:8080 -d \
--privileged=true \
--link skywalking-oap:skywalking-oap \
-e SW_OAP_ADDRESS=http://your_oap_addr:12800 \
-v /etc/localtime:/etc/localtime:ro \
your_harbor_addr/apache/skywalking-ui:10.2.0
docker logs -f skywalking-ui
docker stop  skywalking-ui
docker rm  skywalking-ui


安装SWCK


具体可参考:https://skywalking.apache.org/zh/2022-04-19-how-to-use-the-java-agent-injector/

安装证书管理器(cert-manger)

wget https://github.com/jetstack/cert-manager/releases/download/v1.13.3/cert-manager.yaml
kubectl apply -f cert-manager.yaml


检查安装是否成功

kubectl get pod -n cert-manager

相关镜像        

        docker push your_harbor_addr/jetstack/cert-manager-cainjector:v1.3.1docker push your_harbor_addr/jetstack/cert-manager-controller:v1.3.1docker push your_harbor_addr/jetstack/cert-manager-webhook:v1.3.1


安装SWCK operator

mkdir swck & cd swck
wget https://archive.apache.org/dist/skywalking/swck/0.6.1/skywalking-swck-0.6.1-bin.tgz
tar -xvf skywalking-swck-0.6.1-bin.tgz


operator有个镜像需要修改

      gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0镜像缺失问题。由于国内无法下载,建议使用kubesphere/kube-rbac-proxy:v0.8.0替代

参考:
https://blog.csdn.net/shenghuiping2001/article/details/125354590

kubectl apply -f config/operator-bundle.yaml


检查安装是否成功

kubectl get pod -n skywalking-swck-system

部署oap和ui
这一步就省了,前面已使用Docker安装过了

修改configMap中的oap地址

kubectl edit configmap skywalking-swck-java-agent-configmap -n yourMicroServiceNamespaceyourOAPServerAddr:11800apiVersion: v1
data:agent.config: |-# The service name in UIagent.service_name=${SW_AGENT_NAME:Your_ApplicationName}# Backend service addresses.collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:yourOAPServerAddr:11800}plugin.mount=${SW_MOUNT_FOLDERS:plugins,activations,optional-plugins}apm-trace-ignore-plugin.config: |-trace.ignore_path=${SW_AGENT_TRACE_IGNORE_PATH:/yourMicroService/actuator/**,/actuator/**,/eureka/**,Lettuce/**,Gson/**,Mysql/**}


相关配置可参考:https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/configurations/#table-of-agent-configuration-properties


部署业务微服务应用


创建 yourMicroServiceNamespace 命名空间。

kubectl create namespace springboot-system


给 yourMicroServiceNamespace 命名空间打上标签使能 java 探针注入器

kubectl label namespace production swck-injection=enabled


配置微服务部署的yml文件

template:metadata:labels:swck-java-agent-injected: "true"  # enable the java agent injectorapp: demo-springbootannotations:strategy.skywalking.apache.org/agent.Overlay: "true"  # enable the agent overlayagent.skywalking.apache.org/collector.backend_service: "yourOAPServerAddr:11800"sidecar.skywalking.apache.org/initcontainer.Image: "your_harbor_addr/apache/skywalking-java-agent:8.8.0-java8"

  initcontainer.Image 在内网环境中无法下载apache/skywalking-java-agent,如果有HARBOR,修改一下配置即可。
  initcontainer相关配置可参考:https://skywalking.apache.org/docs/skywalking-swck/next/java-agent-injector/#configure-sidecar

kubectl apply -f springboot.yaml


查看部署情况

kubectl get pod -n yourMicroServiceNamespace


通过 JavaAgent 查看最终注入的 java 探针配置

kubectl get javaagent -n yourMicroServiceNamespace

相关configmap,你的APP所在的命名空间中也会出现一个

kubectl edit configmap skywalking-swck-java-agent-configmap -n skywalking-swck-system
kubectl edit configmap skywalking-swck-manager-config -n skywalking-swck-systemkubectl edit configmap operator-skywalking-helm-swck-operator-java-agent-configmap -n skywalking-swck-system


在 springboot-system 命名空间中部署 spring boot 应用。

 kubectl apply -f springboot.yaml


跑几百个请求试试

for i in {1..100}; do curl http://your_demo_addr/gateway/hello && echo ""; done


打开ui查看 yourUIAddr:8091
 

http://www.xdnf.cn/news/13224.html

相关文章:

  • 『uniapp』url拦截屏蔽 避免webview中打开淘宝店铺自动跳转淘宝
  • 腾讯开源 AniPortrait:音频驱动的逼真肖像动画生成革命
  • 【Java】Arrays.sort:DualPivotQuicksort
  • Spring AI MCP
  • AISHELL-5 全球首套智能驾舱中文语音交互数据集开源
  • 探秘鸿蒙 HarmonyOS NEXT:鸿蒙定时器,简单倒计时的场景应用
  • HAProxy 高可用部署方案详解
  • Blogx项目配置文件读取流程详解
  • echarts开发 | 数据可视化 -- 第一篇 echart配置项学习
  • 第13篇:数据库中间件缓存策略设计与热点数据优化实践
  • 华为云AI开发平台ModelArts
  • [小白]java之复杂JSON解析【超详细】
  • React19源码系列之合成事件机制
  • ARM内存理解(一)
  • Vim 高亮命令完整学习笔记
  • 实战案例-FPGA如何实现JESD204B确定性延迟
  • AIX智能下载器,轻松获取软件图标
  • 制作一款打飞机游戏69:编辑器升级
  • git常用操作3 替换仓库和分支管理
  • 3D图像渲染和threejs交互坐标系入门知识整理
  • Vim 列操作命令完整学习笔记
  • 力扣热题100之二叉树的层序遍历
  • 云原生核心技术 (2/12): Docker 入门指南——什么是容器?为什么它比虚拟机更香?
  • 大语言模型如何处理长文本?常用文本分割技术详解
  • PostgreSQL 的扩展pg_surgery
  • 基于区块链的供应链溯源系统:构建与实践
  • Git将本地文件推送到GitHub仓库
  • 51单片机读取PCF8563时钟芯片
  • 2025 高考:AI 都在哪些地方发挥了作用
  • 行为设计模式之Memento(备忘录)