日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Job類型任務如何采集日志

本文將為您介紹如何針對Job類型任務場景采集日志到日志系統。

前提條件

說明

如果您使用了阿里云日志服務,Job任務掛載volume收集日志通過配置環境變量,可以直接同步阿里云日志服務。詳情請參見ECI中日志采集的自定義配置

操作步驟

重要

在ECS模式下,Job任務可以通過DaemonSet方式采集標準輸出,但是在ECI模式下不支持DaemonSet。當Job任務結束后,Pod會立即退出,此時日志可能還未被完全收集,針對這種情況,我們可以采用如下方式解決:

Job類任務掛載NAS盤,把輸出的日志存儲在NAS盤,再通過另一個同樣掛載NAS盤的Pod來采集Job任務標準輸出到日志系統中。

  1. 通過kubectl客戶端創建job.yaml

    一個計算π值Job任務:

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: pi
    spec:
      template:
        spec:
          containers:
          - name: pi
            image: resouer/ubuntu-bc 
            command: ["sh", "-c", "echo 'scale=1000; 4*a(1)' | bc -l > /eci/a.log 2>&1"] #運行輸出結果重定向到指定文件
            volumeMounts:
            - name: log-volume
              mountPath: /eci
              readOnly: false
          restartPolicy: Never
          volumes:
          - name: log-volume
            nfs:
                path: /eci
                server: 04edd48c7c-****.cn-hangzhou.nas.aliyuncs.com
                readOnly: false
      backoffLimit: 4
  2. 部署一個Job任務到虛擬節點。

    說明

    關于如何部署虛擬節點請參見通過虛擬節點將Pod調度到ECI上運行

    kubectl apply -f job.yaml -n fvt-eci
  3. 查看Pod狀態。

    kubectl get pod -n fvt-eci
  4. 通過kubectl客戶端創建log-collection.yaml文件,并拷貝以下內容到該文件。然后執行指令創建一個Pod,掛載NAS盤用來采集Job任務輸出日志。

    apiVersion: v1
    kind: Pod
    metadata:
      name: log-collection
    spec:
      containers:
      - image: nginx:latest
        name: log-collection
        command: ['/bin/sh', '-c', 'echo &(cat /eci/a.log)'] #查看Job日志文件
        volumeMounts:
        - mountPath: /eci
          name: log-volume
      restartPolicy: Never
      volumes:
      - name: log-volume
        nfs:
          server: 04edd48c7c-****.cn-hangzhou.nas.aliyuncs.com
          path: /eci
          readOnly: false