我刚刚创建了一个新的AKS集群,它必须替换旧的集群。新的集群现在已经准备好替换旧的集群,除了一个关键的东西,它的出站ip地址。必须使用旧集群的地址,以便我们现有的DNS记录不必更改。
如何将新集群的Azure负载均衡器(由nginx入口控制器使用)的公共IP地址更改为旧集群使用的公共IP地址?旧集群仍在运行,我想在新集群可用时将其关闭/删除。切换ip地址需要一些停机时间是可以接受的。
我认为ip首先必须从旧集群的负载均衡器的前端ip配置中删除,然后可以添加到新集群中使用的负载均衡器的前端ip配置中。但是我需要确切地知道如何做到这一点,如果需要,还需要做什么(可能添加后端池?)
在安装新集群期间,我已经在新入口-nginx-controller的yaml中添加了旧集群的负载均衡器的公共ip地址。新集群中的nginx控制器负载均衡器状态为Pending,持续生成"确保负载均衡"的事件。我只需要为旧集群中的入口-nginx-控制器负载均衡器分配另一个ip地址,以便ip可以在新集群中使用,这是否很简单?
需要为AKS集群创建一个静态公网IP地址。删除旧集群后,与之关联的公共IP地址和负载平衡器也将被删除。您可以查看并尝试此文档[1]以获取详细的指南。
[1] https://learn.microsoft.com/en-us/azure/aks/static-ip我成功地将旧ip分配给了新集群。以下是我所遵循的步骤:
-
在旧集群(nn.nn.nn.nn)中创建一个新的静态和公共ip:
az network public-ip create --resource-group MC_rg-my-old-cluster --name aks-public-ip-tmp --sku Standard --allocation-method static --query publicIp.ipAddress -o tsv
-
将新ip放到nginx控制器的负载均衡器服务中:
spec.ports.loadBalancerIP: nn.nn.nn.nn
-
将旧ip地址(oo.oo.oo.oo)移动到新集群的资源组:
- 找到旧集群的资源组并打开;
- 点击要移动的公共ip地址;
- 在顶部的菜单中有一个"移动"项,选择"移动到另一个资源组">
- 选择新集群的资源组
-
在ip被移动后(可能需要一段时间),你可以在新集群的nginx控制器的负载平衡服务中使用它:
spec.ports.loadBalancerIP: oo.oo.oo.oo
我不知道第一步和第二步是否真的需要。