- Комментарии к вашей среде:
Я заметил, что всякий раз, когда изображение с таким же номером тега вводится в файл развертывания, система берет предыдущее изображение, если imagepullpolicy
не значение always
A предварительно извлеченное изображение может использоваться для предварительной загрузки определенных изображений на скорости или в качестве альтернативы аутентификации в частном реестре , оптимизируя производительность.
docker всегда будет кэшировать все изображения, которые использовались локально.
Поскольку вы используете EKS, имейте в виду, что если у вас есть управление работоспособностью узла (имеется в виду узел будет заменен в случае сбоя) новый узел не будет кэшировать изображения из старого, поэтому всегда полезно хранить изображения в реестре, таком как ваш реестр провайдеров облачных услуг или локальный реестр.
- Давайте ответим на ваш первый вопрос:
Есть ли способ, которым я могу видеть все кэшированные изображения контейнера в среде kubernetes?
Да, вы должны использовать docker images
для отображения изображений, хранящихся в вашей среде.
- Второй вопрос:
Например, предположим, у меня есть образ test:56
, работающий в данный момент в развертывании, и ранее использовались test:1
до test:55
, так что Kubernetes кэширует эти образы? и если да, где их можно найти?
Я подготовил для вас пример:
- Я развернул несколько модулей на основе официального образа busybox :
$ kubectl run busy284 --generator=run-pod/v1 --image=busybox:1.28.4
pod/busy284 created
$ kubectl run busy293 --generator=run-pod/v1 --image=busybox:1.29.3
pod/busy284 created
$ kubectl run busy284 --generator=run-pod/v1 --image=busybox:1.28
pod/busy28 created
$ kubectl run busy284 --generator=run-pod/v1 --image=busybox:1.29
pod/busy29 created
$ kubectl run busy284 --generator=run-pod/v1 --image=busybox:1.30
pod/busy284 created
$ kubectl run busybox --generator=run-pod/v1 --image=busybox
pod/busybox created
Теперь давайте проверим изображения, хранящиеся в docker images
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-proxy v1.17.3 ae853e93800d 5 weeks ago 116MB
k8s.gcr.io/kube-controller-manager v1.17.3 b0f1517c1f4b 5 weeks ago 161MB
k8s.gcr.io/kube-apiserver v1.17.3 90d27391b780 5 weeks ago 171MB
k8s.gcr.io/kube-scheduler v1.17.3 d109c0821a2b 5 weeks ago 94.4MB
kubernetesui/dashboard v2.0.0-beta8 eb51a3597525 3 months ago 90.8MB
k8s.gcr.io/coredns 1.6.5 70f311871ae1 4 months ago 41.6MB
k8s.gcr.io/etcd 3.4.3-0 303ce5db0e90 4 months ago 288MB
kubernetesui/metrics-scraper v1.0.2 3b08661dc379 4 months ago 40.1MB
busybox latest 83aa35aa1c79 10 days ago 1.22MB
busybox 1.30 64f5d945efcc 10 months ago 1.2MB
busybox 1.29 758ec7f3a1ee 15 months ago 1.15MB
busybox 1.29.3 758ec7f3a1ee 15 months ago 1.15MB
busybox 1.28 8c811b4aec35 22 months ago 1.15MB
busybox 1.28.4 8c811b4aec35 22 months ago 1.15MB
Вы можете увидеть все перечисленные изображения в толкании.
Хорошо Удалите старые ресурсы из вашей системы, используя команду docker system prune
, чтобы время от времени освобождать место на вашем сервере.
Если у вас есть какие-либо сомнения, дайте мне знать в комментариях.