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?的更多相关文章
- Kubernetes K8S之Pod跨namespace名称空间访问Service服务
Kubernetes的两个Service(ServiceA.ServiceB)和对应的Pod(PodA.PodB)分别属于不同的namespace名称空间,现需要PodA和PodB跨namespace ...
- 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法
单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...
- asp.net中WebResponse 跨域访问示例
前两天,一个朋友让我帮他写这样一个程序:在asp.net里面访问asp的页面,把数据提交对方的数据库后,根据返回的值(返回值为:OK或ERROR),如果为OK再把填入本地数据库.当时,想当然,觉得很简 ...
- kbmmw 的HTTPSmartService中的跨域访问
有同学在使用kbmmw 与extjs 结合的时候,涉及到了跨域访问,这个在 kbmmw 里面已经完全解决. extjs 在访问跨域的时候,首先会使用OPIONS 调用,服务端要根据浏览器请求的 he ...
- Geoserver通过ajax跨域访问服务数据的方法(含用户名密码认证的配置方式)
Goeserver数据有两种,一种需进行用户密码的权限认证,一种无须用户密码.对于网上跨域访问Geoserver数据的种种方法,对这2种数据并非通用. 笔者将Geoserver官方下载的Geoserv ...
- WEX5中ajax跨域访问的几种方式
1.使用jsonp方式 使用jsonp访问的话,前端需要把回调函数名传递给后端,后端执行完后也需要把回调函数传回给前端,默认情况下ajax自动生成一个回调函数名,后端可以通过String callba ...
- Asp.Net MVC 中实现跨域访问
在ASP.Net webapi中可以使用 Microsoft.AspNet.WebApi.Cors 来实现: public static class WebApiConfig { public s ...
- k8s中新建一个namespace和harborsecret的yaml文件
注意哟, 不同的harborsecret,在不同的namespace中,是不共用的. 也就是说,如果在default名字空间中,创建了一个docker login secret, 在其它名字空间中,是 ...
- 【原创】Vue.js 中 axios 跨域访问错误
1.假如访问的接口地址为 http://www.test.com/apis/index.php (php api 接口) 2.而开发地址为http://127.0.0.1:8080,当axios发起 ...
随机推荐
- C#遍历枚举(Enum)值
foreach (object o in Enum.GetValues(typeof(EmpType))) { Console.WriteLine("{0}:{1}", o, En ...
- 如何将AAC音频转换成MP3格式
我们应该怎样将AAC音频转换成MP3格式呢?AAC是一种专为声音数据设计的文件压缩格式,相对于MP3音频来说更加高效,性价比跟高.但是因为MP3音频格式的通用性,我们还是时常需要将AAC音频转换成MP ...
- 基于 redis 的分布式锁实现 Distributed locks with Redis debug 排查错误
小结: 1. 锁的实现方式,按照应用的实现架构,可能会有以下几种类型: 如果处理程序是单进程多线程的,在 python下,就可以使用 threading 模块的 Lock 对象来限制对共享变量的同步访 ...
- hive sqoop,sqoop-hive import data
https://segmentfault.com/a/1190000002532293 https://www.zybuluo.com/aitanjupt/note/209968 create tab ...
- DELPHI中完成端口(IOCP)的简单分析(4)
DELPHI中完成端口(IOCP)的简单分析(4) 在我以前写的文章中,一直说的是如何接收数据.但是对于如何发送数据却一点也没有提到.因为从代码量上来说接收的代码要比发送多很多.今天我就来写一下如 ...
- ADG日志传输方式参数log_archive_dest_n详解
主库的日志发送是由log_archive_dest_n参数设置(注意:同时还有一个和它相对应的开关参数log_archive_dest_state_n,用于指定该参数是否有效),下面简单介绍下该参数各 ...
- Ubuntu 使用命令行连接无线网
一.查看可以使用的无线网: nmcli dev wifi 二.连接无线网: nmcli dev wifi connect ‘essid’(网络名称) password ‘password’(密码) 可 ...
- qt opencv编译错误 /usr/local/lib/libopencv_imgcodecs.so.3.1:-1: error: error adding symbols: DSO missing from command line
转载自:http://tbfungeek.github.io/2016/03/05/Opencv-%E5%AE%89%E8%A3%85%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%87 ...
- varnish缓存系统基础知识
缓存系统类型 1.页面缓存/pageCache 缓存静态资源(html js css image) 例如:varnish squid 2.数据缓存/dataCache 缓存应 ...
- cds view join和association
1:创建两张表:ztt_teacher01 和ztt_teacher02 用于 cds view中的join和association 2:创建两个cds view:ztt_teacher01_id_n ...