首页 > 解决方案 > 为什么k8s服务被删除了,但是集群IP还在

问题描述

我可以轻松地重现此问题,但在 k8s 文档或社区中都找不到此问题的答案。

简单的重现步骤:

  1. 使用以下配置创建服务和端点
---
kind: Service
apiVersion: v1
metadata:
  name: hostname
spec:
  type: ClusterIP
  ports:
  - port: 80
    targetPort: 9376

---
kind: Endpoints
apiVersion: v1
metadata:
  name: hostname
subsets:
  - addresses:
      - ip: 10.244.44.250
      - ip: 10.244.154.235
    ports:
      - port: 9376
  1. kubectl apply -f <filename>应用配置
  2. 测试服务,它运行完美。假设集群 IP 为 A
  3. kubectl delete -f <filename>kubectl apply -f <filename>再次删除服务和端点
  4. 我们得到了另一个集群 IP B,它也很完美
  5. 但是,集群 IP A 并未按预期删除。我仍然可以使用 A 访问该服务。
  6. 更新端点定义(添加新端点 IP 或删除一个)并应用,B 看到更改,而 A 仍然使用旧配置。

有没有人可以解释那里发生了什么?

我的k8s版本是:

Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:09:21Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

标签: kubernetesservice

解决方案


推荐阅读