k8s中的pod域名解析失败定位案例

问题描述

我在k8s中启动了一个Host网络模式的pod,这个pod的域名解析失败了。

定位步骤

  • kubectl exec -it [pod_name] -- bash进入pod后台,查看/etc/resolv.conf,发现nameserver配的有问题。这里我预期的nameserver应该使用宿主机的,但实际上用的是coredns的。
    在这里插入图片描述
  • 再查看pod的dnsPolicy,发现dns策略为ClusterFirstWithHostNet,这个策略使得Host模式的Pod仍然使用k8s的dns;我需要使用宿主机的dns,所以需要把这个dns策略改为’Default’
kubectl -n sg-fps get deploy -o yaml | grep dnsPolicy
        dnsPolicy: ClusterFirstWithHostNet
  • 通过kubectl -n kube-system get cm/coredns -o yaml查看coredns配置,发现coredns里配置的dnsserver 为10.204.16.1,这个IP我也配错了,再加上之前pod里配的策略是ClusterFirstWithHostNet,这两个错误同时出现,导致pod域名解析失败。
    在这里插入图片描述

解决方法

把Pod的dnsPolicy改成’Default’,k8s的四种DNS策略参考:link

相关推荐

  1. k8s基于alpinepod无法解析域名问题

    2024-06-13 11:04:03       52 阅读
  2. k8s修改/etc/resolve.conf导致容器域名解析失败

    2024-06-13 11:04:03       47 阅读
  3. K8S 调试运行报错 Pod

    2024-06-13 11:04:03       29 阅读
  4. 强制删除k8spod

    2024-06-13 11:04:03       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-13 11:04:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 11:04:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 11:04:03       82 阅读
  4. Python语言-面向对象

    2024-06-13 11:04:03       91 阅读

热门阅读

  1. 【前端】vue在线编辑器

    2024-06-13 11:04:03       38 阅读
  2. 北京汽车美容元宇宙,未来已来

    2024-06-13 11:04:03       33 阅读
  3. C#A类调用B类的方法,在方法中更新B类的控件

    2024-06-13 11:04:03       35 阅读
  4. 注解 - @RequestPart

    2024-06-13 11:04:03       37 阅读
  5. 设计模式-原型模式

    2024-06-13 11:04:03       53 阅读
  6. PostgreSQL 数据类型详细说明

    2024-06-13 11:04:03       32 阅读
  7. Elasticsearch-IndexTemplate和DynamicTemplate 有什么区别

    2024-06-13 11:04:03       24 阅读
  8. 1分钟带你了解代付业务|代付业务简介

    2024-06-13 11:04:03       28 阅读