导语:对skywalking不了解,想在k8s里搭建skywalking玩一下。

采用默认的h2存储数据,尝鲜用。后续可以换成mysql或者es。以下步骤难免有不严谨或者出错的地方。

mkdir -p /srv/skywalking

# 创建skywalking-oap.yml  namespace 自行修改
cat > skywalking-oap.yml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: oap
  namespace: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: oap
      release: skywalking
  template:
    metadata:
      labels:
        app: oap
        release: skywalking
    spec:
      containers:
        - name: oap
          image: apache/skywalking-oap-server:8.3.0-es7
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 11800
              name: grpc
            - containerPort: 12800
              name: rest
---
apiVersion: v1
kind: Service
metadata:
  name: oap
  namespace: test
  labels:
    service: oap
spec:
  ports:
    - port: 12800
      name: rest
      nodePort: 30128
    - port: 11800
      name: grpc
      nodePort: 30118
  type: NodePort
  selector:
    app: oap
EOF

# 创建skywalking-ui.yml
cat > skywalking-ui.yml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ui-deployment
  namespace: test
  labels:
    app: ui
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ui
  template:
    metadata:
      labels:
        app: ui
    spec:
      containers:
        - name: ui
          image: apache/skywalking-ui:6.6.0
          ports:
            - containerPort: 8080
              name: page
          env:
            - name: SW_OAP_ADDRESS
              value: oap:12800
---
apiVersion: v1
kind: Service
metadata:
  name: ui
  namespace: test
  labels:
    service: ui
spec:
  ports:
    - port: 8080
      name: page
      nodePort: 31008
  type: NodePort
  selector:
    app: ui
EOF

用来测试的java项目是在k8s集群外的 所以我oap的11800端口就采用nodeport方式放出去了。如果是集群内的话 svc用如下配置应该就可以了

---
apiVersion: v1
kind: Service
metadata:
  name: ui
  namespace: test
  labels:
    service: ui
spec:
  ports:
    - port: 8080
      name: page
      nodePort: 31008
  type: NodePort
  selector:
    app: ui

启动oap和ui

kubectl apply -f ./

查看ui界面

启动jar包测试

java -jar -javaagent:/opt/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar  -Dskywalking.agent.service_name=test-servicecenter -Dskywalking.collector.backend_service=192.168.1.205:30118      ihaozhuo-servicecenter-6.0.1-SNAPSHOT.jar   --spring.profiles.active=test

再次刷新界面

获取到了代码里使用的数据库信息

服务已经注册上,但是只起了一个jar 具体调用和拓扑相关还没有。等待后续正式投入测试之后查看。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐