Dell NativeEdge: Så här löser du pullhastighetsbegränsningar när du försöker distribuera Calico för NativeEdge-distribution
Resumen: Den här artikeln beskriver hur du autentiserar med Docker Hub för att undvika problem med nedladdningshastighetsbegränsning.
Este artículo se aplica a
Este artículo no se aplica a
Este artículo no está vinculado a ningún producto específico.
No se identifican todas las versiones del producto en este artículo.
Síntomas
För NativeEdge Orchestrator 2.1.0.0 rekommenderas Calico som CNI (Container Network Interface)
Anvisningar om hur du installerar Calico finns i distributionsguiden för NativeEdge Orchestrator. Men under installationsprocessen av Calico laddas den ner från Docker Hub. Docker Hub implementerar en gräns för nedladdningshastighet, som kan påträffas under installationen av Calico. (Mer information om hastighetsbegränsningen finns på docker.com.)
När användaren visar en lista över poddarna efter installationen kan användaren se att calico-podden finns i en Init:ImagePullBackOff, vilket indikerar att det finns problem med att ladda ned containern.
Detta kan ses ytterligare när vi beskriver calico-node-podden
Som användaren kan se av ovanstående kan podden inte laddas ned på grund av:
"För många begäranden – Servermeddelande: toomanyrequests: Du har nått din pull rate-gräns. Du kan öka gränsen genom att autentisera och uppgradera: https://www.docker.com/increase-rate-limit"
Anvisningar om hur du installerar Calico finns i distributionsguiden för NativeEdge Orchestrator. Men under installationsprocessen av Calico laddas den ner från Docker Hub. Docker Hub implementerar en gräns för nedladdningshastighet, som kan påträffas under installationen av Calico. (Mer information om hastighetsbegränsningen finns på docker.com.)
När användaren visar en lista över poddarna efter installationen kan användaren se att calico-podden finns i en Init:ImagePullBackOff, vilket indikerar att det finns problem med att ladda ned containern.
#kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system local-path-provisioner-957fdf8bc-cl2nl 0/1 Pending 0 6m50s kube-system metrics-server-648b5df564-bncjh 0/1 Pending 0 6m50s kube-system coredns-77ccd57875-cng6c 0/1 Pending 0 6m50s kube-system calico-kube-controllers-67c64d8b8f-p868c 0/1 Pending 0 6m39s kube-system calico-node-6q82x 0/1 Init:ImagePullBackOff 0 6m37s
Detta kan ses ytterligare när vi beskriver calico-node-podden
#kubectl describe pod calico-node-6q82x -n kube-system Name: calico-node-xscmk Namespace: kube-system .. Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m4s default-scheduler Successfully assigned kube-system/calico-node-xscmk to sre08129 Warning Failed 81s (x2 over 2m2s) kubelet Failed to pull image "docker.io/calico/cni:v3.28.0": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/calico/cni:v3.28.0": failed to copy: httpReadSeeker: failed open: unexpected status code https://registry-1.docker.io/v2/calico/cni/manifests/sha256:7a3a5cf6c79243ba2de9eef8cb20fac7c46ef75b858956b9884b0ce87b9a354d: 429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit Normal Pulling 41s (x4 over 2m3s) kubelet Pulling image "docker.io/calico/cni:v3.28.0" Warning Failed 40s (x2 over 106s) kubelet Failed to pull image "docker.io/calico/cni:v3.28.0": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/calico/cni:v3.28.0": failed to copy: httpReadSeeker: failed open: unexpected status code https://registry-1.docker.io/v2/calico/cni/manifests/sha256:cef0c907b8f4cadc63701d371e6f24d325795bcf0be84d6a517e33000ff35f70: 429 Too Many Requests - Server message: 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 40s (x4 over 2m2s) kubelet Error: ErrImagePull Normal BackOff 13s (x6 over 2m1s) kubelet Back-off pulling image "docker.io/calico/cni:v3.28.0" Warning Failed 13s (x6 over 2m1s) kubelet Error: ImagePullBackOff
Som användaren kan se av ovanstående kan podden inte laddas ned på grund av:
"För många begäranden – Servermeddelande: toomanyrequests: Du har nått din pull rate-gräns. Du kan öka gränsen genom att autentisera och uppgradera: https://www.docker.com/increase-rate-limit"
Causa
Det här problemet uppstår på grund av begränsningar för pull-hastighet som ställts in av dockerhub – se https://www.docker.com/increase-rate-limit för mer information.
Resolución
Om användaren använder ett autentiserat docker hub-konto innebär det att användaren kan ha en högre gräns för individuell pull-hastighet.
- Skapa ett konto på docker.io
- Skapa en hemlighet i kube-system namnområdet. I det här exemplet skapas en hemlighet med namnet regcred med de autentiseringsuppgifter som används för att registrera ett konto på docker.io
kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v1/ --docker-username=dockeriousername --docker-password=dockeriopassword --docker-email=emailusertoregsisterondockerio --namespace="kube-system"
- Användaren måste redigera calico.yaml för att kunna använda hemligheten (regcred) har precis skapats.
- I template.spec måste användaren inkludera följande:
imagePullSecrets: - name: regcred- Som referens här är ett verkligt exempel
spec: selector: matchLabels: k8s-app: calico-node ... template: metadata: labels: k8s-app: calico-node spec: nodeSelector: ... hostNetwork: true tolerations: ... serviceAccountName: calico-node ... initContainers: ... imagePullSecrets: - name: regcred - Viktigt! Endast mallen calico-node kräver att funktionen imagePullSecrets läggs till i den.
- Som referens här är ett verkligt exempel
- Tillämpa calico.yaml efter ändringarna
kubectl apply -f calico.yaml poddisruptionbudget.policy/calico-kube-controllers created serviceaccount/calico-kube-controllers created serviceaccount/calico-node created serviceaccount/calico-cni-plugin created configmap/calico-config created customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/bgpfilters.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/caliconodestatuses.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipreservations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/kubecontrollersconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org created clusterrole.rbac.authorization.k8s.io/calico-kube-controllers created clusterrole.rbac.authorization.k8s.io/calico-node created clusterrole.rbac.authorization.k8s.io/calico-cni-plugin created clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers created clusterrolebinding.rbac.authorization.k8s.io/calico-node created clusterrolebinding.rbac.authorization.k8s.io/calico-cni-plugin created daemonset.apps/calico-node created deployment.apps/calico-kube-controllers created
- Användaren bör se att kubernetes-klustret är igång.
kubectl get po -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system local-path-provisioner-957fdf8bc-x5bn6 1/1 Running 0 22h kube-system coredns-77ccd57875-hf82q 1/1 Running 0 22h kube-system calico-kube-controllers-8498bff86b-tprzt 1/1 Running 0 9m18s kube-system calico-node-pxwqm 1/1 Running 0 9m18s kube-system metrics-server-648b5df564-xdh4h 1/1 Running 0 22h
Productos afectados
NativeEdge Solutions, NativeEdgePropiedades del artículo
Número del artículo: 000225940
Tipo de artículo: Solution
Última modificación: 01 oct 2024
Versión: 4
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.