0
Google 컨테이너 엔진에서 k8 클러스터를 실행 중입니다. 개인 도커 repo에서 이미지를 가져 오는 데 문제가 있습니다. 내가 the docs page에있는 모든 지시를 따랐다kubernetes의 개인 도커 허브 레지스트리에서 가져올 수 없습니다.
Name: \t \t ds-expected-date
Namespace: \t default
Node: \t \t gke-ds-cluster-1-default-pool-8980b100-l64j/10.132.0.3
Start Time: \t Wed, 24 May 2017 13:24:11 +0100
Labels: \t \t <none>
Annotations: \t kubernetes.io/limit-ranger=LimitRanger plugin set: cpu request for container ds-expected-date-flask
Status: \t \t Pending
IP: \t \t 10.40.0.23
Controllers: \t <none>
Containers:
ds-expected-date-flask:
Container ID:
Image: \t \t fluidy/ds-expected-date:latest
Image ID:
Port:
State: \t \t Waiting
Reason: \t \t ImagePullBackOff
Ready: \t \t False
Restart Count: \t 0
Requests:
cpu: \t \t 100m
Environment: \t <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-h340m (ro)
Conditions:
Type \t \t Status
Initialized \t True
Ready \t False
PodScheduled \t True
Volumes:
default-token-h340m:
Type: \t Secret (a volume populated by a Secret)
SecretName: \t default-token-h340m
Optional: \t false
QoS Class: \t Burstable
Node-Selectors: \t <none>
Tolerations: \t <none>
Events:
FirstSeen \t LastSeen \t Count \t From \t \t \t \t \t \t \t SubObjectPath \t \t \t \t Type \t \t Reason \t \t Message
--------- \t -------- \t ----- \t ---- \t \t \t \t \t \t \t ------------- \t \t \t \t -------- \t ------ \t \t -------
21s \t \t 21s \t \t 1 \t default-scheduler \t \t \t \t \t \t \t \t \t \t Normal \t \t Scheduled \t Successfully assigned ds-expected-date to gke-ds-cluster-1-default-pool-8980b100-l64j
18s \t \t 18s \t \t 1 \t kubelet, gke-ds-cluster-1-default-pool-8980b100-l64j \t spec.containers{ds-expected-date-flask} \t Normal \t \t BackOff \t \t Back-off pulling image "fluidy/ds-expected-date:latest"
18s \t \t 18s \t \t 1 \t kubelet, gke-ds-cluster-1-default-pool-8980b100-l64j \t \t \t \t \t \t Warning \t \t FailedSync \t Error syncing pod, skipping: failed to "StartContainer" for "ds-expected-date-flask" with ImagePullBackOff: "Back-off pulling image \"fluidy/ds-expected-date:latest\""
20s \t 6s \t 2 \t kubelet, gke-ds-cluster-1-default-pool-8980b100-l64j \t spec.containers{ds-expected-date-flask} \t Normal \t Pulling \t \t pulling image "fluidy/ds-expected-date:latest"
19s \t 5s \t 2 \t kubelet, gke-ds-cluster-1-default-pool-8980b100-l64j \t spec.containers{ds-expected-date-flask} \t Warning \t Failed \t \t Failed to pull image "fluidy/ds-expected-date:latest": Error response from daemon: unauthorized: authentication required
19s \t 5s \t 2 \t kubelet, gke-ds-cluster-1-default-pool-8980b100-l64j \t \t \t \t \t \t Warning \t FailedSync \t Error syncing pod, skipping: failed to "StartContainer" for "ds-expected-date-flask" with ErrImagePull: "Error response from daemon: unauthorized: authentication required"
: 부팅 할 때
나는 다음을 얻을. 나는 나의 레지스트리 비밀이 읽히고 있다고 확신한다 - 만약 내가 더프 자격 증명을 넣으면 에러가 '유효하지 않은 사용자 이름이나 패스워드'로 바뀐다.
비밀 값이 제대로 작동 할 수 있도록하기 위해 Vagrant 또는 'minikube' 스타일의 로컬 클러스터가 있습니까? 또한 kubelet, apiserver 또는 다른 것에 대해서'--v = 10 '을 크랭크 할 수 있기 때문에 훨씬 더 나은 로그를 얻을 수 있습니다. –
이미지 이름은 레지스트리 이름의 접두어로 사용되어야합니다 ? 그래서 그 이름은'myregistry.io/fluidy/ds-expected-date : latest'가되어야합니다, 지금 그것은 도커 허브에서 이미지를 끌어 내려고있는 것처럼 보입니다. – surajd
분명히 @surajd가 말하는 것 같습니다 –