gpt4 book ai didi

azure - 管理小规模 Docker 容器

转载 作者:行者123 更新时间:2023-12-02 21:05:48 25 4
gpt4 key购买 nike

我已经使用 Azure 容器实例部署了 5 个应用程序,这些应用程序运行良好,但我遇到的问题是,目前所有容器都在运行,这会导致成本高昂。

我想要做的是在需要时启动/停止实例,为此使用始终工作的主容器或虚拟机。

E.G.

此主服务收到请求,将 3 号服务启动 2 小时,然后将其关闭,所有其他容器将关闭,直到收到类似的请求。

对于我的用例,大多数时候每项服务每天的使用时间少于 5 小时。

现在,我知道 Kubernetes 是一个用于管理容器的引擎,但我发现的所有示例都是针对大规模服务的,而不是针对每个只有一个容器的 5 个服务的,也不确定 Kubernetes 是否允许关闭所有容器的时间。

我正在考虑的是处理所有这些抛出一些API,但我没有在Azure中找到任何允许类似的服务,我只找到了创建新容器的选项,而不是启动和关闭他们下来了。

编辑:

此外,该应用程序运行的进程对于无服务器平台而言过于繁重。

最佳答案

解决方案是为您的部署定义水平 Pod 自动缩放器。

Horizo​​ntal Pod Autoscaler 根据观察到的 CPU 利用率(或者通过自定义指标支持,根据应用程序提供的其他一些指标)自动缩放复制 Controller 、部署或副本集中的 Pod 数量。请注意,Horizo​​ntal Pod Autoscaling 不适用于无法缩放的对象,例如 DaemonSets。

Horizo​​ntal Pod Autoscaler 是作为 Kubernetes API 资源和 Controller 实现的。资源决定 Controller 的行为。 Controller 定期调整复制 Controller 或部署中的副本数量,以使观察到的平均 CPU 利用率与用户指定的目标相匹配。

配置文件应如下所示:

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: hpa-images-service
spec:
scaleTargetRef:
apiVersion: apps/v1beta1
kind: Deployment
name: example-deployment
minReplicas: 2
maxReplicas: 100
targetCPUUtilizationPercentage: 75

scaleRef 应引用您的部署定义,minReplicas 可以设置为 0,targetCPUUtilization 的值您可以根据您的喜好设置。这种方法应该可以帮助您节省资金,因为终止 pod 的 CPU 利用率很高。

Kubernetes官方文档:kubernetes-hpa .

GKE 自动缩放器文档:gke-autoscaler .

关于使用 GCP 节省现金的有用博客:kubernetes-google-cloud .

关于azure - 管理小规模 Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58104279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com