Предел несоответствия GKE подов Kubernetes на узел из официальной документации - PullRequest
1 голос
/ 26 мая 2020

Я определяю размер небольшого кластера Kubernetes в Google Cloud Platform, мне нужна следующая документация: https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr#overview

Итак, у меня есть

  • 3 узлы
  • / 24 для модулей
  • / 25 для служб
  • 16 модулей на узел, заданных при создании кластера

При развертывании кластера и развернуть nginx реплик POD, я могу достичь максимум 30, в то время как я ожидал бы достичь 48 POD.

Согласно документации Google у меня должен быть / 27 (который я вижу назначенным на каждом узле) и диапазон узлов от 9 до 16. Теперь, хотя в среднем 10 узлов приемлемо, учитывая диапазон 9–16, я не понимаю, почему он не увеличивается выше этого числа.

Вот код для вашего обзора, я не возможность увидеть, есть ли другие ограничения:

gcloud compute networks subnets create $SERVICE_PROJECT1_SUB_K8S_NODES \
--network $SHAREDVPC --region $REGION \
--range 10.222.5.32/28 --secondary-range \
$SERVICE_PROJECT1_SUB_K8S_PODS=10.222.6.0/24, \
$SERVICE_PROJECT1_SUB_K8S_SERVICES=10.222.5.128/25 \
--enable-private-ip-google-access
gcloud beta container clusters create service1-k8s-cluster \
--zone $REGION \
--network projects/$HOST_PROJECT_ID/global/networks/$SHAREDVPC \
--subnetwork projects/$HOST_PROJECT_ID/regions/$REGION/subnetworks/$SERVICE_PROJECT1_SUB_K8S_NODES \
--cluster-secondary-range-name $SERVICE_PROJECT1_SUB_K8S_PODS \
--services-secondary-range-name $SERVICE_PROJECT1_SUB_K8S_SERVICES \
--enable-master-authorized-networks \
--master-authorized-networks 10.222.1.0/24 \
--enable-ip-alias \
--enable-private-nodes \
--enable-private-endpoint \
--master-ipv4-cidr $SERVICE_PROJECT1_SUB_K8S_MASTER \
--no-enable-basic-auth \
--no-issue-client-certificate \
--enable-master-global-access \
--num-nodes 1 \
--default-max-pods-per-node 16 \
--max-pods-per-node 16 \
--machine-type n1-standard-2

Ошибка, которую я вижу в POD

Events:
  Type     Reason             Age                    From                Message
  ----     ------             ----                   ----                -------
  Normal   NotTriggerScaleUp  4m53s (x151 over 29m)  cluster-autoscaler  pod didn't trigger scale-up (it wouldn't fit if a new node is added):
  Warning  FailedScheduling   8s (x22 over 29m)      default-scheduler   0/3 nodes are available: 3 Insufficient pods.

1 Ответ

3 голосов

Вы никогда не достигнете этого порога 48, есть некоторые IP-адреса, которые используются для наборов демонов, которые не позволят вам достичь высокого порога, который вы установили для себя, например, в моем кластере у меня есть следующие

 kube-system                fluentd-gcp-v3.1.1-grkv8                                          100m (1%)     1 (12%)     200Mi (0%)       500Mi (1%)     10d
  kube-system                kube-proxy-gke-eng-e2e-main-gke-e2e-n1-highmem-8-501281f5-9ck0    100m (1%)     0 (0%)      0 (0%)           0 (0%)         3d19h
  kube-system                network-metering-agent-ck74l                                      0 (0%)        0 (0%)      0 (0%)           0 (0%)         10d
  kube-system                prometheus-to-sd-qqsn6                                            1m (0%)       3m (0%)     20Mi (0%)        37Mi (0%)      10d
  monitor                    prometheus-prometheus-node-exporter-8229c                         0 (0%)        0 (0%)      0 (0%)           0 (0%)         11d
  neuvector                  neuvector-enforcer-pod-p79j5                                      100m (1%)     2 (25%)     128Mi (0%)       1Gi (2%)       11d

Это для каждого узла, который устанавливает демон, развертывает эти модули на каждом узле, эффективно уменьшая на 6 количество IP-адресов, доступных моим модулям приложений.

...