rabbitmq Azure容器示例正在更改IP地址

sdnqo3pr  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(2)|浏览(182)

我们有一个Azure容器示例,其中包含RabbitMQ的容器。容器的IP地址不断变化,这使得rabbitmq服务器无法访问。是否有办法使其静态化?如果可以使其静态化,我们是否需要在IP地址上添加DNS?

uqxowvwt

uqxowvwt1#

这是一个已知的问题,目前已经提出了几种解决方案:
Static IP address for Azure Container Intances
Attaching a static ip address to Azure Container Instance
另一个解决方案是设置一个Azure function,它定期检查容器示例IP,当它改变时,该函数相应地更新服务器IP。
像Kubernetes这样的容器编排系统也可以帮助解决这个问题。

rqqzpn5f

rqqzpn5f2#

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

customdnslabel.westeurope.azurecontainer.io

您可以在创建容器示例时设置DNS名称标签,也可以更新现有示例的标签。您不能使用门户编辑它,但它随后会显示为“FQDN”。
Azure CLI示例-适用于创建和更新。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: [
            // ...
          ]
        }
      }
    ]

相关问题