#kubernetes #kube-dns
#kubernetes #kube-dns
Вопрос:
Невозможно использовать внутренний DNS Kubernetes, когда hostNetwork
используется:
/ 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
Ответ №1:
Новая установка Kubernetes 1.19.0 решила эту проблему.