[英]Can't connect to Postgres (installed through Kubernetes Helm) service from external machine, connection refused
[英]Why is Kubernetes service external name not accessible on the internet?
我想从 Internet 访问在 GCP 上的 Kubernetes 中部署的 PostgreSQL 组件。
我为具有外部名称的服务编写了 Pulumi 代码。 该服务如下所示:
import * as k8s from "@pulumi/kubernetes";
import {clusterProvider} from './cluster'
export const postgresService = new k8s.core.v1.Service('postgres-service', {
metadata: {name: 'postgres'},
spec: { type: 'ExternalName',
externalName: "dev.postgresql.steinko.org",
ports: [ {port: 5432 }] ,
selector: { app:'postgres'},
}
},
{ provider: clusterProvider}
)
当我在 GCP 的服务窗口中单击端点dev.postgresql.steinko.org:5432
,我收到错误消息:
This site can’t be reachedCheck if there is a typo in dev.postgresql.steinko.org.
DNS_PROBE_FINISHED_NXDOMAIN
问题:
我必须怎么做才能访问dev.postgresql.steinko.org
才能访问我计算机上的数据库?
还有另一种方法可以访问数据库吗?
ExternalName
类型的服务将没有用处。 它的主要目的是作为本地集群服务,在外部托管的服务。 例如,使用ExternalName
,您可以将 AWS 服务公开为 GKE 上托管的常规服务。 见https://github.com/kubernetes/community/blob/master/contributors/design-proposals/network/service-external-name.md
您可以改为创建LoadBalancer
服务。 然后 GCP 将创建一个External LoadBalancer
以将您的服务公开到互联网:请参阅https://cloud.google.com/kubernetes-engine/docs/how-to/exposing-apps#creating_a_service_of_type_loadbalancer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.