Алексей
пакеты идут на lvs балансировщик с него на поды с подов напрямую к клиенту
Алексей
сеть l2
Алексей
и внешка и внутренняя
𝚔𝚟𝚊𝚙𝚜
в L2-режиме меня смутило что на простой arp-запрос who-has, отвечают сразу все ноды кластера
𝚔𝚟𝚊𝚙𝚜
у вас так же?
𝚔𝚟𝚊𝚙𝚜
или как ваш роутер узнает на какую ноду слать пакеты?
Алексей
сервисы висят на noarp интерфейсе это те которые внутренние внешка выделенна в 3 машины, l2 только на них собственно проблемы не вижу
Алексей
в общем то это более менее стантартный способ рабоы lvs
Roman
Роман, покажи поды в kube-system и кинь ссылку на daemon-set сети
https://pastebin.com/UED9BD47 Сеть L3. Я похоже разобрался. Если сделать route внешней сетки на сервере где есть kube-router, то все работает и трафик уже начинает роутится.
𝚔𝚟𝚊𝚙𝚜
Алексей у меня по умолчанию все ноды отвечали, у вас получается только три? - или что значит "внешка выделенна в 3 машины"? - просто arp работает там?
Алексей
если использую отдельный vip с маскарадингом то да но я в основном использую tunneled режим, маскарадинг мой трафик не тянет а в tunneled режиме vip и nodeip одно и тоже
𝚔𝚟𝚊𝚙𝚜
Очень интересно:) У меня много IP-адрессов и много нод, нужно организовать несколько точек входа для каждого из них. Kube-router выглядит очень многообещающе но как разрулить эти точки входа в L2-режиме я так и не придумал, похоже arptables надо просто подкрутить
Алексей
vмного нод это сколько?
Andor
4-6
𝚔𝚟𝚊𝚙𝚜
ну пока 200
Алексей
а они что все должны торчать наружу?
Roman
ну пока 200
А сколько сервисов и pod-ов?
𝚔𝚟𝚊𝚙𝚜
ну пока не так много kubectl get pod --all-namespaces | wc -l 1626
Алексей
собственно lvs в режиме тунелирования или directrouting позволяет прокачивать очень много, 30 krp/s у меня через lvs спокойно пролазиет
Алексей
это на 4 нодах которые смотрят наружу основная нагрузка идет на nginx/haproxy внутри
Алексей
в принципе хватило бы и одной ноды, но входящий канал не позволяет
𝚔𝚟𝚊𝚙𝚜
туннелинг это тот который: --enable-overlay When enable-overlay set to true, IP-in-IP tunneling is used for pod-to-pod networking across nodes in different subnets. When set to false no tunneling is used and routing infrastrcture is expected to route traffic for pod-to-pod networking across nodes in different subnets (default true)?
Алексей
нет
Алексей
annotations: kube-router.io/service.dsr: tunnel
Алексей
service.dsr грепни в документации
𝚔𝚟𝚊𝚙𝚜
спасиб!
Алексей
там без sysctl специфических не заведется, ну вернее зависит от того что дефолтом
Алексей
и от версии ядра
Алексей
ну и в принципе можно еще vrrp впилить тогда оно еще и внешние ip отказоустойчивыми сделает
𝚔𝚟𝚊𝚙𝚜
ага, то есть это тот самый новомодный Direct server return
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
но когда тестил kube-router, очень понравился своей нативностью и наличием DSR - его то я правда и не потестил тогда
Алексей
а почему ‘новомодный Direct server return’ я эту хрень юзал в 2005 году еще
Алексей
если не ошибаюсь по времени
Алексей
ну в 2008 точно
𝚔𝚟𝚊𝚙𝚜
потому что никто кроме kube-router больше не предоставляет эту функцию, везде по умолчанию предлагается только nat, в какой-то момент она меня очень заинтересовала, но до тестов пока так и не дошло
Siarhei
доброго дня, подскажите что дает реплика 3шт kube-dns (делаю по этой статье с 3-я мастерами) https://habr.com/post/358264/#othermaster
𝚔𝚟𝚊𝚙𝚜
сейчас используем romana и pipework для некоторых сервисов, который в принципе делает почти тоже самое. (ассигнит внешний ip в сетевой неймспейс пода), pipework - хочется выкинуть, но увы, вариантов пока особо нет.
Siarhei
на текщий момент 3 мастера все в статусе Ready, но потом предлагается kube-dns реплицировать до количества мастеров, и затем прописать количество apiserver-count 3 в манифесте kube-apiserver.yaml каждого мастера- я этот момент никак не поиму - что это дает?
Siarhei
ох я невнимательный.. спс
𝚔𝚟𝚊𝚙𝚜
доброго дня, подскажите что дает реплика 3шт kube-dns (делаю по этой статье с 3-я мастерами) https://habr.com/post/358264/#othermaster
реплика 3шт дает три запущенных dns-пода в кластере, и балансировку между ними
Алексей
pipework эт что?
Алексей
я немного не в трэнде, варюсь сам по себе и тенденции не отслеживаю
𝚔𝚟𝚊𝚙𝚜
эт древний скрипт, который позволяет в неймспейс контейнера прокидывать интерфейсы и ассигнить айпишники, прописывать роуты включая дефолтный и все такое https://github.com/jpetazzo/pipework
𝚔𝚟𝚊𝚙𝚜
не рекомендуется к использованию, так как это НЕнативный способ сети в docker и k8s
Алексей
чет напоминает помесь bridge-utils + обвязку + всякую фигню
𝚔𝚟𝚊𝚙𝚜
так оно и есть
Алексей
у вас профиль сетевой нагрузки какой в основном?
Алексей
сервисы с высоким rps есть?
Алексей
насколько я понимаю использование iptables для сервисов с высоким rps это изначально тупик с костылями высокий это от 5k rps в секунду на ноду
Алексей
запросов а не пакетов
Алексей
собственно поэтому я сразу начал плясать от ipvs
Алексей
тем более я его давно знаю и пользую
𝚔𝚟𝚊𝚙𝚜
сколько rps честно не знаю, но такие севисы точно есть, потеря призводительности - это одна из основных причин почему мы пробрасываем внешние интерфесы сразу в под, а не роутим средствами k8s
𝚔𝚟𝚊𝚙𝚜
но повторюсь, от этого очень хочется уйти
Алексей
ну боль понятна, скриптами обросли
𝚔𝚟𝚊𝚙𝚜
Не, скрипт то один, и запущен как демонсет, эт ваще не напрягает
𝚔𝚟𝚊𝚙𝚜
Не нравится то, что куб ничего не знает о том что происходит внутри контейнера и никак не отслеживает эти изменения
Andrey
CRI-O ещё.
𝚔𝚟𝚊𝚙𝚜
Не понял, а это тут при чем?
𝚔𝚟𝚊𝚙𝚜
Разговор был про сетевой стейк контейнера
Quang
Hi all. Anyone have that issue ? == Failed to curl https://kubeupv2.s3.amazonaws.com/kops/1.9.1/linux/amd64/nodeup. Retrying. == All downloads failed; sleeping before retrying % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:19 --:--:-- 0Warning: Transient problem: timeout Will retry in 10 seconds. 6 retries left. 0 0 0 0 0 0 0 0 --:--:-- 0:00:19 --:--:-- 0Warning: Transient problem: timeout Will retry in 10 seconds. 5 retries left. 0 0 0 0 0 0 0 0 --:--:-- 0:00:19 --:--:-- 0Warning: Transient problem: timeout Will retry in 10 seconds. 4 retries left. 0 0 0 0 0 0 0 0 --:--:-- 0:00:19 --:--:-- 0^C
Quang
i deployed k8s using kops but have that error on my master node.
Quang
command used : kops create cluster --node-count 4 --zones ap-southeast-1a --master-zones ap-southeast-1a --dns-zone=${DNS_ZONE_PRIVATE_ID} --dns private --node-size t2.medium --master-size t2.small --topology private --networking weave --vpc=${VPC_ID} --bastion=true ${NAME}
Quang
need to check nat gw on master node ?? because i see my master node is stay on private subnet, but i i already added nat GW.
Quang
https://kubecloud.io/ha-kubernetes-cluster-on-aws-kops-makes-it-easy-2337806d0311
Quang
i'm using this tutorial.
bebebe
need to check nat gw on master node ?? because i see my master node is stay on private subnet, but i i already added nat GW.
yep, looks like there is a connectivity problem between your master node and uplink
Quang
oke. let me check again.
Andor
VN?
Anatolii
Друзья, подскажите почему деплой происходит как-будто из какого-то кеша. Я на докер хабе образ обновил, а деплотся старый?
Andor
небось со старым тегом?
Andor
https://kubernetes.io/docs/concepts/containers/images/#updating-images
Vladimir
a=1 b=2 envsubst < template.yml > kubectl create -f - прокатит или надо вместо > |?
Andor
а ты между ними знаешь разницу?