Lev
то есть если я буду рассылать спам с текстом присоединиться к этом чату, то его закроют?
Logan
да, пока владельцы чата не объяснят, что они тут не причем
это довольно старая атака
Lev
попахивает магией)
Logan
да вовсе нет
это очень-очень старый способ. сейчас так удаляют чужие скайп-акки. В телеграме, в случае чего, можно аппелировать к живому модератору
а в скайпе блочит робот, и заблоченый акк - это навсегда
Роман
Скажите, могу я один волюм hostPath подключить в два разных пода? Работает такая схема?
Vitalii
Да
𝚔𝚟𝚊𝚙𝚜
всем привет
#whois
> Какой у вас проект или где работаете?
WEDOS Internet a.s. (Хостинг и VPS лоукостер)
> В чём вы специалист?
Облака и облачные технологии, в часности OpenNebula. А так же:
Сети, Автоматизация, Кластерные файловые системы, High Avability, вот это все...
> Чем можете быть интересны или полезны сообществу?
Мои публикации можно почитать здесь: http://kvaps.ru/
> Чем интересно сообщество вам?
Обмен опытом
> Откуда вы?
Czech Republic
Maksim
что за само реклама?
Artem
#япиарюсь 😄
Maksim
Ну просто тут пол чата специалисты в Облаках , вторая половина хочет ими быть)
Maksim
Вернее на пути к оному)
Etki
там прикрепленное сообщение висит, которое призывает всех новоприбывших рассказать о себе
𝚔𝚟𝚊𝚙𝚜
Начинаю осваивать Kubernetes,
На данный момент имеется большой кластер физических машин, все ноды находятся в одном L2-сегменте сети. Планируется много сервисов каждый со своим статическим IP адрессом.
Вопрос по оргинизации сети, есть ли способ сделать это правильнее чем через pipework?
Maksim
а ещё часть пишит эти самые облака на програмном уровне
Maksim
Не хотите, что?)
Maksim
𝚔𝚟𝚊𝚙𝚜
🔵 В группе есть традиция - представляться при входе:
▫️Какой у вас проект или где работаете?
▫️В чём вы специалист?
▫️Чем можете быть интересны или полезны сообществу?
▫️Чем интересно сообщество вам?
▫️Откуда вы?
▫️Как узнали про группу?
В сообщении нужно указать тэг #whois
🔵 Правила чата:
🚫 Публикация вакансий запрещена
🚫 Реклама запрещена
🚫 Политика запрещена
🚫 Флуд и непрофессиональное поведение запрещено
За несоблюдение правил - одно предупреждение, далее следует бан.
Вакансии и запросы на поиск работы публикуем в группе @devops_jobs. Формат любой: full-time, part-time, remote и разовые подработки. Также обмениваемся инсайдами и аналитикой по рынку труда.
Здесь общаемся на темы, посвященные Docker и экосистеме. Задаем вопросы, решаем проблемы и делимся новостями.
Параллельно с этой группой развивается:
🔸@docker_ru - посвященная Docker, Docker Swarm и экосистеме в целом. Задаём вопросы, обсуждаем идеи, решаем проблемы, делимся новостями и т.д.
🔸@devops_ru - активно общаемся на темы, посвященные DevOps, Docker, Mesos, DC/OS, CoreOS, Clouds и т.д.
📡 Возможно, вам также будут интересны группы: @nodejs_ru, @react_js, @angular_js, @javascript_jobs, @reactnative_ru, @ios_ru, @android_ru, @mobile_jobs. Приятного общения!
ну я думал тут такое правило...
Etki
все в порядке
Maksim
Хм) я действительно что-то упустил-)
𝚔𝚟𝚊𝚙𝚜
ок, вернул назад
Maksim
Ладно к теме)
Maksim
Статический IP на сервис, это через externalIP, но в 1.5 этот методо обявлен устаревшим, и я пока не игрался с 1.7, так что там может вообще его выпилили
𝚔𝚟𝚊𝚙𝚜
Maksim
есть три метода
Maksim
1. NodePort
2. ExternalIP (depricated)
3. Ingress
𝚔𝚟𝚊𝚙𝚜
да, я видел [kube-keepalived-vip](https://github.com/kubernetes/contrib/tree/master/keepalived-vip)
𝚔𝚟𝚊𝚙𝚜
1. NodePort
2. ExternalIP (depricated)
3. Ingress
и ни один мне не подходит
1. NodePort - при перезде контейнера на другую ноду сменится и IP
2. ExternalIP (depricated) - усталрел, а как он работает вообще?
3. Ingress - не подходит, т.к. у меня много ip с одинаковыми сервисами
Maksim
1. Нет не сменится, более того все ноды буду маршрутизироваться на Под
Maksim
2. Ну можно было написать к сервису ExternalIP (это был реальный ip любой ноды) и с него трафик шёл на Под
Maksim
3. ВОт этого не понял
Maksim
1. То есть С любого ip, любой ноды трафик будет маршрутизироваться на Под
Maksim
spec:
clusterIP: 10.254.227.162
deprecatedPublicIPs:
- 192.168.0.1
externalIPs:
- 192.168.0.1
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: cryptoproxy
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
Maksim
𝚔𝚟𝚊𝚙𝚜
3. ВОт этого не понял
ingress - это как в docker swarm, правильно?
экспозишь порт, и он доступен на любой ноде?
Maksim
ммм. с Роем дело не имел) Но кажесь не так.
Maksim
Ingress это правило для ingress-controller (которым в данный момент выступает либо GCE либо nginx-proxy)
Maksim
вроде как пилят HAproxy
𝚔𝚟𝚊𝚙𝚜
а, точно, я что-то такое читал :)
𝚔𝚟𝚊𝚙𝚜
Да. ТАм пишется DNAT правило по порту.
хм, а вот это интересно уже, спасибо.
Теперь вопрос в следующем, как можно вешать IP на ноду и "переезжать" его на другую, это вообще возможно сделать средствами kubernetes?
𝚔𝚟𝚊𝚙𝚜
что-то типа https://github.com/kubernetes/contrib/tree/master/keepalived-vip только проще
Maksim
Вот пример NodePort
Maksim
KUBE-MARK-MASQ tcp — 0.0.0.0/0 0.0.0.0/0 /* kube-system/grafana: */ tcp dpt:30300
KUBE-SVC-3QDDWNGGGXWDZXKH tcp — 0.0.0.0/0 0.0.0.0/0 /* kube-system/grafana: */ tcp dpt:30300
𝚔𝚟𝚊𝚙𝚜
грубо говоря, я бы хотел просто создать такой сервис как ip-адрес (много сервисов) и если одна нода падает, kubernetes перезапустил бы его на другой ноде
Maksim
[root@222720-2 ~]# iptables -t nat -L KUBE-SVC-3QDDWNGGGXWDZXKH -n
Chain KUBE-SVC-3QDDWNGGGXWDZXKH (2 references)
target prot opt source destination
KUBE-SEP-BXYSBSOKGBRCZUIW all — 0.0.0.0/0 0.0.0.0/0 /* kube-system/grafana: */
Maksim
[root@222720-2 ~]# iptables -t nat -L KUBE-SEP-BXYSBSOKGBRCZUIW -n
Chain KUBE-SEP-BXYSBSOKGBRCZUIW (1 references)
target prot opt source destination
KUBE-MARK-MASQ all — 172.17.79.7 0.0.0.0/0 /* kube-system/grafana: */
DNAT tcp — 0.0.0.0/0 0.0.0.0/0 /* kube-system/grafana: */ tcp to:172.17.79.7:3000
Maksim
ТО есть идёт DNAT с 30300 на 3000 на ip Пода
Maksim
Не ip адресс принадлежит по сути ноде
Maksim
и кубер не разрешает вопрсы переезда ip по нодам
Maksim
С другой стороны NodePort существует на ВСЕХ нодах
Maksim
и ты можешь поставить балансер до них
Maksim
либио через dns
𝚔𝚟𝚊𝚙𝚜
то есть эти правила создаются на всех нодах?
Maksim
NodePort да.
𝚔𝚟𝚊𝚙𝚜
прикольно
𝚔𝚟𝚊𝚙𝚜
В моем случае мне внешний балансер не нужен, т.к. все ноды смотрят в интернет просто, но я кажется придумал как это можно реализовать.
Что если я создам контейнер с network=host и просто буду им ассигнить ip адрес ноде?
𝚔𝚟𝚊𝚙𝚜
может уже есть подобный механизм в kubernetes?
я просто максимально упростить схему, в моем случае один pod - имеет свой ip
𝚔𝚟𝚊𝚙𝚜
еще вопрос: можно ли в NodePort указать чтобы перенапривление шло конкретно с этого ip адреса. Потому что, как я сказал, сервисы будут запущены на одинаковых портах
𝚔𝚟𝚊𝚙𝚜
то есть правило dnat скажем не 0.0.0.0 а например с 11.22.33.44
Роман
А как мне назначить другую ноду мастером?
Maksim
ну в BetsPrartic нельзя
Maksim
Maksim
𝚔𝚟𝚊𝚙𝚜
Maksim
https://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/
Maksim
Хотя не уверен что это работает без внешнего балансировщика
Maksim
а вообще hostnetwork вроде не работает в кубере
𝚔𝚟𝚊𝚙𝚜
через daemonset вроде работает, думаю и так должен, сча
Maksim
ds это способ запустить контейнеры на Всех Нодах сразу
Maksim
то есть на каждой ноде будет экземляр пода
𝚔𝚟𝚊𝚙𝚜
https://github.com/weaveworks/weave/blob/master/prog/weave-kube/weave-daemonset.yaml#L77
𝚔𝚟𝚊𝚙𝚜
hostNetwork: true - мне кажется он и в обычном pod должен сработать
𝚔𝚟𝚊𝚙𝚜
ладно, с этим я разберусь
𝚔𝚟𝚊𝚙𝚜
скажи только, правильно ли я понял, что параметр externalIP определяет адрес, который будет переписываться для правила dnat?
Maksim
и нода на который это работает
Maksim
так было в 1.5 но там он уже объявлен как устаревший
Maksim
в 1.7 его может и не быть , я 1.7 пока не юзаю