Ответы пользователя по тегу Kubernetes
  • Как запустить образ Docker registry в Kubernetes?

    OxCom
    @OxCom
    Добрый день. Из описания не понятно где, что и как вы делаете. Поиграем в угадайку:

    1) minikube:
    Заходим в minikube shell и там что-то делать со встроенным докером и там работать с образами. Как-то так:
    host$ docker run -d nginx:latest
    host$ docker exec -it <container> /bin/sh
    container$ # hack, hack, hack...
    container$ exit
    host$ docker commit <container> <yuour-image-name:and-tag-here>

    После этого вы можете использовать новый образ в minikube, где производили изменения. Помните, что minikube отличается от реального k8s кластера.

    2) k8s cloud или baremetal
    Тут для своих образов нужно создавать собственный registry. Поднимать его лучше всего отдельно, чтобы при создании нового кластера не собирать все версии ваших docker images (иначе где он возьмёт эти образы?).

    Допустим есть какой-то приватный registry доступом по логину и паролю. Для его использования нужно создать секрет в k8s с конфигурацией, которая хранит нужную пару логина и пароля.
    apiVersion: v1
    kind: Secret
    type: kubernetes.io/dockerconfigjson
    data:
        .dockerconfigjson: <configuration>
    metadata:
        name: registry-secret

    Как сделать, читаем тут

    Далее мы можем использовать приватный registry примерно так:
    # ...
    spec:
    	imagePullSecrets:
    		-   name: registry-secret
    	# ...
    	containers:		
    		-   name: php
    			image: <private-registry-domain>/<image-name:tag-here>


    Так же можно сделать авторизацию по ключам, но это уже другая история, которая потянет на статью на хабре.
    Ответ написан