Dmitriy
какому поду к какому можно ходить, а какому нельзя
это интересно, надо копнуть в эту сторону
Sergey
https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy/
Sergey
список там есть
Sergey
что поддердивается
Sergey
You’ll need to have a Kubernetes cluster in place, with network policy support. There are a number of network providers that support NetworkPolicy, including: Calico Cilium Kube-router Romana Weave Net Note: The above list is sorted alphabetically by product name, not by recommendation or preference. This example is valid for a Kubernetes cluster using any of these providers.
Sergey
я выше и писал для примера калико или вэйв
Dmitriy
мне остается связать это с CNI и в итоге можно будет использовать политики
Maksim
который то же рулит в iptables в таблице филтер
Sergey
так это один из network provider который поддерживает NetworkPolicy
Dmitriy
который то же рулит в iptables в таблице филтер
пусть рулит, лишь бы правильно!
Sergey
чем Kube-router хорош - так тем, что он юзает iptables+ipset
Mikhail [azalio]
А что вы мониторите в Кубере на Bare-metal? Может есть какие-нибудь статьи интересное про это?
Mikhail [azalio]
А так же покажите ваши дашборды! )
Maksim
то же самое что и не на баре метал)
Maksim
кол-во памяти, загруженность проца кол-во hhd
Maksim
всё бъёться по нодам и namespace
Maksim
объём трафика
Maksim
дефолтовый от prometheus
kalloc
Привет
kalloc
Гугловый вариант юзабелен?
kalloc
Есть к нему конкретные вопросы?
Maksim
А есть не гугловый вариант?)
kalloc
Я про google container
kalloc
В части gcp
Maksim
почему нет?
Maksim
учитывая что до 1.7 кубер делался по сути гуглом
Artemiy
привет, чем деплоить в этот ваш кубернейтес, чтоб из CI
bebebe
модный ответ: спиннакером, но есть нюансы
G72K
модный ответ: спиннакером, но есть нюансы
как он в жизни, а не на картинках?
𝚔𝚟𝚊𝚙𝚜
народ а кто в курсе почему входящие пакеты на externalIP могут отбрасываться как martian source? - уже всю голову сломал
bebebe
как он в жизни, а не на картинках?
там нужно понимать саму модель разработки инженеры нетфликса пилют его как бы опенсорс, но пилят его специфично для внутренних нужд самого нетфликса, а от комьюнити - велком то контрибьют отсюда например странная особенность, что архитектурно spinnaker нельзя поставить без уже имеющегося облака
bebebe
и так со многими их продуктами
G72K
ну так в куб же его можно поставить? чем не облако?
bebebe
да, но если у тебя нет куба - нет мультиков
𝚔𝚟𝚊𝚙𝚜
причем проблема происходит только тогда, когда я обращаюсь к kubeproxy: PREROUTING: IN=br0.100 OUT= MAC=fa:a3:18:af:cd:c7:44:31:92:73:c8:76:08:00 SRC=1.2.3.4 DST=5.6.7.8 LEN=60 TOS=0x00 PREC=0x00 TTL=61 ID=19612 DF PROTO=TCP SPT=28543 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 IPv4: martian source 10.244.79.2 from 1.2.3.4, on dev br0.100 ll header: 00000000: fa a3 18 af cd c7 44 31 92 73 c8 76 08 00 ......D1.s.v..где: 1.2.3.4 - это мой внешний ip 5.6.7.8 - это внешний ip одной из нод Kubernetes'а висит на br.100 10.244.79.2 - под
bebebe
собственно ему нужно подсунуть вольюмы и инслать чартом stable/spinnaker который тянет за собой jenkins (они с декабря выпилили возможность запускать какие-либо команды, типа тот же hello world) и запускают только через jenkins и еще тянет minio,redis
𝚔𝚟𝚊𝚙𝚜
В INPUT они даже не попадают
G72K
во дела
Anton
есть вопрос по nginx-ingress. не понимаю зачем на 443 порту в контейнере слушает nginx-ingress-controller, а не сам nginx?
bebebe
@amaksimov ping
Anton
LISTEN 0 0 :::443 :::* users:(("nginx-ingress-c",pid=7,fd=3))
G72K
ну делааа
𝚔𝚟𝚊𝚙𝚜
netstat -natp | grep kube tcp 0 0 1.2.3.4:80 0.0.0.0:* LISTEN 4875/kube-proxy- а это значит что kube-proxy работает в userspace mode?
𝚔𝚟𝚊𝚙𝚜
или не значит?
Mikhail [azalio]
кубе-прокси работает в userspace в любом случае. Как он роутит - зависит от параметров запуска.
Mikhail [azalio]
ps auxwwww | grep kube-proxy
Anton
LISTEN 0 0 :::443 :::* users:(("nginx-ingress-c",pid=7,fd=3))
гуглю, похоже что я зря гоню, он должен по умолчанию запускаться без ssl passthrough
𝚔𝚟𝚊𝚙𝚜
/usr/local/bin/kube-proxy --kubeconfig=/var/lib/kube-proxy/kubeconfig.conf --cluster-cidr=10.244.0.0/16cat /var/lib/kube-proxy/kubeconfig.confapiVersion: v1 kind: Config clusters: - cluster: certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt server: https://10.36.11.20:6443 name: default contexts: - context: cluster: default namespace: default user: default name: default current-context: default users: - name: default user: tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
𝚔𝚟𝚊𝚙𝚜
кубе-прокси работает в userspace в любом случае. Как он роутит - зависит от параметров запуска.
Я к тому что это нормально, что он 80 порт слушает? Насколько я понимаю если он роутит в iptables то он должен просто правило добавлять
𝚔𝚟𝚊𝚙𝚜
хм, правило кстати есть
Mikhail [azalio]
у меня не слушает в iptables mode
Mikhail [azalio]
` --proxy-mode ProxyMode Which proxy mode to use: 'userspace' (older) or 'iptables' (faster). If blank, use the best-available proxy (currently iptables). If the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are insufficient, this always falls back to the userspace proxy. `
𝚔𝚟𝚊𝚙𝚜
ага, значит это fallback!
Mikhail [azalio]
наверное стоит запустить сервис какой-нибудь и посмотреть изменились правила iptables или нет
𝚔𝚟𝚊𝚙𝚜
благодарю
𝚔𝚟𝚊𝚙𝚜
правила меняются
Anton
гуглю, похоже что я зря гоню, он должен по умолчанию запускаться без ssl passthrough
с версии 0.9.0-beta.12: SSL passthrough is disabled by default. To enable the feature use --enable-ssl-passthrough
Mikhail [azalio]
𝚔𝚟𝚊𝚙𝚜
хмм
𝚔𝚟𝚊𝚙𝚜
отдельных правил нет если я использую один из локальных адресов ноды как externalIP для сервиса, то все работает отлично
𝚔𝚟𝚊𝚙𝚜
но если я добавляю какой-нибудь внешний IP-адрес на одну из нод и указываю его как externalIP для сервиса, то внешние пакеты на этот IP дальше PREROUTING не уходят
𝚔𝚟𝚊𝚙𝚜
дропаются ядром как martian source
𝚔𝚟𝚊𝚙𝚜
при этом если rp_filtering отключить, оно вообще работает без default route для этого IP о__О
𝚔𝚟𝚊𝚙𝚜
откуда он знает в какой интерфес ему ответные пакеты слать, для меня тоже загадка
𝚔𝚟𝚊𝚙𝚜
На машине есть правила роутинга для сети подов?
прописал роут для сети подов и заработало, спасибо ip rule add from 10.244.0.0/16 lookup mytable
𝚔𝚟𝚊𝚙𝚜
Но это вообще здоровое решение? :) И что если у меня несколько таких таблиц, для каждой таблицы такое правило прописать?
Mikhail [azalio]
вопрос ставит меня в тупик если честно. Если конфигурация этого требует - я прописываю, не требует, не прописываю :)
Mikhail [azalio]
у меня сеть подов совпадает с сетью docker0 на интерфейсе.
𝚔𝚟𝚊𝚙𝚜
огромное тебе спасибо, дружище!
Mikhail [azalio]
👍
Danil
Приветствую. У меня вопрос: Кто-нибудь сталкивался с тем, что при создании external контейнера, зависает на pending? kubectl get services: nginx 10.110.42.173 <pending> 80:80/TCP 20m Если создавать internal, то все окей: nginx-internal 10.107.207.123 <none> 33334/TCP 7m
Mikhail [azalio]
В describe не написано почему? (Это так, мысли вслух)
Maksim
pending означает, что нет подходящих нод
Maksim
тут надо смотреть логи кублета
Danil
хмм
Logan
https://www.hashicorp.com/blog/hashicorp-vault-0-8-3/ вдруг кто не видел