Skip to content

资源清单

skywalking-oap-server

deploy.yml

  • 官网教程:连接开启tls的es
  • es的ca.crt转换成jks文件: keytool -import -trustcacerts -keystore keystore.jks -storepass changeit -alias myca -file ca.crt
  • 已知10.1.0存在的问题:es密码使用纯数字会报错,必须使用字符串 java.lang.IllegalArgumentException: Can not set java.lang.String field org.apache.skywalking.oap.server.storage.plugin.elasticsearch.StorageModuleElasticsearchConfig.password to java.lang.Integer
yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: skywalking-oap
  namespace: middleware  # 建议创建一个单独的命名空间
spec:
  replicas: 1  # 根据需要调整副本数
  selector:
    matchLabels:
      app: skywalking-oap
  template:
    metadata:
      labels:
        app: skywalking-oap
    spec:
      containers:
      - name: skywalking-oap
        image: apache/skywalking-oap-server:10.1.0
        ports:
        - containerPort: 11800 # gRPC 端口
          name: grpc
        - containerPort: 12800 # HTTP 端口
          name: http
        env:
        - name: SW_STORAGE
          value: elasticsearch
        - name: SW_ES_USER
          value: elastic
        - name: SW_ES_PASSWORD
          value: xxxxx
        - name: SW_STORAGE_ES_CLUSTER_NODES
          value: elasticsearch-master.middleware.svc.cluster.local:9200 # 改成自己的es服务地址
        - name: SW_STORAGE_ES_HTTP_PROTOCOL
          value: https
        - name: SW_STORAGE_ES_SSL_JKS_PATH
          value: /etc/skywalking/certs/keystore.jks  # 证书文件在容器内的路径
        - name: SW_STORAGE_ES_SSL_JKS_PASS
          value: "changeit"
        # 配置OpenTelemetry Receiver
        - name: SW_OTEL_RECEIVER
          value: default
        - name: SW_OTEL_RECEIVER_ENABLED_HANDLERS
          value: "otlp-metrics"
        volumeMounts:
        - name: es-keystore
          mountPath: /etc/skywalking/certs/
          readOnly: true
      volumes:
      - name: es-keystore
        secret:
          secretName: es-keystore

service.yml

yml
apiVersion: v1
kind: Service
metadata:
  name: skywalking-oap
  namespace: middleware
spec:
  selector:
    app: skywalking-oap
  ports:
  - protocol: TCP
    port: 11800
    targetPort: grpc
    name: grpc
  - protocol: TCP
    port: 12800
    targetPort: http
    name: http
  type: ClusterIP

skywalking-ui

deploy.yml

yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: skywalking-ui
  namespace: middleware
  labels:
    app: skywalking-ui
spec:
  replicas: 1
  selector:
    matchLabels:
      app: skywalking-ui
  template:
    metadata:
      labels:
        app: skywalking-ui
    spec:
      containers:
        - name: skywalking-ui
          image: apache/skywalking-ui:10.1.0
          ports:
            - containerPort: 8080  # UI 监听的端口
          env:
            - name: SW_OAP_ADDRESS
              value: http://skywalking-oap.middleware.svc.cluster.local:12800  # 替换为你的 OAP 地址和端口
          resources:
            requests:
              cpu: 200m  # 根据需要调整
              memory: 256Mi  # 根据需要调整
            limits:
              cpu: 500m  # 根据需要调整
              memory: 512Mi  # 根据需要调整

service.yml

yml
apiVersion: v1
kind: Service
metadata:
  name: skywalking-ui
  namespace: middleware  # 替换为你的命名空间
  labels:
    app: skywalking-ui
spec:
  type: ClusterIP  # 可以根据需要更改为 NodePort 或 LoadBalancer
  selector:
    app: skywalking-ui
  ports:
    - port: 80  # Service 的端口
      targetPort: 8080  # 容器的端口 (与 Deployment 中定义的 containerPort 匹配)
      protocol: TCP
      name: http