【问题标题】:Kunernetes/kustomize Service endpoints abnormal behaviorKubernetes/kustomize 服务端点异常行为
【发布时间】:2020-07-01 13:54:07
【问题描述】:

我们在项目中使用 kustomize 和 kubernetes。

我正在尝试使用此链接中提到的 IP 实现对外部服务的访问

https://medium.com/@ManagedKube/kubernetes-access-external-services-e4fd643e5097

这是我的服务

---
kind: Service
apiVersion: v1
metadata:
  name: pgsql
spec:
  ports:
   - protocol: TCP
     port: 5432
     targetPort: 5432
     name: "pg"
  selector: {}
---
apiVersion: v1
kind: Endpoints
metadata:
  name: pgsql
subsets:
  - addresses:
      - ip: 1.1.1.1
    ports:
      - port: 5432
        name : "pg"

当我使用 kubectl 命令申请时 (kubectl apply -k ...) 我有一个警告

警告:kubectl apply 应该用在由任何一个创建的资源上 kubectl create --save-config 或 kubectl apply

但是,此警告并不能避免端点和服务的创建。

kubectl 获取端点

NAME                ENDPOINTS           AGE
pgsql               172.12.xx.yy:5432   3m27s

很遗憾,ip地址和我在yml(1.1.1.1)里放的不一样

如果我第二次申请

kubectl 应用 -k ...

kubectl 获取端点

NAME                ENDPOINTS           AGE
pgsql               1.1.1.1:5432   10s

我没有上面的警告了。

端点是预期的。

我希望端点地址与第一次申请时完全相同 (1.1.1.1:5432)。

有什么建议吗?

谢谢

【问题讨论】:

  • kubectl 版本的输出?您确定在第一次申请之前没有通过其他方式创建这些资源吗?
  • @Arghya Sadhu,我在第一次申请之前删除了所有资源。我用户 kubectl 服务器 1.16.4 kubectl 客户端 1.17.2
  • 您能否将Kustomize 文件添加到您的问题中以创建您的服务,以便其他人检查他们是否观察到相同的行为?

标签: kubernetes kubectl kustomize


【解决方案1】:

它可能来自空选择器。你能尝试完全删除它吗? 这应该仅在您的服务没有任何 selector

时才有效

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多