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

采集Job任務(wù)的日志

由于ECI不支持DaemonSet,在ECI上運行的Job任務(wù)運行結(jié)束后,Pod會立即退出,因此可能會出現(xiàn)日志尚未完全采集的情況。建議您為Job掛載NAS文件系統(tǒng)來保存日志文件。本文介紹在ACK集群中使用ECI來運行Job任務(wù)時,如何采集Job任務(wù)的日志。

前提條件

背景信息

在ACK集群中,對于在標準節(jié)點的ECS上運行的Job任務(wù),可以通過DaemonSet的方式來采集日志。但是對于在虛擬節(jié)點的ECI上運行的Job任務(wù),由于ECI不支持DaemonSet,當Job任務(wù)運行結(jié)束后,Pod會立即退出,此時日志可能還未被采集完成。

針對上述場景,您可以采用以下方式來采集ECI上運行的Job任務(wù)的日志:

  1. 為Job掛載NAS文件系統(tǒng),將輸出的日志保存到NAS文件系統(tǒng)上。

  2. 將收集了Job任務(wù)日志的NAS文件系統(tǒng)掛載到另一個Pod上,獲取NAS文件系統(tǒng)中存儲的Job任務(wù)日志。

說明

如果您使用了阿里云日志服務(wù)SLS,通過配置環(huán)境變量的方式為Job掛載Volume,可以直接同步阿里云日志服務(wù)。更多信息,請參見通過環(huán)境變量方式采集日志

操作步驟

下文以名為vk的Namespace為例說明操作步驟,該Namespace已添加alibabacloud.com/eci=true的Label,部署在該Namespace下的Pod將被調(diào)度到ECI上運行。實際配置時請?zhí)鎿Q為您要使用的Namespace。

  1. 準備Job任務(wù)的YAML配置文件。

    vim job.yaml

    以下為一個計算π值的Job任務(wù)配置示例:

    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"] # 輸出結(jié)果重定向到指定文件
            volumeMounts:
            - name: log-volume
              mountPath: /eci
              readOnly: false
          restartPolicy: Never
          volumes:    # 掛載NAS文件系統(tǒng)用于存儲日志
          - name: log-volume  
            nfs:
                server: 04edd48c7c-****.cn-hangzhou.nas.aliyuncs.com
                path: /
                readOnly: false
      backoffLimit: 4
  2. 部署Job。

    kubectl apply -f job.yaml -n vk
  3. 查看Pod狀態(tài),確認Job是否已正常運行。

    kubectl get pod -n vk

    預(yù)期返回示例如下:

    采集job日志.png

  4. 準備用于采集Job任務(wù)日志的Pod的配置文件。

    vim log-collection.yaml

    YAML文件內(nèi)容示例如下:

    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任務(wù)的日志文件
        volumeMounts:
        - mountPath: /eci
          name: log-volume
      restartPolicy: Never
      volumes:      # 掛載存儲了Job任務(wù)日志的NAS文件系統(tǒng)
      - name: log-volume
        nfs:
          server: 04edd48c7c-****.cn-hangzhou.nas.aliyuncs.com
          path: /
          readOnly: false
  5. 部署Pod。

    kubectl apply -f log-collection.yaml -n vk
  6. 確認Pod運行結(jié)束,然后查看Job任務(wù)的日志文件。

    kubectl get pod -n vk
    kubectl logs log-collection -n vk

    預(yù)期返回示例如下:

    采集job日志-3.png