天天看點

[問題已處理]-k8s時間正常但無法觸發定時任務

導語:最近k8s測試環境一直有一個問題。定時任務時區不對,但是進入容器date -R是沒問題的。在node節點上手動跑jar程序,定時任務可以觸發,在該節點上運作pod 無法觸發定時任務。

嘗試挂載volome /etc/localtime 無法解決

volumeMounts:
    -  name: config
       mountPath: /etc/localtime
       readOnly: true
   volumes:
    - name: config
       hostPath:
           path: /etc/localtime
           

嘗試添加env 無法解決

env:
    - name: TZ
      value: Asia/Shanghai
           

後面嘗試在建構容器的dockerfile時加入一條 解決了這個問題

# 設定時區
echo 'RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  && echo "Asia/Shanghai" > /etc/timezone ' >> ./Dockerfile
           

原因是/etc/localtime是用來描述本機時間,而 /etc/timezone是用來描述本機所屬的時區。猜測由于pod裡沒有/etc/timezone導緻定時任務無法運作。

繼續閱讀