3

我们在 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。我们也删除了服务引用的部署,没有区别。

4

1 回答 1

1

它应该在一段时间后删除 IP(比如 5 分钟)。所以你遇到的问题是一个错误。你可以检查k8s事件来找到错误并查看它。

此外,删除 Azure 资源非常安全。如果他们走了,k8s 不会吓坏。

用 k8s 1.9.1 测试

于 2018-02-28T12:49:01.603 回答