Каковы точные системные требования для установки Knative? Почему основные инструкции по установке приводят меня к исчерпанию ресурсов?

Я пытался настроить среду разработки Knative в своей системе. Но каждый раз, когда я развертываю Istio, пилот остается в состоянии ожидания, и я нахожу его из-за истощения ресурсов.

Я следовал основному руководству по настройке из Knative docs. то есть сервировка / блоб / мастер /DEVELOPMENT.md

Теперь, если я устанавливаю и внедряю istio в соответствии с ним, ресурсы истощаются, а istio-pilot остается в состоянии ожидания из-за отсутствия доступного узла.

Если я попробую то же самое с приведенным в руководстве по установке, т.е. https://knative.dev/docs/install/installing-istio/

Он работает нормально до тех пор, пока я не перезапущу кластер, остановленный api-сервер, который соответствует тому, что я нашел при поиске, также из-за нехватки ресурсов.

Итак, каковы точные требования для установки Knative?

Я использовал систему с 8 -ядерным процессором и 32 ГБ оперативной памяти.

Я распределяю это неправильно? насколько я понял, мы должны выделить как минимум 8 ГБ памяти и 6 ЦП для структур kubernetes с одним узлом (это то, что я использую). Как насчет ресурсов, используемых Istio и Knative?

Я проверил ресурсы и ограничения в узле и получил, что ограничения установлены в 0%.

Я уже пытался ограничить ЦП и ОЗУ в конфиге minikube, затем с помощью --cpu и --memory во время запуска миникуба, но вывод остался прежним.

Миникуб стартовал с: миникуб старт

     Creating virtualbox VM (CPUs=6, Memory=8192MB, Disk=20000MB) ...
     Preparing Kubernetes v1.15.2 on Docker 18.09.8 ...
     Pulling images ...

ISTIO Развернуто:

    kubectl apply -f ./third_party/istio-1.2-latest/istio-crds.yaml
    while [[ $(kubectl get crd gateways.networking.istio.io -o 
    jsonpath='{.status.conditions[?(@.type=="Established")].status}') != 
    'True' ]]; do
    echo "Waiting on Istio CRDs"; sleep 1
    done
    kubectl apply -f ./third_party/istio-1.2-latest/istio.yaml

Пилот остается в ожидании, и после описания модуля мы получаем:

Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  71s (x4 over 5m12s)  default-scheduler  0/1 nodes are available: 1 Insufficient cpu.

Выход для kubectl describe node nodename:

Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests          Limits
  --------           --------          ------
  cpu                5105m (85%)       13800m (229%)
  memory             3749366272 (45%)  9497290Ki (117%)
  ephemeral-storage  0 (0%)            0 (0%)
Events:
  Type    Reason                   Age                From                  Message
  ----    ------                   ----               ----                  -------
  Normal  Starting                 19m                kubelet, minikube     Starting kubelet.
  Normal  NodeHasSufficientMemory  19m (x8 over 19m)  kubelet, minikube     Node minikube status is now: NodeHasSufficientMemory
  Normal  NodeHasNoDiskPressure    19m (x8 over 19m)  kubelet, minikube     Node minikube status is now: NodeHasNoDiskPressure
  Normal  NodeHasSufficientPID     19m (x7 over 19m)  kubelet, minikube     Node minikube status is now: NodeHasSufficientPID
  Normal  NodeAllocatableEnforced  19m                kubelet, minikube     Updated Node Allocatable limit across pods
  Normal  Starting                 18m                kube-proxy, minikube  Starting kube-proxy.

Установка должна была быть успешной, так как я установил лимиты с RequestQuotas и LimitRange тоже. Но ничего не работает.

что я тут не так делаю?

1 ответ

Вам определенно не хватает ресурсов. Только для Istio на Миникубе вам нужно:

16384 МБ памяти и 4 процессора

Добавьте к этому требования для Knative, которые не включены в вышеперечисленное, и вы увидите, что предоставленных вами ресурсов недостаточно.

Другие вопросы по тегам