Как я понимаю, K8S умеет стягивать образы по умолчанию стягивает все образы с Docker registry, но например он может так же стянуть образы с GCR (образы типа k8s.gcr.io/echoserver) и если я правильно понимаю это отдельное хранилище в инфраструктуре Google
Собственно я не очень понимаю, как k8s понимает в какой registry ему стучатся? Ведь в image="" не указывается полное доменное имя. Могу ли я как то посмотреть список хранилищ, с которых k8s позволено брать образы? Или могу ли я, например, запретить стягивать образы с k8s.gcr.io?
P.S. забыл упомянуть, что я использую minikube, может в нем есть какие то отличия.
Вот в качестве примера три вариант:
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 - ок, тут есть домен k8s.gcr.io и как я понимаю образ тянется непосредственно с k8s.gcr.io а не с Docker Hub, так как репозитория k8s.gcr.io на Doker Hub нет
kubectl run docker-echo --image=kalmhq/echoserver - тут домена нет, но я так понимаю по умолчанию используется Docker Hub
kubectl run nginx --image=nginx - тут я не указываю ни домен ни репозиторий, а образ все равно стягивается.
Собственно если k8s все образы тянет с Docker Hub, тогда я не понимаю как он стягивает образ k8s.gcr.io/echoserver, так как репозитория k8s.gcr.io нет
Если же он тянет с учетом домена, тогда я опять же не понимаю как он определяет разницу между записями k8s.gcr.io/echoserver и kalmhq/echoserver, ведь во втором случае домена нет
Container images are usually given a name such as pause, example/mycontainer, or kube-apiserver. Images can also include a registry hostname; for example: fictional.registry.example/imagename, and possible a port number as well; for example: fictional.registry.example:10443/imagename.
If you don't specify a registry hostname, Kubernetes assumes that you mean the Docker public registry