【发布时间】:2020-01-31 01:00:24
【问题描述】:
我正在尝试将位于不同命名空间中的两个 Kubernetes 服务链接在一起,例如 this。通过 DNS 链接它们,类型为 ExternalName。
在名为“db”的命名空间中,我希望有一个带有数据库的部署。能够拥有1个可以由不同项目共享的数据库。拥有一个持久卷。
但不知何故,它并没有像预期的那样工作。
命名空间“db”内的服务:
apiVersion: v1
kind: Service
metadata:
labels:
app: db-srv
name: db-srv
namespace: db
spec:
ports:
- name: "db-postgres"
port: 5432
targetPort: 5432
selector:
app: db
status:
loadBalancer: {}
位于“myspace”-namespace 中的服务连接到 db:
apiVersion: v1
kind: Service
metadata:
labels:
app: myspace-db-service
name: myspace-db-service
namespace: myspace
spec:
type: ExternalName
externalName: db-srv.db.svc.cluster.local
ports:
- port: 5433
# targetPort: 5432
status:
loadBalancer: {}
后端连接到端口 5433 上的 myspace-service。
端口错了吗?
【问题讨论】:
-
它怎么不能按预期工作?错误是什么? db 应用程序是否在 db 命名空间中?
-
externalName: db-srv.db.svc.cluster.local是矛盾的。外部名称应该是外部的,即可以在集群外部访问。您使用的 URL 是集群本地的。 -
感谢您的回答!我没有收到错误只是一个超时错误。
标签: kubernetes kubernetes-service