gpt4 book ai didi

Azure容器实例在停止或删除后显然继续运行

转载 作者:行者123 更新时间:2023-12-03 02:51:14 25 4
gpt4 key购买 nike

我们有一个使用 Azure ServiceBus 的基于微服务的应用程序。我们将其中一项服务(saga 管理器)部署为 Docker 容器 (Linux) 中的 .Net Core 控制台应用程序。我们使用 docker-compose 并将一组 2 个容器(包括控制台应用程序)部署到 Azure 容器实例中。

我们使用 MassTransit 来与 Azure ServiceBus 配合使用。

控制台应用程序(saga 管理器)通过 MassTransit.BusControlExtensions.Start() 方法启动服务总线。

此时控制台应用程序(saga 管理器)或多或少已准备就绪。

旁注:相关应用程序(saga 管理器)运行一个自动匿名状态机

现在,如果我们使用 saga 管理器停止删除容器,然后重新启动它 - 它会停止接收总线消息。

看起来传奇管理器(线程?)的新实例是在每次重新启动时创建的 - 而旧实例(线程?)以某种方式持续存在。 p>

即使我们在 Azure 上完全删除容器实例资源 - 我们仍然观察到总线消息被某些东西拾取...

删除容器组本身后,容器的应用程序仍然存在

有没有办法明确杀死分离的实例/线程?

有人熟悉 Azure 容器实例的这种行为吗?

PS 在所描述的场景中,停止/删除操作总是成功的

PS2:这是用于使用 az container create 命令部署有问题的容器组的 yaml 文件:

apiVersion: 2018-10-01
location: westeurope
name: #{groupName}#
properties:
containers:
- name: saga-aci
properties:
image: #{acrLoginServer}#/sagaazure:latest
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
- port: 80
- port: 443
- port: 9350
- name: proxymanager-aci
properties:
image: #{acrLoginServer}#/proxymanager:latest
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
- port: 22999
- port: 24000
osType: Linux
ipAddress:
type: Public
ports:
- protocol: tcp
port: '80'
#- protocol: tcp
#port: '8080'
- protocol: tcp
port: '22999'
- protocol: tcp
port: '24000'
- protocol: tcp
port: '443'
- protocol: tcp
port: '9350'
imageRegistryCredentials:
- server: #{acrLoginServer}#
username: #{acrName}#
password: #{acrPassword}#
tags: null
type: Microsoft.ContainerInstance/containerGroups

也许这是一个重启政策问题?

最佳答案

对于Azure容器实例的操作,有一些需要注意的地方。

停止操作,如果停止容器组,那么它将终止并回收组中的所有容器,并且不保留容器的状态。如果容器组已经终止,则没有任何作用。

启动操作,如果从停止状态启动容器组,那么将会有一个具有相同容器配置的新部署。如果镜像更新,它将拉取新镜像。启动操作将启动整个容器组,但无法启动其中的特殊容器。

对于删除操作,我认为如果删除容器组,容器组内的应用程序将不会仍然存在。该行动将需要很短的时间。但最终,容器组将被完全删除。

您可以在 Azure Container Instance Operations 中查看更多详细信息。我对 Azure ServiceBus 没有任何经验,以上仅针对 Azure 容器实例。如果您还有任何疑问,请告诉我。

关于Azure容器实例在停止或删除后显然继续运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56027938/

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