1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

skywalking接入容器及k8s

skywalking监控容器化应用

随着容器化和k8s的日益增多,skywalking监控容器化应用也成为趋势,skywalking也支持三种方式对容器化应用进行监控,如下详细描述三种方式:

skywalking接入容器及k8s

  • 使用官方提供的基础镜像: 使用官方原生镜像:FROMapache/skywalking-java-agent:8.5.0-jdk8直接使用CMD或启动Java应用程序ENTRYPOINT,不需要关心启用SkyWalking代理的Java选项,它会被自动采用。
  • 将agent包构建到已经存在的基础镜像中: 将agent包构建到已经存在的基础镜像中,提供这种方式的原因是:官方的镜像属于精简镜像,并且是openjdk,可能很多命令没有,需要自己二次安装。
  • sidecar模式挂在agent: 如果微服务是直接部署在Kubernetes集群,那么采用sidecar模式来使用SkyWalkingAgent会更加方便。因为这种方式不需要修改原来的基础镜像,也不需要重新构建新的服务镜像,而是会以sidecar模式,通过共享的volume将agent所需的相关文件直接挂载到已经存在的服务镜像中。

skywalking接入容器及k8s

上面已经简单介绍了skywalking监控容器化应用,接下来将详细描述如何将skywalking接入到容器及k8s中:

  1. 使用官方提供的基础镜像: 直接使用官方原生镜像:FROMapache/skywalking-java-agent:8.5.0-jdk8即可。
  2. 将agent包构建到已经存在的基础镜像中: 下载skywalking官方发行包,并解压:
    wget https://dlcdn.apache.org/skywalking/java-agent/8.8.0/apache-skywalking-java-agent-8.8.0.tgz && tar -zxvf apache-skywalking-java-agent-8.8.0.tgz
    通过Dockerfile构建基础镜像:


    FROM alpine:3.8
    ENV LANG=C.UTF-8
    RUN set -eux && \
    apk update && \
    apk upgrade && \
    wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.30-r0/glibc-2.30-r0.apk && \
    apk --no-cache add unzip vim curl git bash ca-certificates glibc-2.30-r0.apk file && \
    rm -rf /var/lib/apk/* && \
    mkdir -p /usr/skywalking/agent/\
    # A streamlined jre
    ADD jdk1.8.0_221/ /usr/java/jdk1.8.0_221/
    ADD apache-skywalking-apm-bin/agent/ /usr/skywalking/agent/
    # set env
    ENV JAVA_HOME /usr/java/jdk1.8.0_221
    ENV PATH ${PATH}:${JAVA_HOME}/bin

  3. sidecar模式挂在agent: 下载skywalking官方发行包,并解压:
    wget https://dlcdn.apache.org/skywalking/java-agent/8.8.0/apache-skywalking-java-agent-8.8.0.tgz && tar -zxvf apache-skywalking-java-agent-8.8.0.tgz
    通过Dockerfile构建镜像:


    FROM busybox:latest
    ENV LANG=C.UTF-8
    RUN set -eux && mkdir -p /usr/skywalking/agent/
    ADD apache-skywalking-apm-bin/agent/ /usr/skywalking/agent/
    WORKDIR /

通过以上步骤,即可将skywalking接入到容器及k8s中进行应用程序监控。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6277.html