我正在尝试部署容器与yml.部署文件看起来像这样:
apiVersion: 2019-12-01
location: westeurope
name: imgeneus-login
properties:
imageRegistryCredentials:
- server: imgeneusregistrytest.azurecr.io
username: imgeneusregistrytest
password: #{registryPassword}#
restartPolicy: OnFailure
containers:
- name: imgeneus-login
properties:
image: imgeneusregistrytest.azurecr.io/imgeneus.login:latest
resources:
requests:
cpu: 1
memoryInGb: 1
ports:
- port: 80
- port: 30800
environmentVariables:
- name: Database__Host
value: imgeneus-test.mysql.database.azure.com
- name: Database__Username
value: aosyatnik
- name: Database__Password
value: #{dbPassword}#
- name: Database__SslMode
value: Required
- name: TcpServer__Host
value: "0.0.0.0"
osType: Linux
ipAddress:
type: Private
ports:
- protocol: tcp
port: 80
- protocol: tcp
port: 30800
subnetIds:
- id: /subscriptions/503236c4-a00c-466c-b7b0-4800e8dec527/resourceGroups/imgeneus-test/providers/Microsoft.Network/virtualNetworks/imgeneus-test/subnets/imgeneus-test
name: imgeneus-test
type: Microsoft.ContainerInstance/containerGroups
我敢肯定,它可以部署在专用网络上,如下所述:https://learn.microsoft.com/en-us/azure/container-instances/container-instances-application-gateway
但在文章中,他们是通过终端完成的。
但它失败了,错误是:第一个月
我无法在文档中找到,我应该如何提供专用网络?“定义网络配置文件”是什么意思?
2条答案
按热度按时间djmepvbi1#
我也遇到了同样的错误。在我的例子中,改变yaml文件中使用的api版本是有帮助的。我把它从:api版本:2019年12月1日至:api版本:'2021-07-01'
如下所示:https://learn.microsoft.com/en-us/azure/container-instances/container-instances-vnet#example---yaml
这使得它能够继续部署集装箱。
ia2d9nvy2#
代码:私有IP地址不支持消息:容器组“imgeneus-login”中的IP地址类型无效。仅在定义网络配置文件时才支持专用IP地址
您需要使用
az container instance
创建一个初始容器示例,然后只有您才能获得网络配置文件,并在此基础上使用YAML定义将其部署到同一子网。上述原因:使用YAML文件时,您只能使用网络配置文件ID指定网络信息,请参考this。
您可以参考此thread,了解去年遇到相同问题的详细信息
在这个正式的microsoft document中,您还将看到,在启动时使用
az container instance
创建第一个容器示例,并创建网络配置文件,以帮助使用CLI或YAML创建具有专用IP的第二个容器示例。我正尝试在我的环境中复制相同的内容,但似乎我没有多少限制(在我的Azure帐户中启用策略)来创建它。我需要得到我的管理员的同意。但你可以尝试上面的建议,它可能对你有效。
如果仍然不起作用,请注意下面的文字,并联系Azure支持部门进行确认。
自2021-07-01 API版本起,网络配置文件已弃用。如果您使用的是此版本或更新版本,请忽略与网络配置文件相关的任何步骤和操作。