SkyWalking 10.2.0 SWCK 配置过程

news2025/6/12 22:32:24

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: authority
        at 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.1
        docker push your_harbor_addr/jetstack/cert-manager-controller:v1.3.1
        docker 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 yourMicroServiceNamespace

yourOAPServerAddr:11800

apiVersion: v1
data:
  agent.config: |-
    # The service name in UI
    agent.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 injector
        app: demo-springboot
      annotations:
        strategy.skywalking.apache.org/agent.Overlay: "true"  # enable the agent overlay
        agent.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-system

kubectl 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.coloradmin.cn/o/2407978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…

【kafka】Golang实现分布式Masscan任务调度系统

要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…

docker详细操作--未完待续

docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…

python打卡day49

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…

大话软工笔记—需求分析概述

需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…