亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 kubernetes 集群中獲取 Pod 和 Node 的事件毫秒級精度

在 kubernetes 集群中獲取 Pod 和 Node 的事件毫秒級精度

Go
守候你守候我 2022-08-30 21:11:10
我有一個 Kubernetes 集群,我需要收集各種 pod 和節點事件時間戳。我通過構建一個 go 服務來做到這一點,該服務通過 client-go 庫與我的 Kubernetes 集群進行通信。我為訂閱的 pod 和節點對象獲得的時間戳僅顯示時間,直到秒精度。有沒有辦法以毫秒為單位獲得時間精度水平?我發現提出了類似的問題,但沒有解決方案。有人可以幫我嗎?
查看完整描述

1 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

首先,正如您正確發現的那樣,不可能以毫秒級的精度從 kubernetes 組件本身獲得精確的時間戳。這個github問題現在已經關閉了。

但是,仍然可以找到有關容器和其他事件的一些確切時間。下面是一個與容器相關的示例。

選項 1 - 默認情況下,kubelet 會將大量日志寫入系統日志??梢允褂?using 查看它們(注意!此方法適用于系統。對于其他系統,請參閱官方 kubenetes 文檔)。命令示例:journalctlsystemd

journalctl -u kubelet -o short-precise

-u - 按單位過濾

-o - 輸出選項

我們正在尋找的輸出行將是:

May 18 21:00:30.221950 control-plane kubelet[8576]: I0518 21:00:30.221566    8576 scope.go:111] "RemoveContainer" containerID="d7d0403807684ddd4d2597d32b90b1e27d31f082d22cededde26f6da8281cd92"

選項 2 - 從容器化引擎獲取此信息。在下面的示例中,我使用了 Docker 來實現這一點。我運行以下命令:

docker inspect container_id/container_name

輸出將如下所示:

{

        "Id": "d7d0403807684ddd4d2597d32b90b1e27d31f082d22cededde26f6da8281cd92",

        "Created": "2021-05-18T21:00:07.388569335Z",

        "Path": "/docker-entrypoint.sh",

        "Args": [

            "nginx",

            "-g",

            "daemon off;"

        ],

        "State": {

            "Status": "running",

            "Running": true,

            "Paused": false,

            "Restarting": false,

            "OOMKilled": false,

            "Dead": false,

            "Pid": 8478,

            "ExitCode": 0,

            "Error": "",

            "StartedAt": "2021-05-18T21:00:07.593216613Z",

            "FinishedAt": "0001-01-01T00:00:00Z"

        }


查看完整回答
反對 回復 2022-08-30
  • 1 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號