如何确定Pod的内网域名

网络结构

k8s应用[pod]内网域名

内网域名解析
内网域名解析,顾名思义是通过内网的DNS服务器在局域网内做域名解析。
内网域名解析的好处:
1、较高的性能和较低的延迟;
2、能够有效地防范外部攻击,解决劫持问题。
鸟瞰
原因也很简单,就是数据包在网络设备上传输的路径短了。 另外内网的网络质量是可控的,大多数情况下都比外网好些,即使不好也可以低成本地换个比较好的设备来解决。

K8s应用的内网域名是由K8s集群内部的域名解析资源来进行解析的,整个过程都在K8s集群内。 应用间的调用使用内网域名可以明显提升数据传输的速度,减少因为网络抖动造成报错的可能性。这也是今天总结K8s应用内网域名的原因。

K8s集群内是使用全限定域名【FQDN】连接服务的。

FQDN(Fully Qualified Domain Name)全限定域名: 同时带有主机名和域名的名称。

这个全限定域名由三部分组成:应用在K8s中定义的服务名,应用在K8s集团中的命名空间,集群本地服务名称中使用的可配置集群域后缀。

apiVersion: v1
kind: Service
metadata:
  name: daemon-uat-chaojihao-com #服务名
  namespace: ltc  #命名空间
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
      name: http
  selector:
    app: daemon-uat-chaojihao-com  #服务的选择器名,建议与服务名保持一致

所有的K8s应用都有YAML定义文件。如果没有找到,譬如丢了,或者直接kubectl命令创建,可以使用这个命令来查看
kubectl get service 服务名 -n 命名空间名 - o yaml #查看service类型的应用yaml定义
kubectl get pod 服务名 -n 命名空间名 - o yaml #查看pod类型的应用yaml定义

上面这个Service定义YAML对应的内网域名就是:daemon-uat-chaojihao-com.ltc.svc.cluster.local
服务名[metadata.name]:daemon-uat-chaojihao-com
命名空间[metadata.namespace]:ltc 。同一个命名空间内应用间相互调用时,命名空间可以省略。建议加上
集群本地服务名称中使用的可配置集群域后缀:svc.cluster.local 。同一个集群内可以省略。建议加上

应用单访问时需要加上商品号还有schema,譬如
http://daemon-uat-chaojihao-com.ltc.svc.cluster.local:80
端口80不能少
这种内网域名是ping不通的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

也和光同尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值