У меня локальный кластер с запущенным minikube 1.6.2.
Все мои модули в порядке, я проверил журналы по отдельности, но у меня есть 2 дБ, приток и postgres, которые больше не доступны из любого URL вне пространства имен.
Я вошел в оба pods, и я могу подтвердить, что каждый БД в порядке, имеет данные, и я могу подключиться вручную с моим пользователем / pass.
Давайте рассмотрим случай притока.
kubectl exec -it -n influx blockchain-influxdb-local-fb745b98c-vbghp -- influx -username='myuser' -password="mypass" -database="mydb" -precision=rfc3339 -execute "show measurements"
дает мне 4 измерения, так что нет пб.
, но когда я пытаюсь соединить приток из того же пространства имен с его локальным днс, я получаю тайм-аут.
➜ ~ kubectl get svc -n influx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
blockchain-influxdb-local ClusterIP 10.96.175.62 <none> 8086/TCP 19m
➜ ~ kubectl get deployments -n influx
NAME READY UP-TO-DATE AVAILABLE AGE
blockchain-influxdb-local 1/1 1 1 20m
➜ ~ kubectl get po -n influx
NAME READY STATUS RESTARTS AGE
blockchain-influxdb-local-fb745b98c-vbghp 1/1 Running 0 21m
measures-api-local-8667bb496f-4wp8d 1/1 Running 0 21m
Случай, когда это работает:
Из модуля в том же пространстве имен:
curl --verbose -G 'http://blockchain-influxdb-local:8086/query?db=mydb&pretty=true' --data-urlencode 'u=myuser' --data-urlencode 'p=mypass' --data-urlencode 'precision=rfc3339' --data-urlencode 'q=show measurements'
Из модуля в другом пространстве имен (в том же пространстве имен) с IP-адресом модуля
curl --verbose -G '172.17.0.5:8086/query?db=mydb&pretty=true' --data-urlencode 'u=myuser' --data-urlencode 'p=mypass' --data-urlencode 'precision=rfc3339' --data-urlencode 'q=show measurements'
Из модуля в другом пространстве имен (то же пространство имен), со службой IP
curl --verbose -G '10.96.175.62:8086/query?db=mydb&pretty=true' --data-urlencode 'u=myuser' --data-urlencode 'p=mypass' --data-urlencode 'precision=rfc3339' --data-urlencode 'q=show measurements'
Но когда я использую локальный DNS из внешнего пространства имен, он не будет работать, я получаю тайм-аут от CURL:
curl --verbose -G 'blockchain-influxdb-local.influx.svc.cluster.local:8086/query?db=mydb&pretty=true' --data-urlencode 'u=myuser' --data-urlencode 'p=mypass' --data-urlencode 'precision=rfc3339' --data-urlencode 'q=show measurements'
I следовал за этим шагом отладки, чтобы убедиться, что DNS работает, и не было никаких проблем, все работает.
https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/* 10 33 *
Внутри того же модуля, когда я пингую этот URL, я получаю:
root@metadata-api-local-8b4b7846b-zllb8:/go/src/gitlab.com/company/metadata_api# ping blockchain-influxdb-local.influx.svc.cluster.local
PING nc-ass-vip.sdv.fr (212.95.74.75) 56(84) bytes of data.
--- nc-ass-vip.sdv.fr ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 47ms
Я не знаю, почему он ссылается на nc-ass-vip.sdv.fr
Я также пытался удалить локальный кластер и повторно развернуть его, также пытался обновить Minikube до последней версии (1.8.2), ничего не получалось.
Я не знаю, что еще делать ...
У кого-нибудь есть идея? Я хорошо работал в течение месяца, не знаю, что случилось. : (
В ответ на @Arghya Sadhu я отправляю файл /etc/resolv.conf из модуля Influx:
nameserver 10.96.0.10
search influx.svc.cluster.local svc.cluster.local cluster.local numericable.fr
options ndots:5
kubectl edit cm coredns -n kube-system
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
data:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
kind: ConfigMap
metadata:
creationTimestamp: "2020-03-19T10:59:28Z"
name: coredns
namespace: kube-system
resourceVersion: "176"
selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
uid: 0797c1a9-e9db-4b4c-bc8d-4c7ecca24968
РЕДАКТИРОВАТЬ:
kubectl exec -ti dnsutils -- nslookup blockchain-influxdb-local.influx.svc.cluster.local
Server: 10.96.0.10
Address: 10.96.0.10#53
Non-authoritative answer:
blockchain-influxdb-local.influx.svc.cluster.local.numericable.fr canonical name = nc-ass-vip.sdv.fr.
Name: nc-ass-vip.sdv.fr
Address: 212.95.74.75