0

我们在我们的项目中使用 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)。

有什么建议么?

谢谢

4

1 回答 1

0

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

于 2021-01-22T17:02:36.013 回答