zoukankan      html  css  js  c++  java
  • skywalking/8.5部署

    制作镜像

    OAP镜像

    # cat oap/Dockerfile 
    FROM apache/skywalking-oap-server:8.5.0-es7
    # 时区修改为东八区
    RUN apk add --no-cache tzdata
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
     
    # docker build -t registry-vpc.cn-beijing.aliyuncs.com/hmy_repo/oap:8.5 .
    #上传到私由仓库
    # docker push registry-vpc.cn-beijing.aliyuncs.com/hmy_repo/oap:8.5
    

    UI镜像

    # cat ui/Dockerfile 
    FROM apache/skywalking-ui:8.5.0
     
    # 时区修改为东八区
    RUN apk add --no-cache tzdata
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
     
    # docker build -t registry-vpc.cn-beijing.aliyuncs.com/hmy_repo/oap-ui-8.5-v1 .
    #上传到私由仓库
    # docker push registry-vpc.cn-beijing.aliyuncs.com/hmy_repo/oap-ui-8.5-v1
    

    Agent镜像

    agent 下载地址没有变动项:https://archive.apache.org/dist/skywalking/8.5.0/apache-skywalking-apm-es7-8.5.0.tar.gz

    # cat Dockerfile 
    FROM alpine:3
     
    # 时区修改为东八区
    RUN apk add --no-cache tzdata
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
     
    ENV LANG=C.UTF-8
     
    RUN set -eux && mkdir -p /data
      
    ADD agent /data/agent
      
    WORKDIR /
    
    # docker build -t registry-vpc.cn-beijing.aliyuncs.com/hmy_repo/skywalking-agent:8.5 .
    #上传到私由仓库
    # docker push registry-vpc.cn-beijing.aliyuncs.com/hmy_repo/skywalking-agent:8.5
    

    部署skywalking服务

    部署oap

    # cat oap.yaml 
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: skywalking-oap
      namespace: skywalking
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: skywalking-oap
      namespace: skywalking
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: skywalking-oap
    subjects:
    - kind: ServiceAccount
      name: skywalking-oap
      namespace: skywalking
    ---
    kind: Role
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      namespace: skywalking
      name: skywalking-oap
    rules:
    - apiGroups: [""]
      resources: ["pods"]
      verbs: ["get", "watch", "list"]
    
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: oap  
        release: oap
      name: oap
      namespace: skywalking
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: oap
          release: oap
      template:
        metadata:     
          labels:
            app: oap
            release: oap
        spec:
          imagePullSecrets:
            - name: harborsecret
          containers:
          - env:
            - name: JAVA_OPTS
              #value: -Dmode=no-init -Xmx2g -Xms2g
              value: -Xmx2g -Xms2g
            - name: SW_CLUSTER
              value: kubernetes
            - name: SW_CLUSTER_K8S_NAMESPACE   #集群命名空间
              value: skywalking
            - name: SW_CLUSTER_K8S_LABEL
              value: app=oap,release=oap
            - name: SKYWALKING_COLLECTOR_UID
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.uid
            - name: SW_STORAGE        #存储类型
              value: elasticsearch7
            - name: SW_STORAGE_ES_CLUSTER_NODES   #es地址
              value: 172.17.226.61:9200
    #        - name: SW_ES_USER
    #          value: ""
    #        - name: SW_ES_PASSWORD
    #          value: ""
            image: registry.cn-beijing.aliyuncs.com/hmy_repo/oap:8.5v1
            imagePullPolicy: Always
            livenessProbe:
              failureThreshold: 3
              initialDelaySeconds: 15
              periodSeconds: 20
              successThreshold: 1
              tcpSocket:
                port: 12800
              timeoutSeconds: 1
            name: oap
            ports:
            - containerPort: 11800
              name: grpc
              protocol: TCP
            - containerPort: 12800
              name: rest
              protocol: TCP
            readinessProbe:
              failureThreshold: 3
              initialDelaySeconds: 15
              periodSeconds: 20
              successThreshold: 1
              tcpSocket:
                port: 12800
              timeoutSeconds: 1
          initContainers:
          - command:
            - sh
            - -c
            - for i in $(seq 1 60); do nc -z -w3 172.17.226.61 9200 && exit 0 || sleep
              5; done; exit 1
            image: busybox:1.30
            imagePullPolicy: Always
            name: wait-for-elasticsearch
          restartPolicy: Always
          serviceAccount: skywalking-oap
          serviceAccountName: skywalking-oap
    ---
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: oap
      name: oap-svc
      namespace: skywalking
    spec:
      ports:
      - name: rest
        port: 12800
        protocol: TCP
        targetPort: 12800
      - name: grpc
        port: 11800
        protocol: TCP
        targetPort: 11800
      selector:
        app: oap
      sessionAffinity: None
      type: ClusterIP
    

    部署ui

    # cat ui.yaml 
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: ui
        release: ui
      name: ui
      namespace: skywalking
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: ui
          release: ui
      template:
        metadata:
          labels:
            app: ui
            release: ui
        spec:
          imagePullSecrets:
            - name: harborsecret
          containers:
          - env:
            - name: SW_OAP_ADDRESS   #oap地址
              value: oap-svc:12800
            - name: security.user.admin.password   #账号密码
              value: admin
            image: registry-vpc.cn-beijing.aliyuncs.com/hmy_repo/oap-ui-8.5-v1:latest
            imagePullPolicy: Always
            name: ui
            ports:
            - containerPort: 8080
              name: page
              protocol: TCP
    ---
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: ui
      name: ui-svc
      namespace: skywalking
    spec:
      externalTrafficPolicy: Cluster
      ports:
      - nodePort: 31234
        port: 80
        protocol: TCP
        targetPort: 8080
      selector:
        app: ui
      sessionAffinity: None
      type: NodePort
    

    查看获取对于的ui

    kubectl get svc -n skywalking 
    skywalking    ui-svc                      NodePort    10.68.98.32     <none>        80:31234/TCP             53s
    

    集成sidecar

    # cat x-admin.yaml
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: x-admin
      namespace: skywalking
      labels: 
        app: x-admin
    spec: 
      replicas: 1
      selector:
        matchLabels:
          app: x-admin
      template:
        metadata:
          labels:
            app: x-admin
        spec:
          imagePullSecrets:
            - name: harborsecret
          initContainers:
            - name: sidecar
              image: registry-vpc.cn-beijing.aliyuncs.com/hmy_repo/skywalking-agent:8.5 # 容器镜像,包含静态资源文件
              imagePullPolicy: Always
              command: ["cp", "-r", "/data/agent", "/sidecar"]
              volumeMounts:
                - name: sidecar
                  mountPath: /sidecar
          containers:
            - name: x-admin
              image: registry.cn-beijing.aliyuncs.com/hmy_repo/x-admin:master-33
              imagePullPolicy: Always
              env:
                - name: JAVA_TOOL_OPTIONS
                  value: -javaagent:/sidecar/agent/skywalking-agent.jar
                - name: SW_AGENT_NAME
                  value: x-admin
                - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES    #oap地址
                  value: oap-svc:11800
              resources:
                limits:
                  memory: "1Gi"
                requests:
                  memory: "1Gi"
              ports:
                - name: http
                  containerPort: 8080
                  protocol: TCP
              volumeMounts:
                - name: date
                  mountPath: /etc/localtime
                - name: sidecar
                  mountPath: /sidecar
          volumes:
            - name: date
              hostPath:
                path: /etc/localtime
            - name: sidecar  #共享agent文件夹
              emptyDir: {}
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: x-admin-svc
      namespace: skywalking
      labels:
        app: x-admin
    spec:
      sessionAffinity: "ClientIP"
      ports:
        - name: http
          port: 8080
          protocol: TCP
          targetPort: 8080
          nodePort: 30836
      selector:
        app: x-admin
      type: NodePort
    
    如果当你发现自己的才华撑不起野心时,那就请你安静下来学习
  • 相关阅读:
    《玩转.NET Micro Framework 移植基于STM32F10x处理器》内容介绍
    《玩转.NET Micro Framework 移植基于STM32F10x处理器》前言
    《玩转.NET Micro Framework 移植基于STM32F10x处理器》内容介绍
    《玩转.NET Micro Framework 移植基于STM32F10x处理器》微软中国.NET Micro Framework项目组工程师所作之序
    《玩转.NET Micro Framework 移植基于STM32F10x处理器》资源汇总
    《玩转.NET Micro Framework 移植基于STM32F10x处理器》微软中国.NET Micro Framework项目组工程师所作之序
    《玩转.NET Micro Framework 移植基于STM32F10x处理器》前言
    Windows、Linux、ARM、Android、iOS全平台支持的RTMP推流组件libEasyRTMP库接口调用说明
    简单高效易用Windows/Linux/ARM/Android/iOS平台实现RTMP推送组件EasyRTMPAndroid MediaCodec硬编码流程介绍
    RTSP网络监控摄像头如何实现Windows、Linux、ARM、Android、iOS全平台支持的拉RTSP流推出RTMP直播流?
  • 原文地址:https://www.cnblogs.com/haozheyu/p/15593888.html
Copyright © 2011-2022 走看看