如何使用 Java 客户端将公共 IP 地址与 Azure 中的负载均衡器分离?
How to dissociate PublicIpAddress from LoadBalancer in Azure using Java client?
我在 Azure 中有一个与负载均衡器关联的 public IP 地址。我正在尝试使用 Java 客户端将 LB 与 IP 分离。
我尝试了很多事情,但最后一次尝试如下:
LoadBalancer lb = myPublicIpAddress.getAssignedLoadBalancerFrontend().parent();
LoadBalancerFrontend frontEnd = myPublicIpAddress.getAssignedLoadBalancerFrontend();
lb.update().updatePublicFrontend(frontEnd.name()).withoutPublicIPAddress().parent().apply()
由此我得到错误:
CloudException: Frontend IP Configuration must reference either a Subnet, Public IP Address or Public IP Prefix
myPublicIpAddress 是直接从 azure 中检索到的 PublicIpAddress 对象。这个异常让我感到困惑,因为前端附加到 public IP
编辑:另外值得注意的是,此 post 使用 Azure 命令并通过 NIC。我试图用 java 客户端复制它,但我项目中的 NIC 设置不一样,这不起作用。
要复制:在 Azure 中创建一个 public IP。在 Azure 中创建 LB 并将其关联到 IP。尝试通过上述方法解离。
Azure 负载均衡器的 public IP 与 Azure VM 的 public IP 不同。必须至少使用 public IP 创建负载平衡器。这意味着您不会从负载均衡器中删除所有 public IP。
要取消public IP 与负载均衡器的关联,您需要在负载均衡器前端删除IP 配置。我认为您使用的方法 withoutFrontend(String name)
是正确的方法。需要注意的是,如果要从Load Balancer中删除public Ip,则与Load Balancer关联的Ip应该不止一个public。负载均衡器至少要留一个public个Ip
我在 Azure 中有一个与负载均衡器关联的 public IP 地址。我正在尝试使用 Java 客户端将 LB 与 IP 分离。
我尝试了很多事情,但最后一次尝试如下:
LoadBalancer lb = myPublicIpAddress.getAssignedLoadBalancerFrontend().parent();
LoadBalancerFrontend frontEnd = myPublicIpAddress.getAssignedLoadBalancerFrontend();
lb.update().updatePublicFrontend(frontEnd.name()).withoutPublicIPAddress().parent().apply()
由此我得到错误:
CloudException: Frontend IP Configuration must reference either a Subnet, Public IP Address or Public IP Prefix
myPublicIpAddress 是直接从 azure 中检索到的 PublicIpAddress 对象。这个异常让我感到困惑,因为前端附加到 public IP
编辑:另外值得注意的是,此 post
要复制:在 Azure 中创建一个 public IP。在 Azure 中创建 LB 并将其关联到 IP。尝试通过上述方法解离。
Azure 负载均衡器的 public IP 与 Azure VM 的 public IP 不同。必须至少使用 public IP 创建负载平衡器。这意味着您不会从负载均衡器中删除所有 public IP。
要取消public IP 与负载均衡器的关联,您需要在负载均衡器前端删除IP 配置。我认为您使用的方法 withoutFrontend(String name)
是正确的方法。需要注意的是,如果要从Load Balancer中删除public Ip,则与Load Balancer关联的Ip应该不止一个public。负载均衡器至少要留一个public个Ip