G72K
В SG все открыто для всех, или Вы не про AWS?
Про AWS . Отсутствие network policy это тоже "открыто для всех"
G72K
Вы точно security group для eni с подами смотрите, а не с нодами?
G72K
Ну и входящую security group где аписервер слушает тоже проверить надо, чтобы разрешала с подов доступ
Vitaliy
Это интерресней, у меня одна VPC к котоой применяется SG. и в ней подсеть private ip
John
Народ подскажите пожалуйста по куберу кроме документашки для быстрого старта есть что почитать, может курсы какие? . Заранее благодарю за ответы!
G72K
Это интерресней, у меня одна VPC к котоой применяется SG. и в ней подсеть private ip
SG применяется к eni интерфейсам, а не VPC, если я правильно помню
G72K
При создании SG могу выбрать только VPC
Найдите EC2 ноду в консоли у нее будет список интерфейсов, по одному на под + 1, через ссылки на эти интерфейсы можно их SG найти
Vitaliy
Да на 2 интефейса одни и теже SG
G72K
Ну тогда не знаю.
Vitaliy
Спасибо, попробую DNS добить и пологам отловить iptables создание прав. Я на начальном этапе удалял павила iptables может повлияло
G72K
Щито?
Alex
а были у кого-то проблемы с тормозами DNS в кубе? Время ответа - по 5 секунд иногда, видел issue, в котором рекоммендуют лютые костыли, в итоге на уровне приложения делаю запросы к DNS через гугловые, но, кажется, это жуткий костыль
ASTASHOFF
пойдите на ноду и поснимайте трафик tcpdump'ом на eni, и посмотрите доходят ли syn'ы при телнете, если да то айпитейблс, если нет то security groups
ASTASHOFF
ребят, соц опрос :). Что вам нравится и не нравится в cilium? А что в других cni? Какой cni вы выбрали и используете? Какие в нем достоинства и недостатки? И если будете строить новый кластер, какой cni выберете и почему?
Vitaliy
Щито?
Когда kube создавал были поблемы с контейнером amazon-vpc-cni-k8s я раза 3 пересоздавал все сначала и удалял iptables правила
Vitaliy
пойдите на ноду и поснимайте трафик tcpdump'ом на eni, и посмотрите доходят ли syn'ы при телнете, если да то айпитейблс, если нет то security groups
Спасибо, запросы от curl прилетают. 21:09:49.064879 IP ip-172-31-25-144.us-west-1.compute.internal.48832 > ip-172-31-30-166.us-west-1.compute.internal.3000: Flags [S], seq 1510215862, win 26883, options [mss 8961,sackOK,TS val 322090071 ecr 0,nop,wscale 7], length 0 21:09:49.149024 IP ip-172-31-0-2.us-west-1.compute.internal.domain > ip-172-31-25-4.us-west-1.compute.internal.59472: 63327 1/0/1 PTR ip-172-31-25-144.us-west-1.compute.internal. (112) 21:09:50.094134 IP ip-172-31-25-144.us-west-1.compute.internal.48832 > ip-172-31-30-166.us-west-1.compute.internal.3000: Flags [S], seq 1510215862, win 26883, options [mss 8961,sackOK,TS val 322091100 ecr 0,nop,wscale 7], length 0 21:09:52.110122 IP ip-172-31-25-144.us-west-1.compute.internal.48832 > ip-172-31-30-166.us-west-1.compute.internal.3000: Flags [S], seq 1510215862, win 26883, options [mss 8961,sackOK,TS val 322093116 ecr 0,nop,wscale 7], length 0
Vitaliy
тока как лечить не понятно
Vitaliy
проблема с портом 3000? ну видите, у вас три сина и ни одного SynAck. Значит iptables. Смотрите iptables -S | grep 30\.166 (айпи где порт 3000) , iptables -t nat -S | grep 30\.166
Но он же сам их создает, я же не буду для каждого пода обновлять iptables. Это как то не правильно
ASTASHOFF
Есть Error http://take.ms/MKqeY
апйтейблс правила добавляет куб прокси. Мне очень не нравится этот скрин. Ищите что значит iptables too many links
ASTASHOFF
ну так у вас куб прокси поломан, в плане добавления правил, руками и не надо ниче делать, и не нужно было изначально
ASTASHOFF
и все ваши нетворк полиси поэтому тоже могут не работать, если они интра-кластер, без взаимодействия с vpc
Vitaliy
Kube-proxy отдельно возможно переустановить?
ASTASHOFF
Законом не запрещено :))) Поудаляйте поды, репликасет их заново пеоесоздаст, если та же проблема будет - повторюсь, гуглите по ошибке too many links, можете все правила удалить и пересоздать прокси как последний вариант. )
Й
ASTASHOFF
Законом та нет, а повидение kubernetes пока не понятно
Ну какой ваш вопрос, такой и мой ответ. Зачем вам вообще что-то пересоздавать? Я же вам сказал с чего начать, почему айпиейблс не работает)
ASTASHOFF
Добавьте в цепочку куба руками одно правило. Добавляется норм? Почему куб не может? Strace/verbosity fulldebug. И да, загляните в dmesg
Vadim
ребят, соц опрос :). Что вам нравится и не нравится в cilium? А что в других cni? Какой cni вы выбрали и используете? Какие в нем достоинства и недостатки? И если будете строить новый кластер, какой cni выберете и почему?
плюс в том что можно iptables/ebtables выкинуть. Минус в том что оно пока жрет много памяти и имеет проблемы с latency в тестах - https://itnext.io/benchmark-results-of-kubernetes-network-plugins-cni-over-10gbit-s-network-36475925a560
Vadim
впрочем, пишут что уже пофикшено - https://cilium.io/blog/2018/12/03/cni-performance/
ASTASHOFF
Виталий флашните таблицу куба и рестартаните куб прокси
Vitaliy
Рестарт инстанса считается? после Iptables -f ssh падает
Vitaliy
А кто юзает vpc-cni-k8s возможно сервисы и поды поменять в адрресации? Что бы сервис был доступен по private ip а под закыт от внешнего мира и доступен по подсети подов?
Й
плюс в том что можно iptables/ebtables выкинуть. Минус в том что оно пока жрет много памяти и имеет проблемы с latency в тестах - https://itnext.io/benchmark-results-of-kubernetes-network-plugins-cni-over-10gbit-s-network-36475925a560
Ну айпитэйблс это всего лишь управлялка для нетфильтр, а вот коннекшн трекинг в цилиум все равно есть. Так что особых преимуществ пока не вижу
Vitaliy
Или хотябы сервисы вывести на адрреса AWS
Vitaliy
Виталий флашните таблицу куба и рестартаните куб прокси
Ошибка вылазит после рестата kube-proxy с имеющимися c iptables rules если очистить и заново убить контейнер то ошибки нет, но порблему это не испрравило(
Й
dmesg смотрели?
Vitaliy
dmesg смотрели?
syslog там он только блочит соединения
Vitaliy
Нет ufw [UFW BLOCK] IN=eni736ad378211 OUT=eth0 MAC=fe:3d:55:7d:b8:dc:5e:3c:a8:9e:09:3d:08:00 SRC=172.31.27.245 DST=172.31.0.2 LEN=85 TOS=0x00 PREC=0x00 TTL=63 ID=5127 DF PROTO=UDP SPT=41308 DPT=53 LEN=65 [ 1379.496766] [UFW BLOCK] IN=enic138f3d41ee OUT= MAC=3e:47:2f:80:71:6a:92:86:6e:1d:7e:02:08:00 SRC=172.31.31.240 DST=172.31.25.4 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=29778 DF PROTO=TCP SPT=33894 DPT=6443 WINDOW=26883 RES=0x00 SYN URGP=0 [ 1379.498030] [UFW BLOCK] IN=enic138f3d41ee OUT= MAC=3e:47:2f:80:71:6a:92:86:6e:1d:7e:02:08:00 SRC=172.31.31.240 DST=172.31.25.4 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=56143 DF PROTO=TCP SPT=33896 DPT=6443 WINDOW=26883 RES=0x00 SYN URGP=0 [ 1379.499164] [UFW BLOCK] IN=enic138f3d41ee OUT= MAC=3e:47:2f:80:71:6a:92:86:6e:1d:7e:02:08:00 SRC=172.31.31.240 DST=172.31.25.4 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=19314 DF PROTO=TCP SPT=33898 DPT=6443 WINDOW=26883 RES=0x00 SYN URGP=0 [ 1380.514750] [UFW BLOCK] IN=enic138f3d41ee OUT= MAC=3e:47:2f:80:71:6a:92:86:6e:1d:7e:02:08:00 SRC=172.31.31.240 DST=172.31.25.4 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=29779 DF PROTO=TCP SPT=33894 DPT=6443 WINDOW=26883 RES=0x00 SYN URGP=0 [ 1391.518746] [UFW BLOCK] IN=eni736ad378211 OUT= MAC=fe:3d:55:7d:b8:dc:5e:3c:a8:9e:09:3d:08:00 SRC=172.31.27.245 DST=172.31.25.4 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=52770 DF PROTO=TCP SPT=55602 DPT=6443 WINDOW=26883 RES=0x00 SYN URGP=0 [ 1401.289222] [UFW BLOCK] IN=eth0 OUT= MAC=02:af:1d:cc:71:f4:02:ee:97:96:f0:06:08:00 SRC=172.31.1.230 DST=172.31.25.4 LEN=60 TOS=0x00 PREC=0x00 TTL=255 ID=58071 DF PROTO=TCP SPT=33890 DPT=3002 WINDOW=29200 RES=0x00 SYN URGP=0 [ 1402.304352] [UFW BLOCK] IN=eth0 OUT= MAC=02:af:1d:cc:71:f4:02:ee:97:96:f0:06:08:00 SRC=172.31.1.230 DST=172.31.25.4 LEN=60 TOS=0x00 PREC=0x00 TTL=255 ID=58072 DF PROTO=TCP SPT=33890 DPT=3002 WINDOW=29200 RES=0x00 SYN URGP=0 [ 1403.096233] [UFW BLOCK] IN=eth0 OUT= MAC=02:af:1d:cc:71:f4:02:ee:97:96:f0:06:08:00 SRC=138.197.79.225 DST=172.31.25.4 LEN=40 TOS=0x00 PREC=0x00 TTL=42 ID=3400 PROTO=TCP SPT=51422 DPT=23 WINDOW=53025 RES=0x00 SYN URGP=0 [ 1404.051764] [UFW BLOCK] IN=eth0 OUT= MAC=02:af:1d:cc:71:f4:02:ee:97:96:f0:06:08:00 SRC=46.101.208.222 DST=172.31.25.4 LEN=40 TOS=0x00 PREC=0x00 TTL=236 ID=54321 PROTO=TCP SPT=46494 DPT=8088 WINDOW=65535 RES=0x00 SYN URGP=0 [ 1404.320429] [UFW BLOCK] IN=eth0 OUT= MAC=02:af:1d:cc:71:f4:02:ee:97:96:f0:06:08:00 SRC=172.31.1.230 DST=172.31.25.4 LEN=60 TOS=0x00 PREC=0x00 TTL=255 ID=58073 DF PROTO=TCP SPT=33890 DPT=3002 WINDOW=29200 RES=0x00 SYN URGP=0
Й
уфв откуда там? Он что как сервис запускается?
Vitaliy
Встал вместе с чемто
Й
Встал вместе с чемто
Отключите из автостарта и ноду в ребут
ASTASHOFF
впрочем, пишут что уже пофикшено - https://cilium.io/blog/2018/12/03/cni-performance/
Due to how curl measures the download speed, it will start measuring the total time of the download when making the initial connection attempt. This means that the total time includes the period in which networking was still blocked. This reduces the reported troughput rate. wow, such no hping
ASTASHOFF
such no tcpdump
ASTASHOFF
Due to how curl measures the download speed, it will start measuring the total time of the download when making the initial connection attempt. This means that the total time includes the period in which networking was still blocked. This reduces the reported troughput rate. wow, such no hping
По такой же причине грейлистинг в ддос защите топорная техника, ибо ретрансмит с первого сина ломает rto и конгешен контрол будет меньше лить в сокет
ASTASHOFF
А айперф либо по удп долбит либо просто в рав сокет, и конекшена со стороны тцп стека там нет
Vitaliy
Отключите из автостарта и ноду в ребут
В логах proxy вылезла ошибка с IAM
Vitaliy
ERROR Health ping failed with error - AccessDeniedException: User: arn:aws:sts::908783198506:assumed-role/kube-vpc-cni/i-066d3cbd34bbba8c3 is not authorized to perform: ssm:UpdateInstanceInformation on resource: arn:aws:ec2:us-west-1:908783198506:instance/i-066d3cbd34bbba8c3
Vitaliy
Добавил EC2Messages
Й
И шо?
Vitaliy
Доступа так и нет, proxy пока без ошибок, собираюсь снести павила iptables и пеезапустить прокси
Никита
А чо не работает-то?
Никита
Я пошёл вверх и потерялся)
Vitaliy
AWS подсети не доступны на дугом инстансе, iptables лочит
Vitaliy
+ CoreDNS падает с 503
Никита
А точно не секьюрити группа? Назначь всем инстансам кластера одну секьюрити группу, разреши Inbound для неё и outboud любой.
Никита
ingeress/egress filtering для инстансов?
Никита
А, син прилетает.
Никита
Раз дело в айпитаблес, то ты же нашёл правило, которое срабатывает?
Vitaliy
Нет хочу что бы kube-proxy все разррешил
Никита
Я понимаю, так это у тебя точно кубпрокси что-то блочит?
Vitaliy
До этого сабатывал UFW сейчас его задисейблел, прравил много пеебирать какое павило не туда повернуло долго.
Никита
Обоже.
Никита
Если задизейблил, тачку проще всего перезагрузи.
Rainbow
До этого сабатывал UFW сейчас его задисейблел, прравил много пеебирать какое павило не туда повернуло долго.
посмотри как kubespray настраивает ноды. это плюс минус правильно. ufw 100% выключитть
Rainbow
и у docker iptables отключить
Vitaliy
и у docker iptables отключить
У меня еще 2 контейнера крутиться не в кубах, могут мешать?
Никита
Хорошо бы ещё убедиться, что правила, кроме как из кубпрокси, больше ниоткуда не приезжают.