我可以不吃啊 发表于 2023-11-16 07:49:59

k8s~ExternalName的使用

在Kubernetes中,Service资源的type字段有多种选项,其中之一是ExternalName。ExternalName类型的服务用于将外部服务引入到Kubernetes集群中,通常会将外部服务的域名映射到Kubernetes集群中的一个DNS名称。
ExternalName服务类型不涉及端口映射或负载均衡。它只是一个DNS别名,将Kubernetes内部的服务名称映射到一个外部域名,而不更改端口号。这对于需要在Kubernetes集群内部引用外部服务的情况非常有用,但它不涉及端口的映射。
这是一个示例ExternalName服务的YAML配置:
apiVersion: v1
kind: Service
metadata:
name: my-external-service
spec:
type: ExternalName
externalName: example.com# 这里是外部域名在这个示例中,my-external-service是一个ExternalName服务,它将example.com映射到Kubernetes集群中,但没有更改端口。你可以在Kubernetes内部使用my-external-service来访问example.com,但端口将保持不变。如果外部服务使用非标准端口,你可能需要在访问时明确指定端口号。
要支持域名和端口的形式,你需要考虑使用其他服务类型,例如NodePort或LoadBalancer,它们可以通过端口映射和负载均衡来处理外部服务的访问。
解析到example.com的8080端口

如果外部服务的端口不是标准的80端口,你可以在Service配置中使用端口字段来指定端口号。以下是一个示例,演示如何指定非80端口的ExternalName服务:
apiVersion: v1
kind: Service
metadata:
name: my-external-service
spec:
type: ExternalName
externalName: example.com# 这里是外部域名ports:    - name: http      port: 8080# 这里是外部服务的端口号
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: k8s~ExternalName的使用