容器服務Windows Kubernetes使用阿里雲日誌服務來收集容器日誌

目前,容器服務Windows Kubernetes支持將業務容器產生的stdout輸出、日誌文件同步到阿里雲日誌服務(SLS)進行統一管理。node

支撐組件安裝

Windows Kubernetes集羣安裝界面勾選使用日誌服務,集羣會安裝支持日誌收集的必要組件logtailshell

集羣安裝完畢後,能夠在日誌服務控制檯 查看到按k8s-sls-{Kubernetes 集羣 ID}形式命名的工程。收集到的業務容器日誌都會放在該工程下。windows

使用YAML模版部署業務容器

YAML 模板的語法同 Kubernetes 語法,可是爲了給容器指定採集配置,須要使用 env 來爲 container 增長採集配置和自定義 Tag,並根據採集配置,建立對應的 volumeMounts 和 volumns。如下是一個簡單的 Deployment 示例:api

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

其中有三部分須要根據您的需求進行配置,通常按照順序進行配置。app

  • 第一部分經過環境變量來建立您的採集配置和自定義 Tag,全部與配置相關的環境變量都採用aliyun_logs_做爲前綴。
    建立採集配置的規則以下:
- name: aliyun_logs_{Logstore 名稱}
  value: {日誌採集路徑}

示例中建立了兩個採集配置,其中 aliyun_logs_log-stdout 這個 env 表示建立一個 Logstore 名字爲 log-stdout,日誌採集路徑爲 stdout 的配置,從而將容器的標準輸出採集到 log-stdout 這個 Logstore 中。ide

說明 Logstore 名稱中不能包含下劃線(_),能夠使用 - 來代替。阿里雲

  • 建立自定義 Tag 的規則以下:
- name: aliyun_logs_{任意不包含'_'的名稱}_tags
  value: {Tag 名}={Tag 值}

配置 Tag 後,當採集到該容器的日誌時,會自動附加對應的字段到日誌服務。url

  • 若是您的採集配置中指定了非 stdout 的採集路徑,須要在此部分建立相應的 volumnMounts。
    示例中採集配置添加了對c:log*.log 的採集,所以相應地添加了c:log的 volumeMounts。

查看日誌

本例部署的應用會向data.log文件中寫入日誌。能夠按如下步驟查看日誌:spa

  1. 安裝成功後,進入日誌服務控制檯
  2. 在進入控制檯後,選擇 Kubernetes 集羣對應的 Project(默認爲 k8s-log-{Kubernetes 集羣 ID}),進入 Logstore 列表頁面。
  3. 在列表中找到相應的 Logstore(採集配置中指定),單擊查詢
  4. 本例中,在日誌查詢頁面,您可查看容器內文本日誌,並可發現自定義tag附加到日誌字段中。


原文連接
本文爲雲棲社區原創內容,未經容許不得轉載。3d

相關文章
相關標籤/搜索