Procházet zdrojové kódy

Feature #TASK_QT-15938 EBPF-euspace容器化部署-Dockerfile & cloudwise-apm-euspace.yaml

Tom.Li před 1 rokem
rodič
revize
2a53e50840
2 změnil soubory, kde provedl 111 přidání a 14 odebrání
  1. 21 14
      Dockerfile
  2. 90 0
      cloudwise-apm-euspace.yaml

+ 21 - 14
Dockerfile

@@ -1,14 +1,21 @@
-FROM golang:1.21-bullseye AS builder
-RUN apt update && apt install -y libsystemd-dev
-WORKDIR /tmp/src
-COPY go.mod .
-COPY go.sum .
-RUN go mod download
-COPY . .
-ARG VERSION=unknown
-RUN CGO_ENABLED=1 go build -mod=readonly -ldflags "-X main.version=$VERSION" -o coroot-node-agent .
-
-FROM debian:bullseye
-RUN apt update && apt install -y ca-certificates && apt clean
-COPY --from=builder /tmp/src/coroot-node-agent /usr/bin/coroot-node-agent
-ENTRYPOINT ["coroot-node-agent"]
+FROM ubuntu:22.04
+
+ARG EUSPACE_BASE_PATH=/opt/cloudwise/apm/euspace
+RUN mkdir -p $EUSPACE_BASE_PATH
+
+#拷贝安装目录结构
+ADD ./dist/package_dir/  $EUSPACE_BASE_PATH/
+
+ARG EUSPACE_BIN_PATH=$EUSPACE_BASE_PATH/bin
+
+# 拷贝euspace可执行文件
+COPY ./euspace $EUSPACE_BIN_PATH/
+
+# 设置工作目录
+WORKDIR $EUSPACE_BIN_PATH
+
+# 设置PATH变量
+ENV PATH=$PATH:$EUSPACE_BIN_PATH
+
+ENTRYPOINT ["euspace"]
+

+ 90 - 0
cloudwise-apm-euspace.yaml

@@ -0,0 +1,90 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: cloudwise-apm
+---
+apiVersion: apps/v1
+kind: DaemonSet
+metadata:
+  name: cloudwise-apm-euspace
+  namespace: cloudwise-apm
+spec:
+  selector:
+    matchLabels:
+      app: cloudwise-apm-euspace
+  template:
+    metadata:
+      annotations:
+        container.apparmor.security.beta.kubernetes.io/cloudwise-apm-euspace: unconfined
+      labels:
+        app: cloudwise-apm-euspace
+    spec:
+      hostPID: true
+      nodeSelector: 
+        kubernetes.io/os: linux
+        kubernetes.io/arch: amd64
+      containers:
+        - name: cloudwise-apm-euspace
+          image: harbor.cloudwise.com/apm/euspace_dev:1.0
+          imagePullPolicy: Always
+        # imagePullPolicy: IfNotPresent  
+          args: ["--listen", "0.0.0.0:8123", "--cgroupfs-root", "/host/sys/fs/cgroup","--run-in-container"]
+          ports:
+            - containerPort: 8123
+              name: http
+          securityContext:
+            privileged: true
+            runAsUser: 0
+          volumeMounts:
+            - name: sys-fs-cgroup
+              mountPath: /host/sys/fs/cgroup
+              readOnly: true
+            - name: sys-kernel-debug
+              mountPath: /sys/kernel/debug
+              readOnly: true
+            - name: host-usr
+              mountPath: /host/usr
+              readOnly: true
+              mountPropagation: HostToContainer
+            - name: host-var
+              mountPath: /host/var
+              readOnly: false
+              mountPropagation: HostToContainer
+            - name: host-run
+              mountPath: /host/run
+              readOnly: false
+              mountPropagation: HostToContainer
+            - name: host-tmp
+              mountPath: /host/tmp
+              readOnly: false
+              mountPropagation: HostToContainer    
+          env:
+            - name: SEND
+              value: '1'
+            - name: TRACES_ENDPOINT
+              value: 'http://10.0.16.250:18080/docp/api/v2/data/receive'
+            - name: FILTER_PID
+              value: ''
+      volumes:
+        - name: sys-fs-cgroup
+          hostPath:
+            path: /sys/fs/cgroup
+        - name: sys-kernel-debug
+          hostPath:
+            path: /sys/kernel/debug
+        - name: host-usr
+          hostPath:
+            path: /usr  
+            type: Directory
+        - name: host-var
+          hostPath:
+            path: /var
+            type: Directory
+        - name: host-run
+          hostPath:
+            path: /run
+            type: Directory
+        - name: host-tmp
+          hostPath:
+            path: /tmp
+            type: Directory