При попытке развернуть свой пользовательский образ nginx из локального реестра в kubernetes, я вижу ниже ошибку в kubernetes-dashboard -
Не удалось получить изображение "myapp": ошибка rpc: code = Unknown desc = Ответ об ошибке от демона: хранилище myapp не найдено: не существует или нет доступа к запросу
Это шаги, которым я следовал -
1) Built my customer image using docker
2) kubectl run myapp --image=myapp --port=80 --image-pull-policy=IfNotPresent
3) kubectl expose deployment myapp --type=LoadBalancer --port=80 --target-port=80 --name=myapp
В Kubernetes-dashboard я вижу, что развертывание показывает сбой из-за вышеуказанной ошибки хранилища myapp не найден.
Я даже пытался добавить эти шаги, упомянутые в https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
docker login
kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v1/ --docker-username=xxx --docker-password=xxx --docker-email=xxx
Но все та же проблема.
Что я должен сделать для pod, чтобы получить мой локальный репо в GKE.
Ценю любую помощь. Спасибо.
Вот дополнительная информация, запрошенная rjdkolb -
xxx@cloudshell:~ (involuted-ratio-227118)$ kubectl describe pod myapp-7cf96cf48-vsqb5
Name: myapp-7cf96cf48-vsqb5
Namespace: default
Node: gke-standard-cluster-1-default-pool-c7d671ed-br8j/10.142.0.3
Start Time: Wed, 09 Jan 2019 22:28:58 +0530
Labels: pod-template-hash=379527904
run=myapp
Annotations: kubernetes.io/limit-ranger=LimitRanger plugin set: cpu request for container myapp
Status: Pending
IP: 10.48.8.9
Controlled By: ReplicaSet/myapp-7cf96cf48
Containers:
myapp:
Container ID:
Image: mynginx
Image ID:
Port: 80/TCP
Host Port: 0/TCP
State: Waiting
Reason: ImagePullBackOff
Ready: False
Restart Count: 0
Requests:
cpu: 100m
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-8p622 (ro)
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
default-token-8p622:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-8p622
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 4m default-scheduler Successfully assigned myapp-7cf96cf48-vsqb5 to gke-standard-cluster-1-default-pool-c7d671ed-br8j
Normal SuccessfulMountVolume 4m kubelet, gke-standard-cluster-1-default-pool-c7d671ed-br8j MountVolume.SetUp succeeded for volume "default-token-8p622"
Normal Pulling 2m (x4 over 4m) kubelet, gke-standard-cluster-1-default-pool-c7d671ed-br8j pulling image "mynginx"
Warning Failed 2m (x4 over 4m) kubelet, gke-standard-cluster-1-default-pool-c7d671ed-br8j Failed to pull image "mynginx": rpc error: code = Unknown desc = Error response from daemon: repository mynginx not found: does not exist or no pull access
Warning Failed 2m (x4 over 4m) kubelet, gke-standard-cluster-1-default-pool-c7d671ed-br8j Error: ErrImagePull
Normal BackOff 2m (x6 over 4m) kubelet, gke-standard-cluster-1-default-pool-c7d671ed-br8j Back-off pulling image "mynginx"
Warning Failed 2m (x6 over 4m) kubelet, gke-standard-cluster-1-default-pool-c7d671ed-br8j Error: ImagePullBackOff