Dell NativeEdge: Jak vyřešit limity rychlosti stahování při pokusu o nasazení aplikace Calico pro nasazení platformy NativeEdge
Summary: Tento článek popisuje, jak se ověřit pomocí Docker Hub, abyste se vyhnuli problémům s omezením rychlosti stahování.
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
Pro nástroj NativeEdge Orchestrator 2.1.0.0 se Calico doporučuje jako síťové rozhraní kontejneru (CNI)
Pokyny k úpravám pro instalaci aplikace Calico jsou obsaženy v průvodci nasazením nástroje NativeEdge Orchestrator. Během procesu instalace Calico se ale stáhne z Docker Hubu. Docker Hub implementuje limit rychlosti stahování, se kterým se můžete setkat během instalace Calico. (Další podrobnosti o omezení rychlosti naleznete na docker.com.)
Když uživatel po instalaci vypíše pody, uživatel uvidí, že calico pod je v Init:ImagePullBackOff , což znamená, že došlo k problémům se stahováním kontejneru.
To lze dále vidět, když popíšeme lusk s kalikouzlem
Jak uživatel vidí z výše uvedeného, pod se nepodaří stáhnout, protože:
"Příliš mnoho požadavků – zpráva serveru: toomanyrequests: Dosáhli jste limitu rychlosti stahování. Limit můžete zvýšit ověřením a upgradem: https://www.docker.com/increase-rate-limit"
Pokyny k úpravám pro instalaci aplikace Calico jsou obsaženy v průvodci nasazením nástroje NativeEdge Orchestrator. Během procesu instalace Calico se ale stáhne z Docker Hubu. Docker Hub implementuje limit rychlosti stahování, se kterým se můžete setkat během instalace Calico. (Další podrobnosti o omezení rychlosti naleznete na docker.com.)
Když uživatel po instalaci vypíše pody, uživatel uvidí, že calico pod je v Init:ImagePullBackOff , což znamená, že došlo k problémům se stahováním kontejneru.
#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
To lze dále vidět, když popíšeme lusk s kalikouzlem
#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
Jak uživatel vidí z výše uvedeného, pod se nepodaří stáhnout, protože:
"Příliš mnoho požadavků – zpráva serveru: toomanyrequests: Dosáhli jste limitu rychlosti stahování. Limit můžete zvýšit ověřením a upgradem: https://www.docker.com/increase-rate-limit"
Cause
K tomuto problému dochází kvůli omezením rychlosti vyžádání nastaveným dockerhubem – podrobnosti najdete v https://www.docker.com/increase-rate-limit .
Resolution
Pokud uživatel používá ověřený účet docker hub, znamená to, že uživatel může mít vyšší individuální limit rychlosti přijetí změn.
- Vytvořte si účet na docker.io
- Vytvořte tajný kód v oboru názvů kube-system. Tento příklad vytvoří tajný kód s názvem regcred pomocí přihlašovacích údajů použitých k registraci účtu na 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"
- Uživatel musí upravit calico.yaml tak, aby používal tajný kód (regcred), který byl právě vytvořen.
- Uvnitř template.spec musí uživatel zahrnout následující:
imagePullSecrets: - name: regcred- Pro referenci je zde skutečný příklad
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 - Důležité: Pouze šablona calico-node vyžaduje, aby do ní byla přidána imagePullSecrets funkce.
- Pro referenci je zde skutečný příklad
- Po změnách použijte calico.yaml
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
- Uživatel by měl vidět, že cluster Kubernetes je úspěšně spuštěný.
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.