K8S中如何跨namespace 访问服务?为什么ping不通ClusterIP?

Posted rancher-maomao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S中如何跨namespace 访问服务?为什么ping不通ClusterIP?相关的知识,希望对你有一定的参考价值。

 

1、K8S中如何跨namespace 访问服务?

2、在Pod中为什么ping不通ClusterIP?

 

简述

        Rancher2.0中的一个用户,在K8S环境中,创建两个namespace,对应用进行分割管理,在一个namespace的pod中,如何访问另一个namespace中的服务?--K8S使用kube-DNS实现服务发现功能的,可以通过DNS名称访问服务名。

        在K8S中,部署一个带ClusterIP的服务,供集群内部网络访问。为什么这个ClusterIP无法ping通?--ClusterIP是IPtable规则,不是绑定在网络接口上的,服务可以访问,但ping不通ClusterIP。

 

演示截图

图1-创建一个包含3台主机、用于演示的集群环境

技术分享图片

图2-在命名空间namespace111中,创建一个nginx工作负载,端口映射的运行模式为集群IP

技术分享图片

图3-再在另一个命名空间namespace222中,创建一个普通的Ubutnu工作负载

技术分享图片

图4-在服务发现页面中,可以看到,已自动在2个命名空间中创建2条服务记录

技术分享图片

图5-进入2个Pod中,验证不同namespace可以互相访问,集群IP不可以ping,但ClusterIP对应的服务可以访问。

技术分享图片

图6-网上介绍kubeDNS的文章

技术分享图片

图7-网上关于ClusterIP相关的帖子及文章

技术分享图片

 

参考链接:

kube-dns 和服务发现

https://www.cnblogs.com/allcloud/p/7614123.html

kubernetes的service的cluster-ip无法访问

http://dockone.io/question/1086

谈谈kubernets的service组件的Virtual IP

https://ieevee.com/tech/2017/01/20/k8s-service.html

以上是关于K8S中如何跨namespace 访问服务?为什么ping不通ClusterIP?的主要内容,如果未能解决你的问题,请参考以下文章

k8s 服务注册与发现Kubernetes内部域名解析原理

k8s 服务注册与发现Kubernetes内部域名解析原理

k8s网络通信(flannelcalico)

记:k8s内部服务调用连接超时

kubernetes--基础--k8s的pod之间的服务访问

laravel namespace 怎么访问 route