LabHub
学习 学习路径 课程

Kubernetes 网络 — 在真集群上

真去挖一挖集群 DNS

在 LabHub 中继续学习

这个实习真的在Kubernetes上帮忙。

VM中实际上有一个k3s。CoreDNS真的在运行,询问 留下日志,帕德是实际的容器。所以“找一个名字的问题 可以数几次出去

第一次打开需要2分钟左右,因为需要VM启动并安装k3s。

目标

帕德从头到尾跟着寻找名字的路线,ndots:5做的 确认了直接计算隐藏的费用后dnsConfig请回复。

为什么重要

在群集中,报告“慢”的大部分是DNS。但是应用程序 在指标上不容易抓住。一个请求寻找一个名字,询问五次。 虽然其中四个是NXDOMAIN,但从应用程序的角度来看,只是“有点慢 是请求”。CoreDNS的负担正在悄悄增加,有一天,如果路由器数量增加的话 到那时就会爆发。

原因是resolv.conf只有一行。ndots:5点少于5个的名称是 意思是先粘贴搜索域名再尝试example.com有一个优点 example.com.default.svc.cluster.local开始问。在群集里 要求简短写名字的便利,在外面使用名字时就会变成实际的费用。

阶段

  1. 确认CoreDNS在哪里,做什么**/root/k8sdns/coredns.txt**请保存到。kube-dns服务中必须包含ClusterIP和Corefile专业。
  2. 垫子里的**/etc/resolv.conf** 就那样 **/root/k8sdns/resolv.txt**请保存到。nameserver·search·options必须有三行。
  3. web的Deployment(复制品2,nginx:1.27-alpine,端口名称http)创建与之同名Service,查询长名字和短名字**/root/k8sdns/svc-a.txt**请保存到。必须显示相同的ClusterIP。
  4. 在CoreDNS的Corefile中log打开插件,example.com两种工具分别查询,然后用CoreDNS记录的查询次数来计算。/root/k8sdns/ndots.txt**请保存到。queries_nslookup=queries_getaddrinfo=从两行开始,在下面粘贴日志。
    • busybox的nslookup一次
    • curl一次(curlimages/curl:8.10.1) 两个数字**有很大的不同。**为什么不一样是这个阶段的核心。
  5. web-h无头Service(clusterIP: None)并制作查询结果**/root/k8sdns/headless.txt**请保存到。手柄IP必须保持原样。
  6. web查询的SRV记录/root/k8sdns/srv.txt**请保存到。
  7. lowdots这样的垫子dnsConfig罗**ndots: 1给以并放置,4次的curl用同样的工具重新数一遍提问次数/root/k8sdns/fixed.txt请保存到**(queries=包括线)。必须在3次以内。换工具的话就不成立比较了。
  8. /root/k8sdns/report.mddns_ip=queries_before=queries_after=和三行一起ndots为什么是问题,还有**nslookup请写下为什么重新登录后看不到问题**。

参考

CoreDNS在哪里

确认CoreDNS在哪里,做什么**/root/k8sdns/coredns.txt**请保存到。kube-dns服务中必须包含ClusterIP和Corefile专业。

kube-dns在kube-system上寻找名为的服务,coredns同时包含ConfigMap的Corefile。因为名字是CoreDNS,服务名称是kube-dns,是因为继承了以前实现的名字。

帕德在看什么找名字?

垫子里的**/etc/resolv.conf** 就那样 **/root/k8sdns/resolv.txt**请保存到。nameserver·search·options必须有三行。

浮动一个分区,直接读取其中的/etc/resolv.conf。它不应该是VM本身的resolv.conf,而是分区内部的——两者完全不同。

服务名称成为地址的那一刻

web的Deployment(复制品2,nginx:1.27-alpine,端口名称http)创建与之同名Service,查询长名字和短名字**/root/k8sdns/svc-a.txt**请保存到。必须显示相同的ClusterIP。

创建Deployment和Service后,在相同命名空间的文件夹中webweb.default.svc.cluster.local分别查询。成为短名字的原因是多亏了搜索域名。

一个名字问了几次问题

在CoreDNS的Corefile中log打开插件,example.com两种工具分别查询,然后用CoreDNS记录的查询次数来计算。/root/k8sdns/ndots.txt**请保存到。queries_nslookup=queries_getaddrinfo=从两行开始,在下面粘贴日志。

在Corefile上log输入一行,重新启动CoreDNS后,在Pad上example.com只查询一次后,会收到日志。如果在结尾加上点(example.com.) 跳过搜索域,请不要附加。

无头会给你什么回报?

web-h无头Service(clusterIP: None)并制作查询结果**/root/k8sdns/headless.txt**请保存到。手柄IP必须保持原样。

clusterIP: None制作和查询服务。与普通的服务不同,会出现多个地址。

用名字查找端口号

web查询的SRV记录/root/k8sdns/srv.txt**请保存到。

SRV名字是_<포트이름>._tcp.<서비스>.<네임스페이스>.svc.cluster.local是。在第3阶段将...放入端口。http给它起了一个名字。

降低ndots并修改

lowdots这样的垫子dnsConfig罗**ndots: 1给以并放置,4次的curl用同样的工具重新数一遍提问次数/root/k8sdns/fixed.txt请保存到**(queries=包括线)。必须在3次以内。换工具的话就不成立比较了。

帕德规格的dnsConfig.options{name: ndots, value: "1"}放入。那么即使只有一个点,也不会经过搜索域。

学到了什么

/root/k8sdns/report.mddns_ip=queries_before=queries_after=和三行一起ndots为什么是问题,还有**nslookup请写下为什么重新登录后看不到问题**。

dns_ip=queries_before=queries_after=和三行一起,在正文中写下ndots为什么是问题。