kubectl get all-n迁移:
NAME READY STATUS RESTARTS AGE
pod/nginx2-7b8667968c-zxtq7 0/1 ImagePullBackOff 0 5m38s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/nginx2 0/1 1 0 5m38s
NAME DESIRED CURRENT READY AGE
replicaset.apps/nginx2-7b8667968c 1 1 0 5m38s
kubectl描述pod nginx2-7b8667968c-zxtq7-n迁移:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 44s default-scheduler Successfully assigned migration/nginx2-7b8667968c-zxtq7 to k8s-master01
Normal SandboxChanged 33s kubelet Pod sandbox changed, it will be killed and re-created.
Normal Pulling 18s (x2 over 43s) kubelet Pulling image "nginx"
Warning Failed 14s (x2 over 34s) kubelet Failed to pull image "nginx": rpc error: code = Unknown desc = Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Warning Failed 14s (x2 over 34s) kubelet Error: ErrImagePull
Normal BackOff 3s (x4 over 32s) kubelet Back-off pulling image "nginx"
Warning Failed 3s (x4 over 32s) kubelet Error: ImagePullBackOff
使用不同的docker帐户登录后:
我可以使用docker pull nginx
手动从docker中提取图像
但是在部署部署时,它再次显示相同的错误。
部署yaml如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx2
namespace: migration
spec:
replicas: 1
selector:
matchLabels:
name: nginx2
template:
metadata:
labels:
name: nginx2
spec:
containers:
- name: nginx2
imagePullPolicy: Always
image: nginx
ports:
- containerPort: 3000
volumeMounts:
- name: game-demo
mountPath: /usr/src/app/config
- name: secret-basic-auth
mountPath: /usr/src/app/secret
- name: site-data2
mountPath: /var/www/html
volumes:
- name: game-demo
configMap:
name: game-demo
- name: secret-basic-auth
secret:
secretName: secret-basic-auth
- name: site-data2
persistentVolumeClaim:
claimName: demo-pvc-claim2
此外,由于nginx映像在本地存在,我尝试将imagePullPolicy
修改为Never
以及"IfNotPresent"。
但什么都不管用。请引导。
这是您的错误:
警告失败14s(x2超过34s(kubelet无法提取映像"nginx":rpc错误:代码=未知desc=来自守护进程的错误响应:toomanyrequests:您已达到提取速率限制。您可以通过身份验证和升级来增加限制:https://www.docker.com/increase-rate-limit
基本上,如果你超过他们的费率限制,docker hub现在将成为一种付费的东西。您可以使用公开托管的";nginx";来自亚马逊的ECR:
docker pull public.ecr.aws/nginx/nginx:latest
这应该与您使用的相同,只需在此处仔细检查:https://gallery.ecr.aws/nginx/nginx