Dell NativeEdge: Устранение ограничений скорости извлечения при попытке развертывания Calico для развертывания NativeEdge
Resumen: В этой статье описывается, как выполнить проверку подлинности с помощью концентратора Docker, чтобы избежать проблем с ограничением скорости загрузки.
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
Для NativeEdge Orchestrator 2.1.0.0 Calico рекомендуется использовать в качестве сетевого интерфейса контейнера (CNI).
Инструкции по внесению изменений для установки Calico содержатся в руководстве по развертыванию NativeEdge Orchestrator. Однако в процессе установки Calico он скачивается из Docker Hub. В Docker Hub реализовано ограничение скорости загрузки, с которым можно столкнуться во время установки Calico. (Более подробную информацию об ограничении скорости можно найти на docker.com.)
Когда пользователь перечисляет модули pod после установки, он может увидеть, что пакет calico находится в Init:ImagePullBackOff, что указывает на проблемы со скачиванием контейнера.
Это можно увидеть, описав ситцево-узловой стручок
Как видно из вышесказанного, модуль не загружается из-за следующих причин:
«Слишком много запросов — сообщение сервера: toomanyrequests: Достигнут предел скорости вытягивания. Вы можете увеличить лимит, выполнив аутентификацию и обновив версию: https://www.docker.com/increase-rate-limit"
Инструкции по внесению изменений для установки Calico содержатся в руководстве по развертыванию NativeEdge Orchestrator. Однако в процессе установки Calico он скачивается из Docker Hub. В Docker Hub реализовано ограничение скорости загрузки, с которым можно столкнуться во время установки Calico. (Более подробную информацию об ограничении скорости можно найти на docker.com.)
Когда пользователь перечисляет модули pod после установки, он может увидеть, что пакет calico находится в Init:ImagePullBackOff, что указывает на проблемы со скачиванием контейнера.
#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
Это можно увидеть, описав ситцево-узловой стручок
#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
Как видно из вышесказанного, модуль не загружается из-за следующих причин:
«Слишком много запросов — сообщение сервера: toomanyrequests: Достигнут предел скорости вытягивания. Вы можете увеличить лимит, выполнив аутентификацию и обновив версию: https://www.docker.com/increase-rate-limit"
Causa
Эта проблема возникает из-за ограничений скорости извлечения, установленных dockerhub. Дополнительные сведения см. в https://www.docker.com/increase-rate-limit .
Resolución
Если пользователь использует аутентифицированную учетную запись концентратора Docker, это означает, что у пользователя может быть более высокий индивидуальный лимит скорости извлечения.
- Создайте учетную запись на docker.io
- Создайте секрет в пространстве имен kube-system. В этом примере создается секрет regcred с использованием учетных данных, используемых для регистрации учетной записи в 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"
- Пользователь должен отредактировать файл calico.yaml, чтобы использовать только что созданный секрет (regcred).
- В template.spec пользователь должен включить следующее:
imagePullSecrets: - name: regcred- Для справки вот реальный пример
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 - Важно! Только шаблон calico-node требует добавления функции imagePullSecrets.
- Для справки вот реальный пример
- Применение 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
- Пользователь должен увидеть, что кластер kubernetes запущен и успешно работает.
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.