k8s中的pod如何通过域名访问外网

下面是我的YAML文件的配置,需要pod通过域名访问外网,比较简单的解决方式是添加template.spec.dnsPolicy字段,将其设置为Default,从而使Pod继承所在宿主机的DNS设置

apiVersion: apps/v1
kind: Deployment
metadata:
  name: url-craw
spec:
  selector:
    matchLabels:
      app: url
  replicas: 1
  template:
    metadata:
      labels:
        app: url
    spec:
      containers:
      - image: url:v1
        name: url
      dnsPolicy: Default

dnsPolicy可设置的策略如下:

参数 说明
Default 继承Pod所在宿主机的DNS设置
ClusterFirst 优先使用Kubernetes环境的DNS服务(如CoreDNS提供的域名解析服务),将无法解析的域名转发到从宿主机集成的DNS服务器
ClusterFirstWithHostNet 与ClusterFirst相同,对于以hostNetwork模式运行的Pod,应明确指定使用该策略
None 忽略Kubernetes环境的DNS配置,通过spec.dnsConfig自定义DNS配置

猜你喜欢

转载自blog.csdn.net/RivenDong/article/details/107161237