Это ОТЧЕТ ОБ ОШИБКЕ или ЗАПРОС ФУНКЦИЙ ?: ОШИБКА
Версия Kubernetes (используйте версию kubectl):
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:57:25Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:34:56Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Окружающая обстановка:
Облачный провайдер или конфигурация оборудования: 2 ГБ ОЗУ / 50 ГБ HDD ВМ
ОС (например, из / etc / os-release):
ИМЯ = "Ubuntu"
ВЕРСИЯ = "16.04 LTS (Xenial Xerus)"
ID = ubuntu
ID_LIKE = debian
PRETTY_NAME = "Ubuntu 16.04 LTS"
VERSION_ID = "16.04"
HOME_URL = " http://www.ubuntu.com/ "
SUPPORT_URL = " http://help.ubuntu.com/ "
BUG_REPORT_URL = " http://bugs.launchpad.net/ubuntu/ "
UBUNTU_CODENAME = xenial
Ядро (например, uname -a):
Linux ubuntu 4.4.0-21-generic # 37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux
Инструменты установки: kubeadm, kubectl, docker
Другое : нет данных
Что произошло: ImagePullBackOff при извлечении из частного репозитория
Что вы ожидали: он извлек изображение из частного репозитория.
Как это воспроизвести (максимально минимально и точно):
root<strong i="5">@ubuntu</strong>:~# vi /etc/systemd/system/docker.service.d/private-registry.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry 123.456.789.0:9595
docker login 123.456.789.0:9595
информация о докере
Контейнеров: 87
Бег: 18
Приостановлено: 0
Остановлено: 69
Фото: 175
Версия сервера: 1.12.3
Драйвер хранилища: aufs
Корневой каталог: / var / lib / docker / aufs
Резервная файловая система: extfs
Директ: 384
Dirperm1 Поддерживается: true
Драйвер логирования: json-файл
Драйвер Cgroup: cgroupfs
Плагины:
Объем: местный
Сеть: нулевое наложение моста хоста
Рой: неактивен
Время выполнения: runc
Время выполнения по умолчанию: runc
Параметры безопасности: apparmor seccomp
Версия ядра: 4.4.0-21-generic
Операционная система: Ubuntu 16.04 LTS
OSType: linux
Архитектура: x86_64
Процессоры: 1
Общий объем памяти: 1,937 ГиБ
Имя: ubuntu
ID: FXD7: JQJZ: HO3R : D2NK: RWYL: 7DCY : PC2M: 43PM: MA7C: QSPN: 4RGS : 5W6H
Корневой каталог Docker: / var / lib / docker
Режим отладки (клиент): false
Режим отладки (сервер): false
Реестр: https://index.docker.io/v1/
ВНИМАНИЕ: нет поддержки ограничения свопинга
Небезопасные реестры:
123.456.789.0:9595
127.0.0.0/8
докер -v
Докер версии 1.12.3, сборка 6b644ec
Запустить kubeadm в мастере
kubeadm init --token 123456.1234567890123456 --api-Advertise-addresses 192.168.91.133
Создал сеть weive
kubectl apply -f https://git.io/weave-kube
apiVersion: v1
kind: Pod
metadata:
name: test-pod
labels:
name: test
spec:
containers:
- image: 123.456.789.0:9595/test
name: test
ports:
- containerPort: 8443
imagePullSecrets:
- name: my-secret
Name: test-pod
Namespace: default
Node: ubuntu-child/192.168.91.134
Start Time: Thu, 16 Feb 2017 12:26:56 +0530
Labels: name=test
Status: Pending
IP: 10.44.0.2
Controllers: <none>
Containers:
test:
Container ID:
Image: 123.456.789.0:9595/test
Image ID:
Port: 8443/TCP
State: Waiting
Reason: ErrImagePull
Ready: False
Restart Count: 0
Volume Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-vkj94 (ro)
Environment Variables: <none>
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
default-token-vkj94:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-vkj94
QoS Class: BestEffort
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
9s 9s 1 {default-scheduler } Normal Scheduled Successfully assigned test-pod to ubuntu-child
7s 7s 1 {kubelet ubuntu-child} spec.containers{test} Normal Pulling pulling image "123.456.789.0:9595/test"
7s 7s 1 {kubelet ubuntu-child} spec.containers{test} Warning Failed Failed to pull image "123.456.789.0:9595/test": Error: image test:latest not found
7s 7s 1 {kubelet ubuntu-child} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "test" with ErrImagePull: "Error: image test:latest not found"
7s 7s 1 {kubelet ubuntu-child} spec.containers{test} Normal BackOff Back-off pulling image "123.456.789.0:9595/test"
7s 7s 1 {kubelet ubuntu-child} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "test" with ImagePullBackOff: "Back-off pulling image \"123.456.789.0:9595/test\""
От ведомого и ведущего я мог вытащить частный репозиторий. Но проблема существует, когда kubectl пытается извлечь изображение из частного репозитория, хотя я добавил свой секрет в определение модуля.
Проблема возникла из-за номера порта. После ввода номера порта он заработал как положено.
kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]
Не было фактической ошибкой, но для решения см. Http://stackoverflow.com/questions/42267164/kubectl-not-able-to-pull-the-image-from-private-repository
Самый полезный комментарий
Проблема возникла из-за номера порта. После ввода номера порта он заработал как положено.
kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]