skywalking-oap-server

https://hub.docker.com/r/apache/skywalking-oap-server

apiVersion: v1
kind: Service
metadata:
  name: skywalking-oap-server-svc
  annotations:
    kubesphere.io/alias-name: Skywalking 服务端
    kubesphere.io/description: Skywalking 服务端
spec:
  ports:
    - name: tcp-1234
      port: 1234
      protocol: TCP
      targetPort: 1234
    - name: tcp-11800
      port: 11800
      protocol: TCP
      targetPort: 11800
    - name: tcp-12800
      port: 12800
      protocol: TCP
      targetPort: 12800
  selector:
    app: skywalking-oap-server
  type: NodePort
---
kind: Deployment
apiVersion: apps/v1
metadata:
  name: skywalking-oap-server-deploy
  annotations:
    kubesphere.io/alias-name: Skywalking 服务端
    kubesphere.io/description: Skywalking 服务端
spec:
  replicas: 1
  selector:
    matchLabels:
      app: skywalking-oap-server
  template:
    metadata:
      labels:
        app: skywalking-oap-server
    spec:
      containers:
        - name: skywalking-oap-server
          image: 'apache/skywalking-oap-server:9.3.0'
          ports:
            - containerPort: 1234
              protocol: TCP
            - containerPort: 11800
              protocol: TCP
            - containerPort: 12800
              protocol: TCP
          #env:
          #  - name: SW_STORAGE
          #    value: elasticsearch
          #  - name: SW_STORAGE_ES_CLUSTER_NODES
          #     value: elasticsearch:9200
          imagePullPolicy: Always

使用 kubectl 执行如下命令部署 mindoc 服务 :

kubectl create -f skywalking-server.yaml --namespace=你的命名空间

kubectl create -f skywalking-server.yaml --namespace=dw-prod

skywalking-ui

https://hub.docker.com/r/apache/skywalking-ui

---
apiVersion: v1
kind: Service
metadata:
  name: skywalking-ui-svc
  namespace: dw-dev
  annotations:
    kubesphere.io/alias-name: Skywalking UI
    kubesphere.io/description: Skywalking UI
spec:
  ports:
    - name: tcp-8080
      port: 8080
      protocol: TCP
      targetPort: 8080
  selector:
    app: skywalking-ui
  type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: skywalking-ui-deploy
  namespace: dw-dev
  annotations:
    kubesphere.io/alias-name: Skywalking UI
    kubesphere.io/description: Skywalking UI
  labels:
    app: skywalking-ui
spec:
  replicas: 1
  selector:
    matchLabels:
      app: skywalking-ui
  template:
    metadata:
      labels:
        app: skywalking-ui
    spec:
      containers:
        - name: skywalking-ui
          ports:
            - containerPort: 8080
          image: 'apache/skywalking-ui'
          env:
            - name: SW_OAP_ADDRESS
              value: 'http://192.168.3.27:30357'
            - name: SW_TIMEOUT
              value: '20000'
          imagePullPolicy: Always

使用 kubectl 执行如下命令部署 mindoc 服务 :

kubectl create -f skywalking-ui.yaml --namespace=你的命名空间

kubectl create -f skywalking-ui.yaml --namespace=dw-prod

项目配置 skywalking

            - name: JAVA_TOOL_OPTIONS
              value: >-
                -Xms256M -Xmx512M -XX:MaxMetaspaceSize=192M
                -XX:MetaspaceSize=192M -XX:+PrintGCDetails
                -XX:+PrintGCTimeStamps -XX:GCLogFileSize=20m
                -XX:+HeapDumpOnOutOfMemoryError
                -XX:HeapDumpPath=/logs/heaperror.log -Xloggc:/logs/gcerror.log
                -javaagent:/skywalking/agent/skywalking-agent.jar
                -Dskywalking.agent.service_name=tianyin-edu-bizapi
                -Dskywalking.collector.backend_service=192.168.3.27:30400

核心是在JAVA_TOOL_OPTIONS 变量增加一下内容,其中backend_service 指向 skywalking 的服务接口:

-javaagent:/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=tianyin-edu-bizapi -Dskywalking.collector.backend_service=192.168.3.27:30400

你也可以搭建skywalking的集群环境,步骤如下:

搭建一个 SkyWalking 集群环境,步骤如下:

第一步,搭建一个 Elasticsearch 服务的集群。
第二步,搭建一个注册中心的集群。目前 SkyWalking 支持 ZookeeperKubernetesConsulNacos 作为注册中心。
第三步,搭建一个 SkyWalking OAP 服务的集群,同时参考《SkyWalking 文档 —— 集群管理》,将 SkyWalking OAP 服务注册到注册中心上。
第四步,启动一个 Spring Boot 应用,并配置 SkyWalking Agent。另外,在设置 SkyWaling AgentSW_AGENT_COLLECTOR_BACKEND_SERVICES 地址时,需要设置多个 SkyWalking OAP 服务的地址数组。
第五步,搭建一个 SkyWalking UI 服务的集群,同时使用 Nginx 进行负载均衡。另外,在设置 SkyWalking UIcollector.ribbon.listOfServers 地址时,也需要设置多个 SkyWalking OAP 服务的地址数组。

设置告警等。

参考:

https://skywalking.apache.org/zh/2020-04-19-skywalking-quick-start/

https://www.jianshu.com/p/5524b4545421

https://www.jianshu.com/p/5bb6e9d289c8

作者:Jeebiz  创建时间:2023-02-03 14:35
最后编辑:Jeebiz  更新时间:2023-04-12 12:19