我们在Azure(AKS)中使用托管Kubernetes并且已经用完了公共IP地址。我们只需要一个,但AKS每次部署服务时都会创建一个新的公共IP,并且在删除服务时不会删除它。例如:
apiVersion: v1
kind: Service
metadata:
name: somename
spec:
ports:
- port: 443
targetPort: 443
selector:
app: somename
# Also tried this to reuse public IP in AKS MC resource group
# https://docs.microsoft.com/en-my/azure/aks/static-ip
# loadBalancerIP: x.x.x.x
type: LoadBalancer
每次部署(kubectl create -f svc.yml
)时,都会创建一个新的公共IP。当它被删除(kubectl delete -f svc.yml
)时,IP仍然存在。尝试使用loadBalanceIP重用其中一个现有IP,如上面的注释中所述,“公共IP地址...由资源中的多个ipconfigs引用...”。
我们已经创建了一个服务请求但需要很长时间,所以我希望这会更快。我不敢删除AKS托管资源中的公共IP,因为这可能会导致问题。
有没有办法安全地发布或重用公共IP?我们正在使用Kubernetes版本1.7.12。我们已经删除了服务引用的部署,但没有区别。
答案 0 :(得分:1)
它应该在一段时间后删除IP(如5分钟的顶部)。所以你遇到的问题是一个bug。您可以检查k8s事件以查找错误并查看它。
此外,删除Azure资源非常安全。如果他们走了,k8s就不会感到害怕。
使用k8s 1.9.1进行测试