在Kubernetes中,我们可以使用服务将内部部署公开为服务端点。但是,如何将外部域名映射到Kubernetes服务中,实现先调用内部服务,再调用外部服务?
发布于 2020-04-06 11:06:53
ExternalName类型的服务将服务映射到DNS名称,而不是典型的选择器,如my-service或cassandra。您可以使用spec.externalName参数指定这些服务。例如,此服务定义将prod命名空间中的my-service服务映射到my.database.example.com
apiVersion: v1
kind: Service
metadata:
name: my-service
namespace: prod
spec:
type: ExternalName
externalName: my.database.example.com注意: ExternalName接受IPv4地址字符串,但作为由数字组成的DNS名称,而不是IP地址。与IPv4地址相似的ExternalNames不会被CoreDNS或ingress nginx解析,因为ExternalName旨在指定规范的DNS名称。要对IP地址进行硬编码,请考虑使用headless Services。
https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-mapping-external-services
发布于 2020-04-06 11:07:14
您可以将外部名称公开为Kubernetes服务,以便集群内的pods可以访问该内部服务来与外部名称对话:
文档为:
https://kubernetes.io/docs/concepts/services-networking/service/#externalname
如下所示将会起作用:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: ExternalName
externalName: my.database.example.comhttps://stackoverflow.com/questions/61052317
复制相似问题