k8s面试题:service到底能不能ping通

无风      2022-02-13     508

关键词:

面试中被问了这道题,其实是在考察你对 k8s service 的使用和底层原理的理解,答案显然没有那么简单。

实验环境搭建

使用 kind (k8s.io) 可以很方便的在本地搭建实验环境,修改配置即可创建 kubeProxyMode 为 iptables 或 ipvs。

实验涉及的 config 和 yaml 可以在我的 github repo 找到: win5do/k8s-svc-test (github.com)

网络调试工具可以通过创建 netshoot 容器 attach 到目标 network namespace:nicolaka/netshoot: a Docker + Kubernetes network trouble-shooting swiss-army container (github.com)

ClusterIP/NodePort

这类 svc 都会分配 ClusterIP,这个 IP 地址是 VIP(虚拟 IP),是在所有 node 上添加一些 netfilter 规则,主要有 iptables 和 ipvs 两种方案,能不能 ping 通要看具体实现。

  • iptables:clusterIP 只是 iptables 中的规则,只会处理 ip:port 四层数据包,reject 了 icmp。不能 ping 通。
  • IPVS:clusterIP 会绑定到虚拟网卡 kube-ipvs0,配置了 route 路由到回环网卡,icmp 包是 lo 网卡回复的。可以 ping 通。

Headless: ClusterIP=None

Headless svc 不会分配 clusterIP,而是返回对应 DNS 的 A 记录,如果 svc 后端有3个 pod 则返回 3 个 pod IP。访问 svc 时会随机选择一个 IP,所以 headless svc 是可以 ping 通的。

Loadbalancer

Loadbalancer 类型 svc 也要看云厂商的具体实现。

  • 普通模式:基于 NodePort,LB -> node:nodePort -> pod。ping 的结果跟 NodePort 一致。
  • 直连模式:LB 和 pod 处于同一个 VPC 子网,LB -> pod。ping 的结果跟 Headless 一致。

ExternalName

ExternalName 对应 DNS 的 CNAME,如果配置的域名可以 ping 通则 svc 可以 ping 通。

Reference:

  • https://kubernetes.io/zh/docs...
  • https://plantegg.github.io/20...
  • https://cloud.tencent.com/doc...

公司网络能ping通ip,不能ping域名

...一天去公司,就因为网络问题弄了大半天。只能ping通ip,不能ping域名。网上查了各种方式都不行,刷新dns缓存。说是什么域名解析问题。dns的问题。公司里好几个人都看了看不能解决。领导让重装系统,等了十几分钟,装完了... 查看详情

本机能ping通别的电脑别的电脑不能ping通本机

我局域网一台电脑能访问局域网内别的机器但别的机器不能访问它连ping都ping不通参考技术A你本机是什么系统XP吗?如果是XP,下面是解决办法,不对的地方请你指教。1、网线接口问题,看看是不是接口的线搞错了。(因为你说... 查看详情

ubuntu能ping通网关,但不能ping通外网

ubuntuserver9.10能ping通网关,但不能ping通外网。但将此机子的IP用在一个XP的机子上,却能顺利连接外网!/etc/network/interfaces#Thisfiledescribesthenetworkinterfacesavailableonyoursystem#andhowtoactivatethem.Formoreinformation,seeinterfaces(5).#Theloopbacknetworkinter... 查看详情

linux12k8s-->16kubernetes必备面试题(代码片段)

文章目录1、监控Docker命令2、K8s的组件有哪些3、常用控制器以及特点?4、Service的类型有哪些?5、Ingress-Nginx的工作原理6、从ingress到pod的流程7、控制器、service、ngress管理pod的方式?8、主容器的作用9、Pod的生命周期10... 查看详情

电脑能ping通但是telnet不通

...两个选项。并且在服务中把远程登录项启用了。但是还是不能远程登录。显示不出输入密码的窗口。我当然知道ping和telnet是不同的,我就是要问,既然能ping通,为什么telnet不行?我的电脑可以登录别人的远程,但是在别人电脑... 查看详情

android面试题总结之android基础(代码片段)

Android面试题总结之Android基础Service(四)在上一章节Android面试题总结之Android基础BroadcastReceiver(三)我们讲了BroadcastReceiver基础知识。本节主要讲解Service相关基础知识,Service也是我们开发过程中经常使用到。... 查看详情

linux能ping通,但不能上网

...几个试试,新浪也能ping的。 参考技术Cdns域名解析问题,不能解析出www.baidu.com这个域名重新换一个dns的ip吧,哈试试谷歌的dns8.8.8.8第一步:vi/etc/resolv.conf第二步:把8.8.8.8输入进去第三步:按esc,:wq!保存退出 参考技术Dnslookupbaidu... 查看详情

将windows的dns指向我的一台linuxdns服务器能ping通ip不能ping通域名

...?希望可以帮助你,请采纳,谢谢 参考技术D能ping通IP却不能ping通域名问题分析:1、能ping通ip,说明目标是存在的,并且是可以访问的;2、不能ping通域名,说明dns解析失败;因为你输入的域名首先要由你当地的dns服务器转换为... 查看详情

面试题

1.?基础应用(一)简述OSI网络架构模型,以及各层常见的协议(二)列出所有的私有网段,以及可分配的IP地址数量(写出计算过程)(三)简述nginx和Haproxy的主要配置文件格式(nginx.conf??haproxy.cfg).以及两个如何实现转发过程中如何... 查看详情

virtualbox主机不能ping通虚拟机

...通要么主机能ping通虚拟机,虚拟机ping不通主机要么主机不能ping通虚拟机,虚拟机ping通主机 参考技术B是软盘启动项没关掉。从DOS里面找到FIRSTBOOT改成DIS.....就好 参考技术C是不是在同一个网段内啊。Virtualbox单位的电脑上没有。... 查看详情

虚拟机ubuntu不能ping通主机,但是主机可以ping通虚拟机。虚拟机也不能ping通网络,主机却可以,啥原因

...拟网络是通的,你可以尝试把防火墙直接关掉,虚拟机能不能ping通网关呢? 参考技术B请检查主机上是否开着防火墙,如果开着,建议将ICMP例外中对应的选项打开试试。 查看详情

记一次网络能ping通,但浏览器不能访问网页的遭遇

...看起来完全没有道理。早上打开电脑后,发现网页都不能访问。IE提示:InternetExplorer无法显示该网页,chrome提示:未连接到互联网,代理服务器出问题,或者地址有误。尝试在控制台ping外网地址:baidu&... 查看详情

两台电脑同一个路由,win10能pin通win7win7不能ping通win10

两台电脑同一个路由,win10能pin通win7win7不能ping通win10ip都固定相同网关参考技术Awin10电脑开启了防火墙的原因,关闭防火墙即可追问防火墙两台都是关的追答关掉win10的防火墙并重启追问不行追答那我也不清楚了理论上是可以ping... 查看详情

电脑能ping通但是telnet不通,怎么办

...信息,没有端口。telnet是TCP协议,有端口,能承载数据。2不能telnet并不代表不能ping,这是两种完全不同的数据包,防火墙中可以设置允许哪种包通过的。3最简单的测试办法是在本机上telnet127.0.0.1,如果失败就是telnet服务没有启动... 查看详情

vm上装了个freebsd,跟主机设置了同一网段,bsd可以ping通主机,但是主机不能ping通bsd

...tologin.Seelogin.defs(5)ifyouusetheshadowsuite.然后再打开/etc/services,修改如下内容:#telnet23/ 查看详情

vmware中nat模式下,虚拟机与主机能ping通为什么虚拟机不能上网

vmware中NAT模式下,虚拟机与主机能ping通为什么虚拟机不能上网?方案一:1、把虚拟机的网络连接设置为桥接或NAT都可以的2、把虚拟机和主机设置为同一网段主机网络邻居属性3、双击打开本地连接,显示本地连接状态4、选择详... 查看详情

这是啥情况,同一个局域网win7能ping通win10,win10就不能ping通win7?

参考技术A1、在小娜搜索框,搜索控制面板并打开;2、在控制面板中找到Windows防火墙;3、如果要关闭防火墙,那么点击启用或关闭防火墙,理入设置即可,如果不想关闭,那么点击高级设置; 参考技术B就描述,如果win10的上层... 查看详情

域名可以ping通,但是不能访问

...很可能是网络设备的配置问题..另外还有一个可能性,就是不能访问的那些电脑所处的环境有"绿色"现象,不能访问没有备案的网站.不过一般不出现40 查看详情