【问题标题】:Azure Container Instance changing IP addressAzure 容器实例更改 IP 地址
【发布时间】:2022-09-27 23:58:14
【问题描述】:

我们有一个 Azure 容器实例,它包含一个用于 RabbitMQ 的容器。容器的IP地址不断变化,导致rabbitmq服务器无法访问。有没有办法让这个静态?如果可以将其设为静态,我们是否需要在 IP 地址之上添加 DNS?

    标签: azure rabbitmq containers azure-container-instances


    【解决方案1】:

    这是一个已知问题,到目前为止已经提出了几种解决方案:

    Static IP address for Azure Container Intances

    Attaching a static ip address to Azure Container Instance

    另一个解决方案是设置一个Azure function,它会定期检查容器实例 IP,当它发生变化时,该函数会相应地更新服务器 IP。

    像 Kubernetes 这样的容器编排系统也可以帮助克服这个问题。

    【讨论】:

      【解决方案2】:

      正如@evidalpe 所指出的,您不能将静态 IP 地址分配给容器实例。但是,您可以使用dnsNameLabel 轻松分配静态/可预测的 DNS 名称。我发现这比使用 IP 地址方便得多。

      例子:

      customdnslabel.westeurope.azurecontainer.io
      

      您可以在创建容器实例时设置 DNS 名称标签,也可以更新现有实例的标签。您无法使用门户对其进行编辑,但之后会显示为“FQDN”。

      Azure CLI Example - 用于创建和更新。 Azure CLI 也可以使用Cloud Shell 执行。

      az container create -g myresourcegroup -n mycontainerinstancename --dns-name-label customdnslabel --image rabbitmq
      

      Bicep Template:

      resource mycontainerinstance 'Microsoft.ContainerInstance/containerGroups@2021-03-01' = {
        name: 'mycontainerinstancename'
        location: location
        properties: {
          osType: 'Linux'
          restartPolicy: 'Always'
          ipAddress: {
            dnsNameLabel: 'customdnslabel'
            type: 'Public'
            ports: [
              // ...
            ]
          }
          containers: [
            {
              name: 'mycontainer'
              properties: {
                image: image
                resources: {
                  requests: {
                    cpu: cpus
                    memoryInGB: memory
                  }
                }
                ports: [
                  // ...
                ]
              }
            }
          ]
      

      【讨论】:

      • 这应该从哪里运行?
      • @Rafael,您几乎可以在当前创建容器实例的任何位置设置 dnsNameLabel(门户 UI 除外。Bicep 只是创建和更新容器的一个选项。我将使用 Azure CLI 用另一个示例更新答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 2015-06-07
      相关资源
      最近更新 更多