azure - 在 VNET 中使用 ACI 的传出 ip
问题描述
我在私有 VNET 中使用 ACI。我的问题是,这个容器的传出 ip 不是我在 Azure 网关中使用的公共 IP,是一些随机 ip。有某种方法可以使用 ACI 以某种方式从某个容器中修复这个传出 ip?OBS:我使用公共容器进行了测试,我有一个公共 ip 传入,但传出是不同的:|
谢谢!
解决方案
对于您的问题,当您在 VNET 中创建 ACI 时,您只能访问 VNET 内部的资源,并且传出 IP 是 VNET 的私有 IP,因此如果您不删除 ACI,则 IP 是静态的。
当您创建公共 ACI 时,它可以访问 Internet。这一次,我想,ACI 有两个公网 IP,一个是公网 IP 或 ACI 的 FQDN 从 Internet 访问。另一个是部署ACI的主机的公网IP。当你从互联网访问ACI时,你需要使用公网IP或者Azure提供给你的FQDN。但是当你在 ACI 内部访问 Internet 时,传出的 IP 是主机的公共 IP。您无法决定可以使用哪台主机,主机的公共 IP 也是如此。
如果您需要决定传出IP,并且必须是静态IP。您可以使用静态公共 IP 在 VM 中安装 docker 服务器,然后在 VM 中创建容器。那么传出IP就是VM的公网IP。
或者,您可以使用 AKS,创建 pod 并与使用负载均衡器类型的服务关联。然后传出 IP 也是静态的,它是服务公共 IP。
推荐阅读
- json - Ruby:如何将 json 解析为特定类型
- angular - 如何在C3.js中更改y轴标签的标签字体大小和颜色
- python - 尝试根据基于 django 的投票应用教程安装我自己的包
- solidity - 不允许从“literal_string”到“字符串存储指针”的显式类型转换
- php - 我想根据下拉选择列表显示数据
- r - R Shiny:如何在 DT::renderDataTable 中添加分页
- unicode - 有多少种 Unicode 编码,它们都还在使用吗?
- javascript - 在指令和控制器中使用 ng-model
- javascript - JSP Json ArrayList 转 JavaScript 列表
- sqlite - SQLite 选择列名包含字符串的数据?