Dell NativeEdge: NativeEdge Dağıtımı için Calico'yu dağıtmaya çalışırken çekme hızı sınırlarını çözme
Summary: Bu makalede, indirme hızı sınırı sorunlarını önlemek için Docker Hub ile nasıl kimlik doğrulanacağı özetlenmektedir.
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
NativeEdge Orchestrator 2.1.0.0 için kapsayıcı ağ arayüzü (CNI) olarak Calico önerilirCalico'yu
yükleme değişiklikleri için talimatlar NativeEdge Orchestrator Dağıtım Rehberi'nde bulunur. Ancak Calico'nun kurulum işlemi sırasında Docker Hub'dan indirme yapar. Docker Hub, Calico kurulumu sırasında karşılaşılabilecek bir indirme hızı sınırı uygular. (Hız sınırıyla ilgili daha fazla ayrıntı docker.com'da bulunabilir.)
Kullanıcı yüklemeden sonra bölmeleri listelediğinde, kullanıcı patiska bölmesinin bir Init:ImagePullBackOff içinde olduğunu görebilir ve bu da kapsayıcıyı indirirken sorunlar olduğunu gösterir.
Bu, patiska düğüm bölmesini tanımladığımızda daha fazla görülebilir
Kullanıcının yukarıdan da görebileceği gibi, bölme şu nedenlerle indirilemiyor:
"Too Many Requests - Server message: toomanyrequests: Çekme hızı sınırınıza ulaştınız. Kimlik doğrulaması ve yükseltme yaparak sınırı artırabilirsiniz: https://www.docker.com/increase-rate-limit"
yükleme değişiklikleri için talimatlar NativeEdge Orchestrator Dağıtım Rehberi'nde bulunur. Ancak Calico'nun kurulum işlemi sırasında Docker Hub'dan indirme yapar. Docker Hub, Calico kurulumu sırasında karşılaşılabilecek bir indirme hızı sınırı uygular. (Hız sınırıyla ilgili daha fazla ayrıntı docker.com'da bulunabilir.)
Kullanıcı yüklemeden sonra bölmeleri listelediğinde, kullanıcı patiska bölmesinin bir Init:ImagePullBackOff içinde olduğunu görebilir ve bu da kapsayıcıyı indirirken sorunlar olduğunu gösterir.
#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
Bu, patiska düğüm bölmesini tanımladığımızda daha fazla görülebilir
#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
Kullanıcının yukarıdan da görebileceği gibi, bölme şu nedenlerle indirilemiyor:
"Too Many Requests - Server message: toomanyrequests: Çekme hızı sınırınıza ulaştınız. Kimlik doğrulaması ve yükseltme yaparak sınırı artırabilirsiniz: https://www.docker.com/increase-rate-limit"
Cause
Bu sorun, dockerhub tarafından ayarlanan çekme hızı sınırları nedeniyle oluşur - ayrıntılar için https://www.docker.com/increase-rate-limit bakın.
Resolution
Kullanıcı kimliği doğrulanmış bir docker hub hesabı kullanıyorsa, bu, kullanıcının daha yüksek bir bireysel çekme hızı sınırına sahip olabileceği anlamına gelir.
- docker.io'da bir hesap oluşturun
- kube-system ad alanında bir gizli dizi oluşturun. Bu örnekte, docker.io'da bir hesabı kaydetmek için kullanılan kimlik bilgileri kullanılarak regcred adlı bir gizli dizi oluşturulur.
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"
- Kullanıcının, az önce oluşturulan gizli diziyi (regcred) kullanmak için calico.yaml dosyasını düzenlemesi gerekir.
- Kullanıcı template.spec içinde aşağıdakileri içermelidir:
imagePullSecrets: - name: regcred- Referans için burada gerçek bir örnek verilmiştir
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 - Önemli: Yalnızca calico-node şablonuna imagePullSecrets özelliğinin eklenmesi gerekir.
- Referans için burada gerçek bir örnek verilmiştir
- Değişikliklerden sonra calico.yaml'ı uygulayın
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
- Kullanıcı, kubernetes kümesinin başarıyla çalıştığını görmelidir.
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.