k8s~ExternalName的使用

在Kubernetes中,Service资源的type字段有多种选项,其中之一是ExternalNameExternalName类型的服务用于将外部服务引入到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,但端口将保持不变。如果外部服务使用非标准端口,你可能需要在访问时明确指定端口号。

要支持域名和端口的形式,你需要考虑使用其他服务类型,例如NodePortLoadBalancer,它们可以通过端口映射和负载均衡来处理外部服务的访问。

解析到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  # 这里是外部服务的端口号

posted @   张占岭  阅读(994)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2022-10-24 springboot~redis-cluster动态感应的配置
2018-10-24 docker-compose部署mysql无法访问
2018-10-24 spring里的三大拦截器
2018-10-24 docker-compose-volumes的说明
2017-10-24 ELK系列~Nxlog日志收集加转发(解决log4日志换行导致json转换失败问题)
2012-10-24 任务调度~Quartz.net实现简单的任务调试
点击右上角即可分享
微信分享提示