У меня есть кластер k8s, который был развернут на 3 виртуальных машинах ubuntu с помощью Rancher.
Но если я не укажу это ndots:1
(или удалите 2 последних поисковых домена lan.example.com
и example.com
) во всех моих развертываниях, то любой сетевой запрос не может быть разрешен должным образом, поскольку вместо этого добавляется мое собственное доменное имя example.com
на все запросы. Пример: ping google.com
на самом деле пингует google.com.example.com
.
Я раскрутил контейнер, чтобы проверить это, и это подтвердилось.
deployment.yml
:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: netutils
namespace: wfs-lab
labels:
app: netutils
spec:
replicas: 1
selector:
matchLabels:
app: netutils
template:
metadata:
labels:
app: netutils
spec:
#dnsConfig:
# options:
# - name: ndots
# value: "1"
containers:
- name: netutils
image: amouat/network-utils
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
И результаты пары команд:
root@netutils-658f489f5f-n8xh2:/# cat /etc/resolv.conf
nameserver 10.43.0.10
search wfs-lab.svc.cluster.local svc.cluster.local cluster.local lan.example.com example.com
options ndots:5
root@netutils-658f489f5f-n8xh2:/# ping google.com -c 1
PING google.com.example.com (73.17.xxx.xxx): 56 data bytes
64 bytes from 73.17.xxx.xxx: icmp_seq=0 ttl=63 time=0.520 ms
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.520/0.520/0.520/0.000 ms
root@netutils-658f489f5f-n8xh2:/# nslookup google.com
Server: 10.43.0.10
Address: 10.43.0.10#53
Non-authoritative answer:
Name: google.com.example.com
Address: 73.17.xxx.xxx
Как видите, он добавляет мой домен к запросу ping. Точно ничего не могу сделать. Нет apt update
, нет curl
.
Как я могу решить эту проблему, не указывая ndots
в каждом манифесте?