Как добавить метку метки времени создания pod / контейнера в метки контейнеров kubernetes docker?

#docker #kubernetes

#docker #kubernetes

Вопрос:

Временная метка, в которую был создан контейнер docker, может быть известна с помощью:

 docker inspect --format='{{.Created}}' 6de2e88f7859
2020-12-08T17:29:37.769047437Z
 

Аналогично, временная метка, в которую был создан модуль kubernetes (к которому принадлежит этот контейнер), может быть известна с помощью:

 kubectl describe pod <pod-name>
Name:         <pod-name>
Namespace:    default                                                                                                                                                                                                                          
Priority:     0                                                                                                                                                                                                                                
Node:         xyz.com/11.11.11.11
Start Time:   Tue, 08 Dec 2020 17:29:36  0000
 

Я хочу добавить эту метку времени создания pod / контейнера (предпочтительно метку времени создания pod, указанную Start Time: Tue, 08 Dec 2020 17:29:36 0000 в kubectl describe pod <pod-name> выходных данных) в качестве одной из доступных меток контейнеров (.Config.Этикетки). Вот некоторые метки по умолчанию:
io.kubernetes.container.name , io.kubernetes.pod.name , annotation.io.kubernetes.container.hash, annotation.io.kubernetes.container.ports и т.д. Эти метки можно увидеть с помощью следующей команды:

 docker inspect --format='{{json .Config.Labels}}' <container-id>
 

Однако я не смог найти метку времени создания pod / контейнера здесь. Есть ли какой-нибудь способ добавить эту временную метку создания модуля / контейнера в качестве одной из меток?

Я ищу здесь ярлык контейнера, так как хочу добавить его в /etc/docker/daemon.json файл.

Ответ №1:

Посмотрите на код: kubelet/kuberuntime/labels.go

Не похоже, что вы можете динамически добавлять новые метки.

Уже существующие метки «жестко запрограммированы», и если вы хотите добавить несколько новых, вам нужно будет добавить их в код, скомпилировать его и поменять местами двоичные файлы kubelet.

Комментарии:

1. Можно ли добавить следующее в качестве метки контейнера docker: docker inspect --format='{{.State.StartedAt}}' <CONTAINERID> | xargs date %s -d ?