Роман
Спрей тоже через ансибль работает. Генерит для него плейбуки.
Роман
Anonymous
да
Anonymous
если ввожу ansible в консоль, то получаю список команд и ERROR! Missing target hosts
Anonymous
то есть мне надо туда сначала хосты указать?
Роман
Это нормально.
Maksim
а что куберспрей это надстройка над ансиблем?
Maksim
А зачем? -)
Anonymous
No such file or directory
Роман
А зачем? -)
Кем-то сделано и поддерживается. Удобно. Поправил конфиги под себя и развернул кластер.
Maksim
Ну я то же самое сделал с Чистым ансиблем)
Maksim
переписал плейбуки с версии 1.4 на 1.7 изменил сервисы на докеризованные в hyperkube и живу)
Роман
Anonymous
>ls ~/.kubespray/inventory
group_vars inventory.example local-tests.cfg
Maksim
Роман
Anonymous
а как его создать?🤔
$kubespray prepare —nodes 192.1.1.1 192.1.1.1 192.1.1.1 —nodes 2 —masters 1
вот так правильно же я использую для деплоя на baremetal?
Anonymous
.kubespray.yml
я если что ручками через wget дефолтный скачал
Роман
пара дней
Согласен. Самому написать - удобнее. Там в этих шаблонах чёрт ногу сломит. Но, когда я деплоил куб, стояла задача "Чтобы через полчаса кластер уже работал!")). В целом мне понравилось. В будущем свой напишу.
Maksim
Они просто написаны под Все известные системы
Maksim
ubuntu 14< и 14> CoreOs AtomicHost CentOS и даже комплиции из гита)
Maksim
то есть 70% мусора)
Роман
Это одна строка.
Роман
Роман
Роман
@Leorent а у тебя какая ос на серверах?
Maksim
Атомик
Maksim
Rhel Atomic Host
Maksim
Эта красная банда всё пытается мне Опеншифт всучить)
Anonymous
ну блин, опять
запустил, написал типа clonning и давай дальше пустыми строками вайпать консоль, это нормально вообще?
Роман
inventory.cfg покажи
Роман
И, кстати, я kubespray ставил:
pip2 install kubespray
Anonymous
блин я думал там one-liner, в котором всё что нужно
Anonymous
Generate inventory for a baremetal cluster
Anonymous
вот тут же надо генерить его, а не составлять, то есть я не могу inventory.cfg показать, потому что у меня он не генерится
bebebe
bebebe
пушо там расставляются группы и подгруппы
bebebe
на которые ориентируется ansible
Anonymous
kubespray prepare —nodes node1[ansible_ssh_host=${MASTER}] node2[ansible_ssh_host=${NODE1}] node3[ansible_ssh_host=${NODE2}] —nodes 2 —masters 1
вот так я правильно же всё делаю?
bebebe
хм
bebebe
секунду
Anonymous
в переменных айпишники указаны
bebebe
тебе нужно запустить contrib/inventory_builder/inventory.py
следующим образом:
Роман
Роман
—nodes 2 —masters 1 - не правильно и не нужно для baremetal
bebebe
export CONFIG_FILE=/tmp/kubespray_inventory.cfg
python contrib/inventory_builder/inventory.py IP1 IP2 IP3 IP4после чего в /tmp/kubespray_inventory.cfg сгенерируется inventory против которого надо запускать плейбуку
bebebe
руками инветори не очень желательно делать
Роман
bebebe
этот inventory.py типа LCM'а
типа можно потом добавить еще одну ноду, и он сам разберется что и как по бест-практис туда нужно совать
bebebe
Anonymous
а можно мне etcd и master на одну ноду указать? 🤔🙏
Роман
Но всё равно поставит.
Anonymous
хех, спасибо большое! c:
Роман
Вот, хочу свой ингресс-контроллер сделать. В частности хочу свой шаблон запилить с новыми переменными. Не пойму никак, как их обрабатывать. Хотел по аналогии сделать, но аналогии нет). Не могу в коде найти.
Например, хотел найти, как это:
ingress.kubernetes.io/configuration-snippet
превращается в это:
{{ $location.ConfigurationSnippet }}
Может есть литература какая-то?
Anonymous
Роман
Anonymous
у меня есть pdfка всей книги, можешь посмотреть, если найдешь то что нужно, то заплатишь за нее автору, если нет, то удали потом, а то так нечестно x)
𝚔𝚟𝚊𝚙𝚜
Maksim
Но ни кто не запрещает тебе повесить его на интерфейс какого либо сервера)))
Maksim
и сделать маршрутизируемым) Тогда можно избваться от NodePort и Ing
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
так-так-так, обо всем по порядку, пожалуйста, с чем может быть связанно то что я не могу попинговать сервис по ClusterIP
𝚔𝚟𝚊𝚙𝚜
ни с ноды ни из пода
Maksim
либо задать реальну сеть L2 в качестве ClusterIP и маршрутизацию к ней)
Maksim
ну потому что изначально ClusterIP это l3 DNAT по TCP/UDP
Maksim
там нету icmp как класса)
𝚔𝚟𝚊𝚙𝚜
то есть так и должно быть
Maksim
да
Maksim
ты можешь телнетнуться на порт сервиса
Maksim
и что-то получить
Maksim
или сделать wget/curl если это http
𝚔𝚟𝚊𝚙𝚜
а почему тогда я поды с ноды могу попинговать?