Могут ли некоторые объяснить поведение «kubectl run --image = image» опции изображения? - PullRequest
0 голосов
/ 06 февраля 2020

Во-первых, я совершенно новичок в Kubernetes, и мне трудно работать с документацией. Я пытаюсь определить поведение опции изображения в команде запуска для kubectl.

kubectl run --image=image

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#run

Во-вторых, как вы можете видеть, документация очень ясная, но не полезная.

-----------------------------------------------
| Flag   |  Usage                             |
-----------------------------------------------
| image  | The image for the container to run |
-----------------------------------------------

Я не могу сказать, каково здесь ожидаемое поведение. Может кто-нибудь сказать, ответьте мне что-нибудь для меня?

  1. Будет ли сначала пытаться найти изображение локально?
  2. Или оно попытается найти его локально, и если это не так найти его, он пытается вытащить его?
  3. Или это по умолчанию вытащить изображение?
  4. А если оно собирается, вытащить его, откуда тянет?
  5. Имеет ли значение, если в списке есть несколько реестров?
  6. Также, как это работает с изображениями в ECR?

Я надеюсь, что кто-то может ответить на этот вопрос или, по крайней мере, указать мне хорошую документацию или учебник.

Спасибо .

1 Ответ

1 голос
/ 06 февраля 2020
  1. Это изображение docker, будет ли оно извлекать его локально или извлекать его из репо, будет зависеть от imagePullPolicy , по умолчанию ifNotPresent. Изображение может быть чем-то простым, например nginx:latest, или может быть из вашего личного реестра, например myregistry.domain.com/my-ubuntu или gcr.io/my-project/fancy-new-image

2 & 3. Как упоминалось выше, зависит от политики

Откуда оно вытягивается, зависит от изображения. Во многих случаях вы указываете реестр, а затем изображение, такое как my.registry.com/my-image. Многие распространенные образы, такие как nginx или busybox, вероятно, будут получены из docker .io, однако вы также можете изменить реестр по умолчанию, который docker использует

Да, среде выполнения вашего контейнера (обычно docker) необходимо знать, из какого реестра следует извлечь данные, он не будет опрашивать другой реестр сразу.

ECR может быть частный или публичный c. Вы определите реестр ECR, за которым следует имя изображения. ECR будет использовать следующее для создания имени реестра:

URL для вашего реестра по умолчанию: https://aws_account_id.dkr.ecr.region.amazonaws.com.

См. AWS документацию для получения дополнительной информации о том, как использовать и получать доступ к изображениям из ECR

...