Azure容器示例:使用yml部署到专用IP

t1rydlwq  于 2022-12-24  发布在  其他
关注(0)|答案(2)|浏览(178)

我正在尝试部署容器与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
但在文章中,他们是通过终端完成的。
但它失败了,错误是:第一个月
我无法在文档中找到,我应该如何提供专用网络?“定义网络配置文件”是什么意思?

djmepvbi

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
这使得它能够继续部署集装箱。

ia2d9nvy

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版本起,网络配置文件已弃用。如果您使用的是此版本或更新版本,请忽略与网络配置文件相关的任何步骤和操作。

相关问题