#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
?