Kubernetes 为pod指定DNS

在k8s里面,默认创建pod会给pod默认分配一个默认的dns,这个dns是哪来的呢?可不可以改成其他的dns呢?

先进入到pod里面来,可以看到这里面默认设置的DNS服务器,这个服务器地址为10.96.0.10。这个地址是k8s自动的为pod设置的dns服务器。通过coredns来创建的。

为什么会设置为这个地址呢?可不可以修改这个地址呢?

在创建pod的时候,首先要将请求发送给apiserver,apiserver将请求发送给kubelet,由kubelet去调用runtime去将对应的容器创建出来。

这里有dnsPolicy,设置为ClusterFirst ,表示优先使用集群里面的DNS服务器,那么集群里面的DNS服务器是谁呢?

kubelet是知道的,因为最终都是有kubelet告诉runtime,runtime是什么都不懂,全部由kubelet去告诉runtime怎么创建pod。

cat /var/lib/kubelet/config.yaml

所以说当创建pod的时候,并没有指定使用的是哪个DNS服务器,pod里面指定的是clusterfirst,优先使用集群里面的dns,kubelet知道既然使用集群里面的dns,那么集群里面的dns就是clusterdns 10.96.0.10。

所以kubelet创建的容器dns地址就是10.96.0.10。那么创建pod的时候可不可以去修改它所使用的dns呢?

这里的dnspolicy改为none,也即是不使用任何的dns。到底使用哪个由我自己来配置。

如果需要配置如下:

这样创建的pod不再使用集群里面的dns了,而是使用指定的dns,

上面就是在创建pod的时候具体怎么设置dns的。 

相关推荐

  1. Kubernetes集群Pod介绍

    2024-07-14 03:40:02       52 阅读

最近更新

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

    2024-07-14 03:40:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 03:40:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 03:40:02       58 阅读
  4. Python语言-面向对象

    2024-07-14 03:40:02       69 阅读

热门阅读

  1. Python input NameError: name ‘xxx‘ is not defined.

    2024-07-14 03:40:02       18 阅读
  2. 【数据结构】二叉树

    2024-07-14 03:40:02       21 阅读
  3. AWS认证SAA-C03每日一题

    2024-07-14 03:40:02       17 阅读
  4. 高项-信息化发展知识要点

    2024-07-14 03:40:02       18 阅读
  5. 什么是开放最短路径优先(OSPF)

    2024-07-14 03:40:02       18 阅读
  6. 【YashanDB知识库】yasql登录报错:YAS-00413

    2024-07-14 03:40:02       20 阅读
  7. ABB 1786-RPA控制器 处理器 模块

    2024-07-14 03:40:02       18 阅读
  8. 【云原生】Kubernetes----ETCD数据的备份与恢复

    2024-07-14 03:40:02       17 阅读