k8s: сделать локальное изображение доступным для k8s - PullRequest
0 голосов
/ 28 января 2020

Я только что установил кластер k8s (k3d).

Я просто играю с этим и сталкиваюсь с первой проблемой ie newb: Как загрузить наши локально созданные изображения.

Я имею в виду, я только что создал docker изображение с тегом quarkus/feedly:v1.

  1. Как я могу сделать его доступным для кластера k8s?
  2. Какое время по умолчанию выполняет контейнер k8s?
  3. Существует ли какое-либо взаимодействие с моим кластером k8s и моим локальным docker? Я имею в виду, установил ли каждый узел k8s среду выполнения docker / rkt / containerd?
  4. Могу ли я создать реестр docker внутри kubernetes в качестве манифеста? Как я мог сделать так, чтобы kubernetes сделал доступ к этому?

Я развернул свой манифест и получаю следующие события:

Не удалось получить изображение "quarkus / feedly: 0.0.1-SNAPSHOT": rp c ошибка: код = неизвестно des c = не удалось извлечь и распаковать образ "docker .io / quarkus / feedly: 0.0.1-SNAPSHOT": не удалось разрешить ссылку "docker .io / quarkus / feedly : 0.0.1-SNAPSHOT ": извлечение доступа запрещено, хранилище не существует или может потребоваться авторизация: сообщение сервера: достаточный_обзор: авторизация не удалась

Я знаю, что это нормальная ошибка, так как реестр Quarkus не существует .

Какой-нибудь код помощи там?

1 Ответ

1 голос
/ 28 января 2020

Вот несколько указателей:

  1. Чтобы сделать ваш образ доступным через ваш кластер k8s, вам нужно использовать реестр, который доступен с вашего узла кластера. Поэтому либо создайте учетную запись на хабе docker и используйте ее, либо установите локальный реестр образов и используйте ее.
  2. Docker - среда выполнения контейнера по умолчанию, используемая большинством дистрибутивов k8s. Тем не менее, вы можете использовать любую OCI-совместимую среду выполнения (например, containerd). rkt больше не является живым проектом, поэтому я советую не использовать его.
  3. Ну, это зависит от используемого вами дистрибутива k8s. В любом случае, каждому узлу в кластере требуется установленная среда выполнения контейнера. Это обязательно.
  4. Развертывание реестра Docker в качестве ресурса kubernetes, вероятно, не очень хорошая идея, так как для его работы вам потребуется много настроек. Однако лучшее решение - развернуть реестр docker внутри одного из ваших узлов и затем вызвать его, используя IP-адрес узла. У вас есть пример конфигурации в официальном do c. Кстати, Docker предоставляет реестр в виде Docker образа , поэтому установка довольно проста.

Надеюсь, это поможет!

...