如何解决Kubernetes-根据内存和CPU使用率设置Pod复制条件
我是Kubernetes世界的新手。如果我有任何问题,请原谅。
我知道Pod复制是由k8s本身处理的。我们还可以设置Pod的CPU和内存使用率。但是是否可以根据内存和CPU使用率更改复制条件?例如,如果我想在其内存/ CPU使用率达到70%时复制Pod。
我们可以使用Prometheus等收集的指标来做到这一点吗?
解决方法
您可以使用horizontal pod autoscaler。来自文档
中的示例Horizontal Pod Autoscaler自动缩放荚数 在复制控制器,部署,副本集或有状态集中 根据观察到的CPU利用率(或借助自定义指标支持) 其他一些应用程序提供的指标)。请注意,水平吊舱 自动缩放不适用于无法缩放的对象,例如 例如DaemonSets。
Horizontal Pod Autoscaler被实现为Kubernetes API 资源和控制器。资源决定了行为 控制器。控制器会定期调整副本数 在复制控制器或部署中以匹配观察到的 用户指定目标的平均CPU利用率
以下命令将创建一个水平Pod自动缩放器,该缩放器将维护1至10个Pod副本。 HPA将增加或减少副本数,以将所有Pod的平均CPU利用率维持在50%。
kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。