172 похожих чатов

А никто не сталкивался с такой проблемой. Мне etcd pod'ы, которые

создает etcd-operator cilium'а
Спамят 50-60 раз в секунду такую ошибку

2020-12-11 16:52:36.002166 I | embed: rejected connection from "10.245.4.173:32988" (error "tls: \"10.245.4.173\" does not match any of DNSNames [\"*.cilium-etcd.kube-system.svc\" \"*.cilium-etcd.kube-system.svc.cluster.local\"]", ServerName "cilium-etcd-c2m6jflr96.cilium-etcd.kube-system.svc", IPAddresses [], DNSNames ["*.cilium-etcd.kube-system.svc" "*.cilium-etcd.kube-system.svc.cluster.local"])

Нашел issue https://github.com/cilium/cilium-etcd-operator/issues/37
Мол включите реверсивный резолв в CoreDNS. Он у меня конечно включен. PTR записи есть. (https://github.com/cilium/cilium/blob/aa22314462750c67a18a18ba6b5d4a16f3a99c4d/Documentation/gettingstarted/k8s-install-etcd-operator-steps.rst)
В качестве проверки дают пример такого DNS запроса:

```
host 10.60.20.86
86.20.60.10.in-addr.arpa domain name pointer cilium-etcd-972nprv9dp.cilium-etcd.kube-system.svc.cluster.local.
```

Но вот беда, у меня etcd оператор создает две службы cilium-etcd, cilium-etcd-client, и coredns по всей видимости рандомно возвращает результат.
Здесь 10.245.4.173 - адрес pod'а etcd, который фигурирует в ошибке другого pod'а (ошибку смотрите выше). 10.245.4.75 - адрес CoreDNS pod'а
Вот несколько одинаковых DNS запросов, которые возвращают разные результаты:

```
$ dig -x 10.245.4.173 @10.245.4.75 +short
10-245-4-173.cilium-etcd-client.kube-system.svc.cluster.local.

$ dig -x 10.245.4.173 @10.245.4.75 +short
10-245-4-173.cilium-etcd-client.kube-system.svc.cluster.local.

$ dig -x 10.245.4.173 @10.245.4.75 +short
cilium-etcd-54glklt9sp.cilium-etcd.kube-system.svc.cluster.local.

$ dig -x 10.245.4.173 @10.245.4.75 +short
cilium-etcd-54glklt9sp.cilium-etcd.kube-system.svc.cluster.local.
```

И видимо etcd такого никак не ожидает.

Видно что тут два первых запроса вернули PTR для службы cilium-etcd-client, а два последних для cilium-etcd.
Служба cilium-etcd - headles. Оператор использует чтобы собрать кластер etcd. А вот cilium-etcd-client обычная, используется для подключения к ней cilium агентов и cilium оператора.

Чет какая-то боль с этим managed etcd в cilium. В 1.9.1 он вообще кластер не может собрать, так как нет еще сети, а cilium агенты не могут подняться так как нет работающего etcd кластера.
Походу etcd оператор в cilium не продакшн реди. Либо я его как-то не так готовлю?

17 ответов

24 просмотра

Пиши в слак им

Перегенири серты

George Gaál
Пиши в слак им

Сказали что будут открываться от etcd-оператора

Dmitry-Sergeev 🇺🇦 Автор вопроса
𝚔𝚟𝚊𝚙𝚜
Перегенири серты

а он сам их генерит. Для этого достаточно дропнуть секреты с ними, потом дропнуть etcdcluster и pod cilium-etcd-operator'а. Я это пробовал, пробовал и переставлять весь cilium с полной очисткой его перед этим. Он странно как-то сделан. cilium-etcd-operator деплоет etcd-operator, который деплоет etcd кластер. Затем cilium-etcd-operator ждет, и если etcd кластер не собрался, то он его дропает и дропает etcd-operator и так по гр кругу. И у него получается успешно собрать кластер очень часто не с первого раза =)

Dmitry-Sergeev 🇺🇦 Автор вопроса
George Gaál
Пиши в слак им

о пасиб. У них же slack есть

Dmitry-Sergeev 🇺🇦 Автор вопроса
𝚔𝚟𝚊𝚙𝚜
Сказали что будут открываться от etcd-оператора

а это в слеке написали? Или где-то анонсировали про это в блоге?

Dmitry Sergeev 🇺🇦
а это в слеке написали? Или где-то анонсировали пр...

В слаке как-то написали, когда я у них про etcd-operator стал расспрашивать

Dmitry Sergeev 🇺🇦
а он сам их генерит. Для этого достаточно дропнуть...

Да вообще оригинальный etcd-operator давно дропнули :(

𝚔𝚟𝚊𝚙𝚜
Да вообще оригинальный etcd-operator давно дропнул...

В смысле тот на котором основан cilium-etcd-operator

Dmitry-Sergeev 🇺🇦 Автор вопроса
𝚔𝚟𝚊𝚙𝚜
В смысле тот на котором основан cilium-etcd-operat...

да там не то чтобы он основан. Он зачем-то поднимает etcd-operator, который уже поднимает кластер. В итоге получаем cilium-etcd-operator + etcd-operator - так странно

Dmitry Sergeev 🇺🇦
да там не то чтобы он основан. Он зачем-то поднима...

Дело в том, что etcd-operator обычно подразумевает персистент-кластер, но во многих кейсах хилить его не умеет, в случае с цилиумом, который использует etcd тупо для кэша проще убить и создать новый кластер, если что-то пошло не так

Dmitry Sergeev 🇺🇦
да там не то чтобы он основан. Он зачем-то поднима...

Он прям самого оператора спавнит или CR для него?

Dmitry-Sergeev 🇺🇦 Автор вопроса
𝚔𝚟𝚊𝚙𝚜
Дело в том, что etcd-operator обычно подразумевает...

да, вот только странно что что-то идет не так. А потом он внезапно таки собирает кластер. Бывает такое, что он поднимает первый pod, потом второй не может поднять, с ошибкой (не удалось получить member list) и все. Так и висит пока cilium-etcd-operator снова не передеплоет etcd-operator, который будет передеплоивать etcd кластер. > Он прям самого оператора спавнит или CR для него? Прям оператора и похоже CRD тоже. В managedFields crd вижу и еtcd-operator и cilium-etcd-operator в менеджерах. Забавно что если etcd-operator не справляется. Он прям его дропает, а не только кластер =)

Dmitry Sergeev 🇺🇦
да, вот только странно что что-то идет не так. А п...

Там есть возможная проблема курицы и яйца, у тебя controller-manager или cilium выдаёт podCIDRs на ноды?

Dmitry-Sergeev 🇺🇦 Автор вопроса
𝚔𝚟𝚊𝚙𝚜
Там есть возможная проблема курицы и яйца, у тебя ...

Да вроде проблем с выдачей ип подам нет. Поды успешно создаются и начинают пробовать собрать кластер. А вообще я настраивал чтобы controller-manager выдовал. Если я правильно это сделал. В helm чарте опции: config.ipam=kubernetes, global.k8s.requireIPv4PodCIDR=true Это для весрии 1.8.5, Для >= 1.9.0 они там поменяли чарт сильно. Но я щас про 1.8.5. В 1.9.1 etcd вообще не заводится без костылей

Dmitry Sergeev 🇺🇦
Да вроде проблем с выдачей ип подам нет. Поды успе...

Кстати да, я спрашивал почему они от umbrella-chart отказались в итоге

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта