Browse Source

[ADD] 新增ob业务proxy,ob-event部署

pujielan 1 year ago
parent
commit
3849a297d2

+ 2 - 0
ngx-proxy/1.sh

@@ -0,0 +1,2 @@
+docker build -t reg.cestong.com.cn/cecf/observe-server/nginx:1.14.12 .
+docker push reg.cestong.com.cn/cecf/observe-server/nginx:1.14.12

+ 8 - 0
ngx-proxy/Dockerfile

@@ -0,0 +1,8 @@
+From docker.io/library/nginx:1.14.0
+
+COPY default.conf /etc/nginx/conf.d/default.conf
+COPY obui.conf /etc/nginx/conf.d/obui.conf
+COPY obf.conf /etc/nginx/conf.d/obf.conf
+COPY grafana.conf /etc/nginx/conf.d/grafana.conf
+
+

+ 28 - 0
ngx-proxy/default.conf

@@ -0,0 +1,28 @@
+server {
+    listen       80;
+    server_name  _;
+
+    #charset koi8-r;
+    #access_log  /var/log/nginx/host.access.log  main;
+
+    #add_header 'Access-Control-Allow-Origin' '*';  
+    #add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, OPTIONS';  
+    #add_header 'Access-Control-Allow-Headers' '*';  
+    #add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
+
+    add_header 'Access-Control-Allow-Origin' '*';
+    add_header 'Access-Control-Allow-Credentials' 'true';
+    add_header Cache-Control private;
+    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
+    add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
+
+    location / {
+        if ($request_method = 'OPTIONS') {
+                return 204;
+        }
+        proxy_pass  http://otel-collector-opentelemetry-collector.observe.svc.cluster.local:4318;
+        proxy_set_header Host $host;  
+        proxy_set_header X-Real-IP $remote_addr;  
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+}

+ 26 - 0
ngx-proxy/deployment.yaml

@@ -0,0 +1,26 @@
+apiVersion: apps/v1  
+kind: Deployment  
+metadata:  
+  name: ngx-otel-proxy
+  namespace: observe
+spec:  
+  replicas: 1
+  selector:  
+    matchLabels:  
+      app: nginx  
+  template:  
+    metadata:  
+      labels:  
+        app: nginx  
+    spec:  
+      containers:  
+      - name: nginx  
+        image: reg.cestong.com.cn/cecf/observe-server/nginx:1.14.12
+        imagePullPolicy: IfNotPresent
+        resources:
+          limits:
+            cpu: "100m"
+          requests:
+            cpu: "50m"
+        ports:  
+        - containerPort: 80

+ 28 - 0
ngx-proxy/grafana.conf

@@ -0,0 +1,28 @@
+server {
+    listen       80;
+    server_name  grafana.cestong.com.cn;
+
+    #charset koi8-r;
+    #access_log  /var/log/nginx/host.access.log  main;
+
+    #add_header 'Access-Control-Allow-Origin' '*';  
+    #add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, OPTIONS';  
+    #add_header 'Access-Control-Allow-Headers' '*';  
+    #add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
+
+    add_header 'Access-Control-Allow-Origin' '*';
+    add_header 'Access-Control-Allow-Credentials' 'true';
+    add_header Cache-Control private;
+    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
+    add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
+
+    location / {
+        if ($request_method = 'OPTIONS') {
+                return 204;
+        }
+        proxy_pass  http://grafana.observe.svc.cluster.local;
+        proxy_set_header Host $host;  
+        proxy_set_header X-Real-IP $remote_addr;  
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+}

+ 14 - 0
ngx-proxy/ngx-svc.yaml

@@ -0,0 +1,14 @@
+apiVersion: v1  
+kind: Service  
+metadata:  
+  name: ngx-otel-proxy
+  namespace: observe
+spec:  
+  type: NodePort
+  selector:  
+    app: nginx  
+  ports:  
+  - protocol: TCP  
+    port: 80  
+    targetPort: 80
+    nodePort: 30080

+ 20 - 0
ngx-proxy/ngx_cors_grafana.yaml

@@ -0,0 +1,20 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: cors-grafana
+  namespace: observe
+spec:
+  ingressClassName: nginx
+  rules:
+  - host: grafana.cestong.com.cn
+    http:
+      paths:
+      - backend:
+          service:
+            name: ngx-otel-proxy
+            port:
+              number: 80
+        path: /
+        pathType: Prefix
+status:
+  loadBalancer: {}

+ 42 - 0
ngx-proxy/obf.conf

@@ -0,0 +1,42 @@
+server {
+    listen       80;
+    server_name  observe-front.cestong.com.cn;
+
+    #charset koi8-r;
+    #access_log  /var/log/nginx/host.access.log  main;
+
+    #add_header 'Access-Control-Allow-Origin' '*';  
+    #add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, OPTIONS';  
+    #add_header 'Access-Control-Allow-Headers' '*';  
+    #add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
+
+    location / {
+        proxy_pass  http://obf.observe.svc.cluster.local:80;
+        proxy_set_header Host $host;  
+        proxy_set_header X-Real-IP $remote_addr;  
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+
+    location /ui {
+        add_header 'Access-Control-Allow-Origin' '*';
+        add_header 'Access-Control-Allow-Credentials' 'true';
+        add_header Cache-Control private;
+        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
+        add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
+        if ($request_method = 'OPTIONS') {
+                return 204;
+        }
+        proxy_pass  http://obui.observe.svc.cluster.local:80;
+        rewrite ^/ui/(.*)$ /$1 break;
+
+        proxy_set_header Host $host;  
+        proxy_set_header X-Real-IP $remote_addr;  
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+    }
+
+    location /re {
+        proxy_pass http://ob-server.observe.svc.cluster.local;
+        rewrite ^/re/(.*)$ /$1 break;
+    }
+}

+ 32 - 0
ngx-proxy/obui.conf

@@ -0,0 +1,32 @@
+server {
+    listen       80;
+    server_name  observe-ui.cestong.com.cn;
+
+    #charset koi8-r;
+    #access_log  /var/log/nginx/host.access.log  main;
+
+    #add_header 'Access-Control-Allow-Origin' '*';  
+    #add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, OPTIONS';  
+    #add_header 'Access-Control-Allow-Headers' '*';  
+    #add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
+
+    location / {
+        add_header 'Access-Control-Allow-Origin' '*';
+        add_header 'Access-Control-Allow-Credentials' 'true';
+        add_header Cache-Control private;
+        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
+        add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
+        if ($request_method = 'OPTIONS') {
+                return 204;
+        }
+        proxy_pass  http://obui.observe.svc.cluster.local:80;
+        proxy_set_header Host $host;  
+        proxy_set_header X-Real-IP $remote_addr;  
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+
+    location /re {
+        proxy_pass http://ob-server.observe.svc.cluster.local;
+        rewrite ^/re/(.*)$ /$1 break;
+    }
+}

+ 45 - 0
ob-event/deployment.yaml

@@ -0,0 +1,45 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: ob-event
+  namespace: observe
+  labels:
+    app.kubernetes.io/name: ob-event
+spec:
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: ob-event
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/name: ob-event
+    spec:
+      containers:
+        - name: ob-event
+          image: reg.cestong.com.cn/cecf/observe-server
+          imagePullPolicy: Always
+          command: ["/app/observe", "alert", "-c", "/app/settings.yml"]
+          securityContext:
+            allowPrivilegeEscalation: false
+              #runAsGroup: ''
+          env:
+            - name: TZ
+              value: "Asia/Shanghai"
+            - name: "RULECHANLENGTH"
+              value: "200"
+            - name: "INTERVAL"
+              value: "30"
+            - name: "GORUNTIMES"
+              value: "200"
+            - name: "MAXRETRY"
+              value: "0"
+          volumeMounts:
+          - name: cm-settings
+            mountPath: /app/settings.yml
+            subPath: settings.yaml
+      volumes:
+      - name: cm-settings
+        configMap:
+          name: ob-server-settings