#azure #docker #kubernetes #azure-devops #daemonset
Вопрос:
Недавно я перешел с AWS на Azure, и у меня возникли проблемы с запуском docker в моем наборе демонов.
На AWS я извлекал изображение модуля и выполнял docker diff, чтобы сравнить это изображение с исходным.
Но в Azure сейчас я не могу получить доступ к docker и, похоже, не могу найти способ получить исходное изображение и текущее изображение с изменениями модуля.
Как я могу сделать что-то вроде docker diff или, по крайней мере, получить два изображения в Azure?
Комментарии:
1. Это в Kubernetes / AKS? Обычно вы не можете получить прямой доступ к хосту, и демон Docker не гарантируется. Если вы укажете
image:
в своей спецификации pod, а изображение еще не находится на узле, Kubernetes извлечет его для вас. Какой рабочий процесс заставляет вас сравнивать разные изображения?2. Когда я завершаю работу модуля, я хочу взять его изображение и сравнить сделанные изменения. Мне нужны различия между исходным и используемым изображением для получения некоторой статистики относительно использования модуля. Он находится в AKS да, развернут через helm, ничего необычного, просто обычный набор демонов с модулями и сервисами.
Ответ №1:
Какую версию Kubernetes вы используете в AKS? В Kubernetes Docker устарел как среда выполнения контейнера после версии v1.20, поэтому вы больше не можете запускать DOCKER DIFF на узле.
Ссылка: https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker /
Комментарии:
1. Да, вы правы, я использую 1.20, так что именно это и было причиной моих проблем. Итак, я никак не могу сделать это в более новых версиях kubernetes?
2. Вы можете попробовать установить инструмент CRICTL CLI, но, похоже, DIFF не реализован: kubernetes.io/docs/tasks/debug-application-cluster/crictl . КРИТИЧЕСКИЙ документ: github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md