Andrey
У истио свой механизм фильтрации егресс трафика есть вроде
Nik
На вход в кластер я использую metallb- он как деймон сет присутвует на всех нодах кластера и поднимает необходимый экстернал ip для сервиса на любой ноде.
Nata
ну и istio ingress gateway даешь адрес метала
Nik
Artem
Подкиньте годных статей по экономике в GCP/GKE.
Andrey
Мне игресс нужен
Вот тут можно посмотреть https://kubernetes.io/docs/concepts/services-networking/network-policies/
Nik
Andrey
Так тебе ip нужен для фильтрации
Nata
фильтрация - netfilter всмысле чтоли?
Andrey
Файрвол
Alex
актуально, буду благодарен, а то уже вроде все перепробовал
чёт пара часов затянулась...
В любом случае, если еще актуально –
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: grafana
namespace: monitoring
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: auth
nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required'
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- hosts:
- grafana.domain.example.com
secretName: grafana-ssl
rules:
- host: grafana.domain.example.com
http:
paths:
- path: /
backend:
serviceName: grafana
servicePort: 3000
Вот пример с аутентификацией (там еще letsencrypt, но это мелочи)
Alex
плюс манифест для secret:
apiVersion: v1
data:
auth: SECRET
kind: Secret
metadata:
name: auth
namespace: monitoring
type: Opaque
Nik
Так тебе ip нужен для фильтрации
Меня будут фильтровать снаружи кластера. И пустят только с определеного ip. Если потеряю ноду - потеряю дорогу к ресурсу. Потому и хочу virtIP
Andrey
Nik
Andrey
Тогда это надо решать вне k8s
Sam
Nik
Очень странно
Andrey
На ингрес это тоже решается вне k8s
Sam
странно то что вообще не добавляется auth в конфиг, если бы просто непроходила авторизация и не работала, там бы я конечно погрешил на неверные алгоритмы.. а тут тупо конфиг для auth не создается, как буд-то анотация игнорится
Alex
Alex
там в аннотациях всё ок?
Alex
хм
Alex
auth-secret: basic-auth
Alex
а если просто auth сделать?
Nik
Andrey
Да ну? Кто управляет внешним ip?
Alex
Andrey
K8s не рулит внешней балансировкой. Этим занимается дополнительный инструмент. В случае облаков - всякие elb. В случае баре металл - keepalived какой нибудь
Andrey
То что он может запускаться как daemon set сути не меняет
Igor
подскажите, а можно задеплоить куб в aws на ec2 и интегрировать его с elb как сделано в eks?
Andrey
Можно
Igor
Andrey
Смотри инструкции нужного тебе ингресс контроллера, не надо гуглить
Andrey
Ну или того инструмента, которым ставил. У копс есть аддоны для этого
Sam
Alex
Sam
спасибо
Andrei
чтоб сэкономить на белых ipможно ли идним ингресом запросы в 2 и больше нейспейсов слать ?
Andrey
В чем проблема сделать два ингресса в разных namespace?
Alex
Andrei
Alex
у меня просто на bare-metal HAproxy (блин, как он там правильно пишется...) разруливает все запросы и в итоге потенциально хватает 1 IP
Andrei
ну эт да
Fidelina
Приветы
Fidelina
Fidelina
так и должно быть с роутами?
Just a baka
прикольно, это ингресс такой?
Fidelina
Vadim
https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#secured-routes
но заворачивать постгрессовский траффик в SSL на роутере так себе идея
Fidelina
Vadim
1. вообще не выводить постгрес порт вне кластера
2. hostNetwork=true
3. nodeport
Just a baka
а как посмотреть?
туплю, это сервис
и написано там tcp, все норм должно быть
хостнейм для быстрого доступа там пишется с хттп, скорее всего
Alex
Коллеги, может кто-нибудь дать ссылку как настроить filebeat, так что бы логи nginx парсились?
Alex
filebeat установлен в кубере
George
ну логично
George
потому что кубер изначально запущен с такой настройкой, что под ноуд порт давать только высокие порты
George
решение - либо переконфигурировать демоны, либо посадить постгрес на высокий порт (в целом насрать и это правильно, т.к. на стороне клиента ты все равно полную строку соединения пишешь)
Eugeny
Как можно поменять CLUSTER-IP без пересоздания кластера?
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 14d
George
George
ClusterIP - это же адрес внтури кластера
Just a baka
блатной айпишник занял поди :D
Eugeny
10.244.0.2/3
Just a baka
10.244 это поди подсетка для подов, а 10.96 - для сервисов?
Eugeny
да
Just a baka
в clusterip айпи пода не надо и не выйдет впихивать, думается мне
Fidelina
у меня второй вопрос,
Arbiter trying to connect to postgres-ee-10-2:5433
мне нужно, чтобы порты связывались друг с другом из разных подов
Fidelina
это где открывается? в есервисах?
Eugeny
в clusterip айпи пода не надо и не выйдет впихивать, думается мне
Вот работающий кластер:
kubectl get svc --namespace=kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.233.0.3 <none> 53/UDP,53/TCP 10h
kubectl get pods --namespace=kube-system -o wide |grep kube-dns
kube-dns-79d99cdcd5-9kplb 3/3 Running 0 10h 10.233.74.66 node4
kube-dns-79d99cdcd5-hx2mj 3/3 Running 0 10h 10.233.97.129 node5
George