Dell NativeEdge: Sådan løser du pullhastighedsgrænser, når du forsøger at implementere Calico til NativeEdge-implementering
Summary: Denne artikel beskriver, hvordan du godkender med Docker Hub for at undgå problemer med downloadhastighedsbegrænsningen.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
Til NativeEdge Orchestrator 2.1.0.0 anbefales Calico som en beholdernetværksgrænseflade (CNI)
Instruktioner til ændringer til installation af Calico findes i implementeringsvejledningen til NativeEdge Orchestrator. Men under installationsprocessen af Calico downloades den fra Docker Hub. Docker Hub implementerer en downloadhastighedsgrænse, som kan opstå under installationen af Calico. (Yderligere oplysninger om satsgrænsen findes på docker.com.)
Når brugeren viser pods efter installation, kan brugeren se, at calico pod er i en Init:ImagePullBackOff hvilket indikerer, at der er problemer med at downloade beholderen.
Dette kan ses yderligere, når vi beskriver calico-node pod
Som brugeren kan se af ovenstående, pod undlader at downloade på grund af:
"Too Many Requests - Server message: toomanyrequests: Du har nået din pullrategrænse. Du kan øge grænsen ved at godkende og opgradere: https://www.docker.com/increase-rate-limit"
Instruktioner til ændringer til installation af Calico findes i implementeringsvejledningen til NativeEdge Orchestrator. Men under installationsprocessen af Calico downloades den fra Docker Hub. Docker Hub implementerer en downloadhastighedsgrænse, som kan opstå under installationen af Calico. (Yderligere oplysninger om satsgrænsen findes på docker.com.)
Når brugeren viser pods efter installation, kan brugeren se, at calico pod er i en Init:ImagePullBackOff hvilket indikerer, at der er problemer med at downloade beholderen.
#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
Dette kan ses yderligere, når vi beskriver calico-node pod
#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 brugeren kan se af ovenstående, pod undlader at downloade på grund af:
"Too Many Requests - Server message: toomanyrequests: Du har nået din pullrategrænse. Du kan øge grænsen ved at godkende og opgradere: https://www.docker.com/increase-rate-limit"
Cause
Dette problem opstår på grund af begrænsninger for trækhastighed, der er indstillet af dockerhub – se https://www.docker.com/increase-rate-limit for at få flere oplysninger.
Resolution
Hvis brugeren bruger en godkendt docker hub-konto, betyder det, at brugeren kan have en højere individuel pullhastighedsgrænse.
- Opret en konto på docker.io
- Opret en hemmelighed i kube-system-navneområdet. Dette eksempel opretter en hemmelighed kaldet regcred ved hjælp af de legitimationsoplysninger, der bruges til at registrere en 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"
- Brugeren skal redigere calico.yaml for at bruge hemmeligheden (regcred) er netop oprettet.
- I template.spec skal brugeren inkludere følgende:
imagePullSecrets: - name: regcred- Til reference her er et rigtigt eksempel
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 - Vigtigt: Kun calico-node-skabelonen kræver, at imagePullSecrets-funktionen føjes til den.
- Til reference her er et rigtigt eksempel
- Påfør calico.yaml efter ændringerne
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
- Brugeren bør se kubernetes-klyngen køre korrekt.
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
Affected Products
NativeEdge Solutions, NativeEdgeArticle Properties
Article Number: 000225940
Article Type: Solution
Last Modified: 01 Oct 2024
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.