Kubernetes Autoscaler未扩展,节点处于NotReady状态,POD处于未知状态
我正在GKE上运行一个带有单节点池的集群。它有3个节点,可以从1个节点扩展到99个节点。集群使用Kubernetes Autoscaler未扩展,节点处于NotReady状态,POD处于未知状态,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,我正在GKE上运行一个带有单节点池的集群。它有3个节点,可以从1个节点扩展到99个节点。集群使用nginx入口控制器 在此群集上,我要部署应用程序。一个应用程序由一个名称空间限定范围,由3个部署和一个入口(定义从internet访问应用程序的路径)组成。每个部署都运行容器的单个副本 部署几个应用程序可以正常工作,但部署许多应用程序(需要节点池进行扩展)会破坏一切: 所有吊舱开始出现警告(包括先前成功部署的吊舱) 所有节点都未就绪: kubectl get nodes NAME
nginx入口
控制器
在此群集上,我要部署应用程序。一个应用程序由一个名称空间限定范围,由3个部署
和一个入口
(定义从internet访问应用程序的路径)组成。每个部署都运行容器的单个副本
部署几个应用程序可以正常工作,但部署许多应用程序(需要节点池进行扩展)会破坏一切:
所有吊舱开始出现警告(包括先前成功部署的吊舱)
所有节点都未就绪:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
gke-clients-projects-default-pool-f9af73d4-gzwr NotReady <none> 42m v1.9.7-gke.6
gke-clients-projects-default-pool-f9af73d4-p5l2 NotReady <none> 21m v1.9.7-gke.6
gke-clients-projects-default-pool-f9af73d4-wnxc NotReady <none> 37m v1.9.7-gke.6
kubectl获取节点
姓名状态角色年龄版本
gke-clients-projects-default-pool-f9af73d4-gzwr NotReady 42m v1.9.7-gke.6
gke-clients-projects-default-pool-f9af73d4-p5l2 NotReady 21m v1.9.7-gke.6
gke-clients-projects-default-pool-f9af73d4-wnxc NotReady 37m v1.9.7-gke.6
删除名称空间以从集群中删除所有资源似乎也会失败,因为很长一段时间后,POD仍然处于活动状态,但仍处于未知状态
我如何才能安全地添加更多应用程序并让群集自动缩放?原因似乎是调度程序不知道每个pod所需的资源,因此会将它们调度到任何可用节点上,这可能会耗尽可用资源,并使Docker守护进程处于不一致的状态 解决方案是指定资源请求和限制:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
gke-clients-projects-default-pool-f9af73d4-gzwr NotReady <none> 42m v1.9.7-gke.6
gke-clients-projects-default-pool-f9af73d4-p5l2 NotReady <none> 21m v1.9.7-gke.6
gke-clients-projects-default-pool-f9af73d4-wnxc NotReady <none> 37m v1.9.7-gke.6