Windows節點上使用logtail

環境要求

  • 創建Linux託管集羣,添加OS爲Windows的節點池來使用Windows節點
  • 集羣已經部署了日誌組件

添加Windows節點的logtail

  • 在kube-system下的configmap alibaba-log-configuration中添加item
win-log-config-path: C:\Program Files (x86)\Alibaba\Logtail\conf\ap-southeast-1\ilogtail_config.json
  • 部署Windows節點的daemonset
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  labels:
    k8s-app: win-logtail-ds
  name: win-logtail-ds
  namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: logtail-ds
      kubernetes.io/cluster-service: "true"
      version: v1.0
  template:
    metadata:
      annotations:
        scheduler.alpha.kubernetes.io/critical-pod: ""
      labels:
        k8s-app: logtail-ds
        kubernetes.io/cluster-service: "true"
        version: v1.0
    spec:
      containers:
      - env:
        - name: ALIYUN_LOGTAIL_CONFIG
          valueFrom:
            configMapKeyRef:
              key: win-log-config-path
              name: alibaba-log-configuration
        - name: ALIYUN_LOGTAIL_USER_ID
          valueFrom:
            configMapKeyRef:
              key: log-ali-uid
              name: alibaba-log-configuration
        - name: ALIYUN_LOGTAIL_USER_DEFINED_ID
          valueFrom:
            configMapKeyRef:
              key: log-machine-group
              name: alibaba-log-configuration
        - name: ALICLOUD_LOG_DOCKER_ENV_CONFIG
          value: "true"
        - name: ALICLOUD_LOG_ECS_FLAG
          value: "true"
        - name: ALICLOUD_LOG_DEFAULT_PROJECT
          valueFrom:
            configMapKeyRef:
              key: log-project
              name: alibaba-log-configuration
        - name: ALICLOUD_LOG_ENDPOINT
          valueFrom:
            configMapKeyRef:
              key: log-endpoint
              name: alibaba-log-configuration
        - name: ALICLOUD_LOG_DEFAULT_MACHINE_GROUP
          valueFrom:
            configMapKeyRef:
              key: log-machine-group
              name: alibaba-log-configuration
        - name: ALIYUN_LOG_ENV_TAGS
          value: _node_name_|_node_ip_
        - name: _node_name_
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: _node_ip_
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: cpu_usage_limit
          value: "1.0"
        - name: mem_usage_limit
          value: "512"
        - name: max_bytes_per_sec
          value: "20971520"
        - name: send_request_concurrency
          value: "20"
        image: registry.cn-hangzhou.aliyuncs.com/log-service/winlogtail:ltsc2019-1.0.0.10
        imagePullPolicy: IfNotPresent
        name: logtail
        resources:
          limits:
            memory: 512Mi
          requests:
            cpu: 100m
            memory: 256Mi
        securityContext:
          privileged: false
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: '\\\\.\pipe\docker_engine'
          name: sock
        - mountPath: 'c:\ProgramData\docker'
          name: root
          readOnly: true
        - mountPath: 'c:\logtail_host'
          name: root-c
          readOnly: true
      nodeSelector:
        beta.kubernetes.io/os: windows
      terminationGracePeriodSeconds: 30
      tolerations:
      - effect: NoSchedule
        key: os
        operator: Equal
        value: windows
      volumes:
      - hostPath:
          path: '\\\\.\pipe\docker_engine'
        name: sock
      - hostPath:
          path: 'c:\ProgramData\docker'
        name: root
      - hostPath:
          path: 'c:\'
        name: root-c

目前logtail僅限於支持採集stdout的輸出至日誌服務,後續會支持對日誌文件的採集

部署完成後可以使用如下應用去驗證是否可用:

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: nanoserver
        image: mcr.microsoft.com/windows/servercore:1809
        command: ["powershell.exe"]
        args: ["ping -t 127.0.0.1 -w 10000"]
        env:
      ######### 配置 環境變量 ###########
        - name: aliyun_logs_logtail-stdout
          value: stdout
        - name: aliyun_logs_logttail-tags
          value: tag1=v1
      #################################
      nodeSelector:
        beta.kubernetes.io/os: windows
      tolerations:
      - effect: NoSchedule
        key: os
        operator: Equal
        value: windows
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章