Как мы можем видеть кэшированные изображения в kubernetes? - PullRequest
0 голосов
/ 20 марта 2020

Я использую kops для развертывания kubernetes.

Я заметил, что всякий раз, когда в файл развертывания вводится изображение с таким же номером тега, система берет предыдущее изображение, если imagepullpolicy не установлено на always

Есть ли какой-нибудь способ, которым я могу видеть все кэшированные образы контейнера в среде kubernetes?

Например, предположим, у меня есть изображение test:56, запущенное в данный момент в deployemtn, и test:1 для test:55 использовались ранее, так кубернец кэширует эти изображения? и если да, где их можно найти?

1 Ответ

2 голосов
/ 20 марта 2020
  • Комментарии к вашей среде:

    Я заметил, что всякий раз, когда изображение с таким же номером тега вводится в файл развертывания, система берет предыдущее изображение, если 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, чтобы время от времени освобождать место на вашем сервере.

Если у вас есть какие-либо сомнения, дайте мне знать в комментариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...