官方文档中每个节点Kubernetes吊舱的GKE不匹配限制
我正在谷歌云平台上调整一个小型kubernetes集群的规模,我的参考文件如下: 所以我有 3节点 /豆荚24个 /服务费25英镑 创建群集时,每个节点集有16个吊舱 当我部署集群并启动一个nginx的pod副本时,我最多只能达到30个,而我预计将达到48个pod 根据谷歌的文档,我应该有一个可以在每个节点上看到的a/27,以及9-16之间的一系列节点。 现在,考虑到9-16范围,平均10个节点是公平的,但我不明白为什么它不能扩展到这个数字以上 这是供您查看的代码,我无法查看是否存在任何其他限制:官方文档中每个节点Kubernetes吊舱的GKE不匹配限制,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,我正在谷歌云平台上调整一个小型kubernetes集群的规模,我的参考文件如下: 所以我有 3节点 /豆荚24个 /服务费25英镑 创建群集时,每个节点集有16个吊舱 当我部署集群并启动一个nginx的pod副本时,我最多只能达到30个,而我预计将达到48个pod 根据谷歌的文档,我应该有一个可以在每个节点上看到的a/27,以及9-16之间的一系列节点。 现在,考虑到9-16范围,平均10个节点是公平的,但我不明白为什么它不能扩展到这个数字以上 这是供您查看的代码,我无法查看是否存在任何其他限
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
我在吊舱里看到的错误
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.
您永远不会达到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
这是针对守护进程设置的每个节点在每个节点上部署这些pod,有效地将我的应用程序pod可用的IP数量减少了6个。您永远不会达到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
这适用于守护程序集在每个节点上部署这些pod的每个节点,有效地将我的应用程序pod的可用IP数量减少了6。当你执行kubectl get no-oyaml时,你会得到什么?grep Pod当你执行kubectl get no-oyaml时,你会得到什么,我不容易在任何地方找到这个,但我认为这是有道理的。您知道我在哪里可以找到使用了多少内部服务的规格吗?为了公平地评估子网的分配情况,我从经验和测试中获得了大部分信息,我知道的默认信息是-Fluentd-Kube Proxy-network metering agent-Prometheus to SD。如果你使用普罗米修斯,你必须考虑到这些,不同版本的kubernetes也有不同的守护程序,还要考虑kube系统的POD,比如:事件导出器、kube dns 2、stackdriver POD等。谢谢你,我在任何地方都找不到,但我认为这是有意义的。您知道我在哪里可以找到使用了多少内部服务的规格吗?为了公平地评估子网的分配情况,我从经验和测试中获得了大部分信息,我知道的默认信息是-Fluentd-Kube Proxy-network metering agent-Prometheus to SD。如果你使用普罗米修斯,你必须考虑到这些,不同版本的kubernetes也有不同的守护程序,还要考虑kube系统的POD,如:事件导出器、kube dns 2、stackdriver POD等。