[英]Automatic scaling of pods or containers
谁能告诉我是否可以扩展 pod 中的容器数量或 pod 的数量(仅包含 1 个容器)?
我想要一个理想情况下运行 0 个实例的设置。 然后每当用户到达一个页面时,它应该添加另一个 pod/container-instance,以便每个用户都有自己的环境。 当用户离开特定环境时应终止。 这是否可以为任何 n 用户设置。 例如,每个 pod/容器限制为 5 个用户。 第一个加入的人意味着创建一个新的 pod/容器。 第二个只是到达相同的 p/c,依此类推到第五个。 如果第六个用户加入,我希望它为此用户创建一个新的 pod/容器。 如果 Pod/容器有 0 个连接,则应终止它。
我已经读过,如果 pod 中的容器被终止 - 那么所有同类容器也会被终止,我想避免这种情况,以防其他用户连接到这些容器之一。
在这个 docker / kubernetes 的东西中相当新(现在使用 minikube 作为测试),我希望你能指出我正确的方向。 谢谢!
正如我在评论中提到的,您应该检查Horizontal Pod Autoscaler
和Cluster Autoscaler
。
Horizontal Pod Autoscaler可以根据指标放大或缩小Pod 的数量。 如果您想使用CPU
或Memory
指标,它们是内置在 Kubernetes 中的。 Horizontal Pod Autoscaler Walkthrough 中详细描述了如何使用的信息。
当您将使用文档中的HPA
示例时,请记住, HPA
需要几分钟来收集指标然后显示它。
如果您要使用其他指标(如您在问题中提到的那些),您应该使用custom metrics
或external metrics
,这取决于您的需要。 要获得这些指标,您需要部署将收集这些数据的指标代理。 最流行的一种是Prometheus 适配器。 我已经在此处使用kubeadm
或minikube
时提到了这一点。
如果你想自动缩放节点,你应该阅读Cluster Autoscaler 。 由于CA
需要随时添加/删除节点,因此建议使用 Cloud 环境。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.