【发布时间】: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