美文网首页我是程序员阿里云Docker与Kubernetes
容器服务Windows Kubernetes使用阿里云日志服务来

容器服务Windows Kubernetes使用阿里云日志服务来

作者: 阿里云云栖号 | 来源:发表于2019-06-20 16:02 被阅读34次

    目前,容器服务Windows Kubernetes支持将业务容器产生的stdout输出、日志文件同步到阿里云日志服务(SLS)进行统一管理。

    支撑组件安装

    Windows Kubernetes集群安装界面勾选使用日志服务,集群会安装支持日志收集的必要组件logtail

    集群安装完毕后,可以在日志服务控制台 查看到按k8s-sls-{Kubernetes 集群 ID}形式命名的工程。收集到的业务容器日志都会放在该工程下。

    使用YAML模版部署业务容器

    YAML 模板的语法同 Kubernetes 语法,但是为了给容器指定采集配置,需要使用 env 来为 container 增加采集配置和自定义 Tag,并根据采集配置,创建对应的 volumeMounts 和 volumns。以下是一个简单的 Deployment 示例:

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      labels:
        app: logtail-test
      name: logtail-test
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            app: logtail-test
          name: logtail-test
        spec:
          containers:
          - name: logtail
            image: registry-vpc.cn-hangzhou.aliyuncs.com/acs/windows-logtail:1809-1.0.0.4
            command: ["powershell.exe"]
            args: [cmd /k "ping -t 127.0.0.1 -w 10000 > C:\log\data.log"]
            env:
          ######### 配置 环境变量 ###########
            - name: aliyun_logs_log-stdout
              value: stdout
            - name: aliyun_logs_log-varlog
              value: C:\log\*.log
            - name: aliyun_logs_log_tags
              value: tag1=v1
          #################################
          ######### 配置vulume mount #######
            volumeMounts:
            - name: volumn-sls-win
              mountPath: c:\log
          volumes:
          - name: volumn-sls-win
            emptyDir: {}
          ###############################
          nodeSelector:
            beta.kubernetes.io/os: windows
    

    其中有三部分需要根据您的需求进行配置,一般按照顺序进行配置。

    • 第一部分通过环境变量来创建您的采集配置和自定义 Tag,所有与配置相关的环境变量都采用aliyun_logs_作为前缀。
      创建采集配置的规则如下:
    - name: aliyun_logs_{Logstore 名称}
      value: {日志采集路径}
    

    示例中创建了两个采集配置,其中 aliyun_logs_log-stdout 这个 env 表示创建一个 Logstore 名字为 log-stdout,日志采集路径为 stdout 的配置,从而将容器的标准输出采集到 log-stdout 这个 Logstore 中。

    说明 Logstore 名称中不能包含下划线(_),可以使用 - 来代替。

    • 创建自定义 Tag 的规则如下:
    - name: aliyun_logs_{任意不包含'_'的名称}_tags
      value: {Tag 名}={Tag 值}
    

    配置 Tag 后,当采集到该容器的日志时,会自动附加对应的字段到日志服务。

    • 如果您的采集配置中指定了非 stdout 的采集路径,需要在此部分创建相应的 volumnMounts。
      示例中采集配置添加了对c:log*.log 的采集,因此相应地添加了c:log的 volumeMounts。

    查看日志

    本例部署的应用会向data.log文件中写入日志。可以按以下步骤查看日志:

    1. 安装成功后,进入日志服务控制台
    2. 在进入控制台后,选择 Kubernetes 集群对应的 Project(默认为 k8s-log-{Kubernetes 集群 ID}),进入 Logstore 列表页面。
    3. 在列表中找到相应的 Logstore(采集配置中指定),单击查询
    1. 本例中,在日志查询页面,您可查看容器内文本日志,并可发现自定义tag附加到日志字段中。


    本文作者:柏理

    阅读原文

    本文为云栖社区原创内容,未经允许不得转载。

    相关文章

      网友评论

        本文标题:容器服务Windows Kubernetes使用阿里云日志服务来

        本文链接:https://www.haomeiwen.com/subject/blddqctx.html