node.js - 使用 @azure/arm-containerinstance 在 ACI 上生成容器
问题描述
我正在处理数据微服务。我有这个微服务 dockerized,现在我想部署它。为了实现它,我尝试使用用 node.js 编写的 Azure 函数来管理 Azure 容器实例中的容器。
我想测试的第一件事是在一个组中生成容器。我的想法是:
const oldConfig = await client.containerGroups.get(
'resourceGroup',
'resourceName'
);
const response = await client.containerGroups.createOrUpdate(
'resourceGroup',
'resourceName',
{
osType: oldConfig.osType,
containers: [
...oldConfig.containers,
{
name: 'test',
image: 'hello-world',
resources: {
requests: {
memoryInGB: 1,
cpu: 1,
},
},
},
],
}
);
我添加了 osType,因为文档和界面说它是必需的,但是当我这样做时,我收到错误“要更新 osType,您需要删除并创建组容器”。当我删除 osType 时,请求成功,但 ACI 没有改变. 我不能在每个新容器上重新创建整个组,因为我希望它们自己处理作业并终止。
解决方案
并非所有属性都支持更新。请参阅以下详细信息:
并非所有容器组属性都可以更新。例如,要更改容器的重启策略,必须先删除容器组,然后再重新创建。
对这些属性的更改需要在重新部署之前删除容器组:
操作系统类型 CPU、内存或 GPU 资源 重启策略 网络配置文件
因此容器组在您更新osType
. 您需要删除容器组并使用更改创建它。获取有关更新的更多详细信息。
推荐阅读
- string - 如何创建一个递归函数,该函数返回单个参数(字符串列表)的副本,但每个字符在每个位置都重复?
- vue.js - Vuejs Vuetify 如何在 v-select 中访问对象的属性
- css - 使用css调整浏览器窗口大小时如何使图像自动调整大小?
- c# - Xamarin.UITesting NU1201 错误:Android 8.1 与 .NETFramework 4.6.1 不兼容
- java - 在 Moshi 中使用 Retrofit,在进行 POST、PUT 或 PATCH 时如何忽略特定的对象属性
- serial-port - 在 tcl 的 COM 端口中添加传输延迟
- python - 我应该创建一百万个队列(Python)
- python - 计算二叉树中的路径
- c++ - 什么是查看函数是否公开的快速方法?
- google-cloud-datastore - 如何定期更新 Google Datastore 中的适量数据(约 250 万条条目)?