微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用hostNetwork解析容器内的Kubernetes服务名称

如何解决无法使用hostNetwork解析容器内的Kubernetes服务名称

使用hostNetwork时无法使用Kubernetes内部DNS:

/ test# nslookup echo
Server:    10.96.0.10
Address 1: 10.96.0.10

nslookup: can't resolve 'echo'

没有hostNetwork

/ test# nslookup echo
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      echo
Address 1: 10.98.232.198 echo.default.svc.cluster.local

升级的裸机上的Kubernetes 1.18.5(未全新安装)。

完整配置:

apiVersion: apps/v1
kind: DaemonSet
Metadata:
  name: test
  labels:
    app: test

spec:
  selector:
    matchLabels:
      app: test

  template:
    Metadata:
      labels:
        app: test

    spec:
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet

      containers:
      - image: busyBox:1.28
        command:
          - sleep
          - "3600"
        imagePullPolicy: IfNotPresent
        name: busyBox

---

apiVersion: apps/v1
kind: Deployment
Metadata:
  name: echo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: echo
  template:
    Metadata:
      labels:
        app: echo
    spec:
      containers:
        - name: echo
          image: jmalloc/echo-server
          ports:
            - name: http-port
              containerPort: 8080
---
apiVersion: v1
kind: Service
Metadata:
  name: echo
spec:
  ports:
    - name: http-port
      port: 80
      targetPort: http-port
      protocol: TCP
  selector:
    app: echo

解决方法

全新安装的Kubernetes 1.19.0解决了此问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?