lab.3.1 Deploying a New Application. pod image pull error.
i am following the lab guide exactly, and up this commnad.
#docker-compose up output on my test box is correct.
but when I run, pod status errimagepull. I understand the error that its not able to pull the image from local docker image repo. but its trying docker.com to pull the iamge but its failing.
admin1@k8master:/localdocker$ kubectl create -f localregistry.yaml
service/nginx created
service/registry created
deployment.extensions/nginx created
persistentvolumeclaim/nginx-claim0 created
deployment.extensions/registry created
persistentvolumeclaim/registry-claim0 created
admin1@k8master:/localdocker$ kubectl get pods,svc,pvc,pv,deploy
NAME READY STATUS RESTARTS AGE
pod/nginx-6b58d9cdfd-dhjqd 0/1 ErrImagePull 0 2s
pod/registry-795c6c8b8f-64nj5 0/1 ErrImagePull 0 2s
can someone explain whats I need to do fix this ?
Comments
-
Hi,
There are a few intermediary steps between the ones mentioned above. Did all those intermediary steps produce expected outputs?Are your VM instances on Google Cloud? If so, did you create the instances inside a VPC?
I have seen similar errors when the VM instances were not created inside a VPC. It seems to be a strange behavior of GCP in this case, and I was able to move forward once I created a VPC and the VM instances inside the VPC.
Regards,
-Chris
0 -
Hi Chris,
There are a few intermediary steps between the ones mentioned above. Did all those intermediary steps produce expected outputs?
yes. steps all outputs are as given in the lab guide, but one doubt, Lab guide tasks about "localdocker registry:" but howt to check that my local docker registry is corretly configured and kubernates pointing to local docker registry ?
extract from labguide
"Go to the configuration file for a localdocker registry: student@ckad-1:~$ cd /localdocker/ student@ckad-1:~/localdocker$ ls data docker-compose.yaml nginx
Convert the Docker file into a single YAML file for use with Kubernetes. Not all objects convert exactly from Docker to kompose; you will get errors about the mount syntax for the new volumes. They can be safely ignored. "------------
I have my local desktop with 2 VMs with OracleVirtual machines created with Suse linux 15.4 version. ontop i have installed kubernates.
admin1@k8master:~$ kubectl describe pods
Name: nginx-6b58d9cdfd-dhjqd
Namespace: default
Node: k8second/192.168.0.45
Start Time: Mon, 30 Jul 2018 07:17:06 +0200
Labels: io.kompose.service=nginx
pod-template-hash=2614857898
Annotations: <none>
Status: Pending
IP: 192.168.27.215
Controlled By: ReplicaSet/nginx-6b58d9cdfd
Containers:
nginx:
Container ID:
Image: nginx:1.12
Image ID:
Port: 443/TCP
Host Port: 0/TCP
State: Waiting
Reason: ImagePullBackOff
Ready: False
Restart Count: 0
Environment: <none>
Mounts:
/etc/nginx/conf.d from nginx-claim0 (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-9nj9b (ro)
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
nginx-claim0:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: nginx-claim0
ReadOnly: false
default-token-9nj9b:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-9nj9b
Optional: false
QoS Class: BestEffort
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 SuccessfulMountVolume 2d kubelet, k8second MountVolume.SetUp succeeded for volume "task-pv-volume"
Normal SuccessfulMountVolume 2d kubelet, k8second MountVolume.SetUp succeeded for volume "default-token-9nj9b"
Warning Failed 2d kubelet, k8second Failed to pull image "nginx:1.12": rpc error: code = Unknown desc = Er ror response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:48485->[::1] :53: read: connection refused
Warning Failed 2d kubelet, k8second Failed to pull image "nginx:1.12": rpc error: code = Unknown desc = Er ror response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:56983->[::1] :53: read: connection refused
Warning Failed 2d kubelet, k8second Failed to pull image "nginx:1.12": rpc error: code = Unknown desc = Er ror response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:45017->[::1] :53: read: connection refused
Warning Failed 2d (x4 over 2d) kubelet, k8second Error: ErrImagePull
Normal Pulling 2d (x4 over 2d) kubelet, k8second pulling image "nginx:1.12"
Warning Failed 2d kubelet, k8second Failed to pull image "nginx:1.12": rpc error: code = Unknown desc = Er ror response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:44154->[::1] :53: read: connection refused
Normal BackOff 2d (x5 over 2d) kubelet, k8second Back-off pulling image "nginx:1.12"
Warning Failed 2d (x126 over 2d) kubelet, k8second Error: ImagePullBackOff
Normal Scheduled 34m default-scheduler Successfully assigned nginx-6b58d9cdfd-dhjqd to k8second
Name: registry-795c6c8b8f-64nj5
Namespace: default
Node: k8second/192.168.0.45
Start Time: Mon, 30 Jul 2018 07:17:06 +0200
Labels: io.kompose.service=registry
pod-template-hash=3517274649
Annotations: <none>
Status: Pending
IP: 192.168.27.216
Controlled By: ReplicaSet/registry-795c6c8b8f
Containers:
registry:
Container ID:
Image: registry:2
Image ID:
Port: 5000/TCP
Host Port: 0/TCP
State: Waiting
Reason: ImagePullBackOff
Ready: False
Restart Count: 0
Environment:
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
Mounts:
/data from registry-claim0 (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-9nj9b (ro)
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
registry-claim0:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: registry-claim0
ReadOnly: false
default-token-9nj9b:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-9nj9b
Optional: false
QoS Class: BestEffort
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 SuccessfulMountVolume 2d kubelet, k8second MountVolume.SetUp succeeded for volume "registryvm"
Normal SuccessfulMountVolume 2d kubelet, k8second MountVolume.SetUp succeeded for volume "default-token-9nj9b"
Warning Failed 2d kubelet, k8second Failed to pull image "registry:2": rpc error: code = Unknown desc = Er ror response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:42661->[::1] :53: read: connection refused
Warning Failed 2d kubelet, k8second Failed to pull image "registry:2": rpc error: code = Unknown desc = Er ror response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:33018->[::1] :53: read: connection refused
Warning Failed 2d kubelet, k8second Failed to pull image "registry:2": rpc error: code = Unknown desc = Er ror response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:51314->[::1] :53: read: connection refused
Normal BackOff 2d (x5 over 2d) kubelet, k8second Back-off pulling image "registry:2"
Warning Failed 2d (x4 over 2d) kubelet, k8second Error: ErrImagePull
Normal Pulling 2d (x4 over 2d) kubelet, k8second pulling image "registry:2"
Warning Failed 2d kubelet, k8second Failed to pull image "registry:2": rpc error: code = Unknown desc = Er ror response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:44726->[::1] :53: read: connection refused
Warning Failed 2d (x127 over 2d) kubelet, k8second Error: ImagePullBackOff
Normal Scheduled 34m default-scheduler Successfully assigned registry-795c6c8b8f-64nj5 to k8second
admin1@k8master:~$0 -
Hi, thanks for the detailed output. It seems there is a connection issue between k8second and k8master. Traffic to certain ports may be blocked by either the firewall from Suse and/or a networking setting between the VMs. For the purpose of the labs I remember making sure that my firewall was disabled on master and nodes, and my VMs were able to communicate with each other and the internet.
Regards,
-Chris
0 -
Thanks Chris. you are write. my VM's DNS entry into /etc/resolv.conf was not persistance which cuased the issue.
fixing the dns resolved the issue.
0
Categories
- All Categories
- 177 LFX Mentorship
- 177 LFX Mentorship: Linux Kernel
- 754 Linux Foundation IT Professional Programs
- 374 Cloud Engineer IT Professional Program
- 170 Advanced Cloud Engineer IT Professional Program
- 74 DevOps IT Professional Program - Discontinued
- 5 DevOps & GitOps IT Professional Program
- 100 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 2 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 5 Cloud & Containers Training
- 1 Cybersecurity Training
- 2 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 2 Open Source Best Practice Training
- 2 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 794 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 89 Storage
- 769 Linux Distributions
- 81 Debian
- 68 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 112 Mobile Computing
- 20 Android
- 77 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 393 Off Topic
- 121 Introductions
- 182 Small Talk
- 29 Study Material
- 976 Programming and Development
- 310 Kernel Development
- 648 Software Development
- 990 Software
- 382 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)