Size: a a a

Kubernetes — русскоговорящее сообщество

2020 February 26

S

Slach in Kubernetes — русскоговорящее сообщество
Валентин Еловский
Ты знаешь таймаут, с которым кубднс ходит. Поставь sleep 2*таймаут
мнда 30 секунд судя по ConfigMap coredns
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Slach
ну как бы pod запущен, readiness говорит что ок
проблема именно в том, что этот pod сразу не резолвится по DNS из другого Pod
и вот надо отследить именно момент когда начнет резолвится

kubectl get ep не помогло
оно данные из apiserver берет 😞
то есть endpoint для service есть, хосты в нем есть
а kube-dns все еще резолвит не правильно
Я вот понять не могу что за дичь ты творишь ?
я запутался в куче твоих сервисов.

> получаю ошибку

> Code: 195. DB::Exception: Received from chi-test-011-secured-cluster-default-1-0:9000. DB::Exception: User default is not allowed to connect from address 172.17.0.2.

Потому что у тебя кривой регексп нарисован.
<host_regexp>chi-test-011-secured-cluster-[^.]+\d+-\d+\.test.svc.cluster.local$</host_regexp>
под него не попадает вот это вот 172-17-0-2.clickhouse-test-011-secured-cluster.test.svc.cluster.local.
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Slach
если бы его не было, дофига софта перестало бы работать, который проверяет hostname входящих подключений (PostgreSQL например)
выдохни. все прекрасно работает без PTR записей. только джуны пихают FQDN, как только у них все работать перестанет из-за проблем у вышестоящего DNS сервера - сразу образумятся и начнут ip адреса пихать. заодно и скорость обработки запросов вырастет.

а то добавлять +1xx ms на каждый коннект к БД - это слишком много
источник

S

Slach in Kubernetes — русскоговорящее сообщество
Lucky SB
Я вот понять не могу что за дичь ты творишь ?
я запутался в куче твоих сервисов.

> получаю ошибку

> Code: 195. DB::Exception: Received from chi-test-011-secured-cluster-default-1-0:9000. DB::Exception: User default is not allowed to connect from address 172.17.0.2.

Потому что у тебя кривой регексп нарисован.
<host_regexp>chi-test-011-secured-cluster-[^.]+\d+-\d+\.test.svc.cluster.local$</host_regexp>
под него не попадает вот это вот 172-17-0-2.clickhouse-test-011-secured-cluster.test.svc.cluster.local.
ок. regexp я поменять не могу, объясните тогда почему сначала ip резолвится в один hostname
а через некоторое время в другой? 😉
источник

S

Slach in Kubernetes — русскоговорящее сообщество
Lucky SB
выдохни. все прекрасно работает без PTR записей. только джуны пихают FQDN, как только у них все работать перестанет из-за проблем у вышестоящего DNS сервера - сразу образумятся и начнут ip адреса пихать. заодно и скорость обработки запросов вырастет.

а то добавлять +1xx ms на каждый коннект к БД - это слишком много
ну, не на каждый коннект, я же ссылку на pg_hba привел выше
вот в nginx такого нету принципиально (только через модули)
источник

S

Slach in Kubernetes — русскоговорящее сообщество
Lucky SB
Я вот понять не могу что за дичь ты творишь ?
я запутался в куче твоих сервисов.

> получаю ошибку

> Code: 195. DB::Exception: Received from chi-test-011-secured-cluster-default-1-0:9000. DB::Exception: User default is not allowed to connect from address 172.17.0.2.

Потому что у тебя кривой регексп нарисован.
<host_regexp>chi-test-011-secured-cluster-[^.]+\d+-\d+\.test.svc.cluster.local$</host_regexp>
под него не попадает вот это вот 172-17-0-2.clickhouse-test-011-secured-cluster.test.svc.cluster.local.
никакой дичи особой нет
просто пытаюсь протестировать e2e тестами связность между подами и сервисами

сначала резолвится в
> nslookup --type=PTR 172.17.0.2
2.0.17.172.in-addr.arpa      name = 172-17-0-2.clickhouse-test-011-secured-cluster.test.svc.cluster.local.

а через некоторое время уже по другому
> nslookup --type=PTR 172.17.0.2
2.0.17.172.in-addr.arpa name = chi-test-011-secured-cluster-default-0-0-0.chi-test-011-secured-cluster-default-0-0.test.svc.cluster.local.
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Slach
ок. regexp я поменять не могу, объясните тогда почему сначала ip резолвится в один hostname
а через некоторое время в другой? 😉
видимо у тебя там несколько сервисов. и твой под в ендпойнтах этих сервисов находится.
покажы kubectl get ep -n test

а вообще ты херней страдаешь.
почему ты кликхауз клиента запускаешь в поде chi-test-011-secured-cluster-default-0-0-0  ? у тебя же в этом поде сервер запущен.


тебе для работы надо тестировать из совсем отдельного пода.
а эти поды видимо будут через свой сервис экспоузится.

как я выше говорил обратка есть только у тех подов, которые в endpoint какого либо сервиса. нету сервиса - нету обратки
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Slach
никакой дичи особой нет
просто пытаюсь протестировать e2e тестами связность между подами и сервисами

сначала резолвится в
> nslookup --type=PTR 172.17.0.2
2.0.17.172.in-addr.arpa      name = 172-17-0-2.clickhouse-test-011-secured-cluster.test.svc.cluster.local.

а через некоторое время уже по другому
> nslookup --type=PTR 172.17.0.2
2.0.17.172.in-addr.arpa name = chi-test-011-secured-cluster-default-0-0-0.chi-test-011-secured-cluster-default-0-0.test.svc.cluster.local.
ну у тебя там ДВА сервиса.
обычный ClusterIP - clickhouse-test-011-secured-cluster
и headless chi-test-011-secured-cluster-default-0-0
источник

S

Slach in Kubernetes — русскоговорящее сообщество
> а вообще ты херней страдаешь.
почему ты кликхауз клиента запускаешь в поде chi-test-011-secured-cluster-default-0-0-0  ? у тебя же в этом поде сервер запущен.

мне надо протестировать связность между двумя CH серверами в кластере я правильный под выбираю
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Slach
> а вообще ты херней страдаешь.
почему ты кликхауз клиента запускаешь в поде chi-test-011-secured-cluster-default-0-0-0  ? у тебя же в этом поде сервер запущен.

мне надо протестировать связность между двумя CH серверами в кластере я правильный под выбираю
хыхыхыхы. ты определись. между подами и сервисами (понимай как приложение и сервер ch) или между двумя ch серверами.
источник

S

Slach in Kubernetes — русскоговорящее сообщество
Lucky SB
ну у тебя там ДВА сервиса.
обычный ClusterIP - clickhouse-test-011-secured-cluster
и headless chi-test-011-secured-cluster-default-0-0
Да, точно!
у меня два сервиса
ну вот я конекчусь с 0-0-0 пода на 1-0 headless serivce
коннект прилетает внутрь 1-0-0 пода с IP который резолвится в ClusterIP hostname
вместо headless 0-0

да блин, вот же незадача

> kubectl get ep -n test
NAME                                         ENDPOINTS                                                       AGE
chi-test-011-secured-cluster-default-0-0     172.17.0.2:9009,172.17.0.2:9000,172.17.0.2:8123                 4m58s
chi-test-011-secured-cluster-default-1-0     172.17.0.10:9009,172.17.0.10:9000,172.17.0.10:8123              4m38s
clickhouse-test-011-secured-cluster          172.17.0.10:9000,172.17.0.2:9000,172.17.0.10:8123 + 1 more...   5m23s

ClusterIP clickhouse-test-011-secured-cluster похоже фигачит на все headless IP ;(
источник

S

Slach in Kubernetes — русскоговорящее сообщество
Lucky SB
хыхыхыхы. ты определись. между подами и сервисами (понимай как приложение и сервер ch) или между двумя ch серверами.
Ну, хостнейм другого пода типа chi-test-011-secured-cluster-default-1-0-0 внутри chi-test-011-secured-cluster-default-0-0-0 не резолвится
источник

S

Slach in Kubernetes — русскоговорящее сообщество
Lucky SB
хыхыхыхы. ты определись. между подами и сервисами (понимай как приложение и сервер ch) или между двумя ch серверами.
😊 определился, мне надо связность между двумя инстансами CH серверов проверить, так чтобы обратный resolve попадал под host_regexp …
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Slach
Ну, хостнейм другого пода типа chi-test-011-secured-cluster-default-1-0-0 внутри chi-test-011-secured-cluster-default-0-0-0 не резолвится
блин. ну выучи терминологию уже.  Почитай про хеадлесс сервисы.

что значит хостнейм другого пода ? хостнеймы подов в кубе не резолвятся по названию пода !!!!

у пода в прямой зоне DNS дурацкие записи вида 1-2-3-4.default.pod.cluster.local которые никому нафик не нужны и никак не используются.

вот дока от кубе-днс про все что нужно знать о создаваемых записях
https://github.com/kubernetes/dns/blob/master/docs/specification.md
для core-dns она также актуальна
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
/report
источник

S

Spanish Inquisition in Kubernetes — русскоговорящее сообщество
I cannot send you direct messages due to API restrictions. PM me first, then try again.
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Slach
😊 определился, мне надо связность между двумя инстансами CH серверов проверить, так чтобы обратный resolve попадал под host_regexp …
ну и напиши нормальный регексп.
*.test.svc.cluster.local

и наслаждайся тормознутостью своего кластера
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
ойеее. у нас новый бот на канале ?
источник

AA

Anton Alferov in Kubernetes — русскоговорящее сообщество
кто-то знает, kustomize умеет fan out? типа у меня один манифест, например сервис, но кастомизация на выходе вываливает 10 сервисов с разными именами
источник

S

Slach in Kubernetes — русскоговорящее сообщество
Lucky SB
блин. ну выучи терминологию уже.  Почитай про хеадлесс сервисы.

что значит хостнейм другого пода ? хостнеймы подов в кубе не резолвятся по названию пода !!!!

у пода в прямой зоне DNS дурацкие записи вида 1-2-3-4.default.pod.cluster.local которые никому нафик не нужны и никак не используются.

вот дока от кубе-днс про все что нужно знать о создаваемых записях
https://github.com/kubernetes/dns/blob/master/docs/specification.md
для core-dns она также актуальна
спасибо, буду читать, простите что отнимаю столько времени
источник