
Alisa
10.08.2017
08:56:33
ну блин, опять
запустил, написал типа clonning и давай дальше пустыми строками вайпать консоль, это нормально вообще?

Роман
10.08.2017
08:58:02
inventory.cfg покажи
И, кстати, я kubespray ставил:
pip2 install kubespray

Alisa
10.08.2017
09:14:56

Google

Alisa
10.08.2017
09:15:47
блин я думал там one-liner, в котором всё что нужно
Generate inventory for a baremetal cluster
вот тут же надо генерить его, а не составлять, то есть я не могу inventory.cfg показать, потому что у меня он не генерится

bebebe
10.08.2017
09:17:03
пушо там расставляются группы и подгруппы
на которые ориентируется ansible

Alisa
10.08.2017
09:17:27
kubespray prepare —nodes node1[ansible_ssh_host=${MASTER}] node2[ansible_ssh_host=${NODE1}] node3[ansible_ssh_host=${NODE2}] —nodes 2 —masters 1
вот так я правильно же всё делаю?

bebebe
10.08.2017
09:17:44
хм
секунду

Alisa
10.08.2017
09:17:48
в переменных айпишники указаны

bebebe
10.08.2017
09:19:47
тебе нужно запустить contrib/inventory_builder/inventory.py
следующим образом:

Роман
10.08.2017
09:19:52
—nodes 2 —masters 1 - не правильно и не нужно для baremetal

Google

bebebe
10.08.2017
09:20:51
export CONFIG_FILE=/tmp/kubespray_inventory.cfg
python contrib/inventory_builder/inventory.py IP1 IP2 IP3 IP4после чего в /tmp/kubespray_inventory.cfg сгенерируется inventory против которого надо запускать плейбуку
руками инветори не очень желательно делать

Роман
10.08.2017
09:22:35

bebebe
10.08.2017
09:22:39
этот inventory.py типа LCM'а
типа можно потом добавить еще одну ноду, и он сам разберется что и как по бест-практис туда нужно совать

Роман
10.08.2017
09:22:40

bebebe
10.08.2017
09:23:15

Alisa
10.08.2017
09:23:34
а можно мне etcd и master на одну ноду указать? ??

Роман
10.08.2017
09:24:04
Но всё равно поставит.

Alisa
10.08.2017
09:24:27
хех, спасибо большое! c:

Роман
10.08.2017
09:28:47
Вот, хочу свой ингресс-контроллер сделать. В частности хочу свой шаблон запилить с новыми переменными. Не пойму никак, как их обрабатывать. Хотел по аналогии сделать, но аналогии нет). Не могу в коде найти.
Например, хотел найти, как это:
ingress.kubernetes.io/configuration-snippet
превращается в это:
{{ $location.ConfigurationSnippet }}
Может есть литература какая-то?

Alisa
10.08.2017
09:32:22

Роман
10.08.2017
09:36:02

Alisa
10.08.2017
09:41:29
у меня есть pdfка всей книги, можешь посмотреть, если найдешь то что нужно, то заплатишь за нее автору, если нет, то удали потом, а то так нечестно x)

Let Eat
10.08.2017
09:44:54

kvaps
10.08.2017
09:46:32

Maksim
10.08.2017
09:49:02
Но ни кто не запрещает тебе повесить его на интерфейс какого либо сервера)))
и сделать маршрутизируемым) Тогда можно избваться от NodePort и Ing

kvaps
10.08.2017
09:50:03

Google

kvaps
10.08.2017
09:51:16
так-так-так, обо всем по порядку, пожалуйста, с чем может быть связанно то что я не могу попинговать сервис по ClusterIP
ни с ноды ни из пода

Maksim
10.08.2017
09:51:38
либо задать реальну сеть L2 в качестве ClusterIP и маршрутизацию к ней)
ну потому что изначально ClusterIP это l3 DNAT по TCP/UDP
там нету icmp как класса)

kvaps
10.08.2017
09:52:22
то есть так и должно быть

Maksim
10.08.2017
09:52:25
да
ты можешь телнетнуться на порт сервиса
и что-то получить
или сделать wget/curl если это http

kvaps
10.08.2017
09:53:35
а почему тогда я поды с ноды могу попинговать?

Maksim
10.08.2017
09:53:54
потому что ip пода реален и работает по всем правила OSI

kvaps
10.08.2017
09:54:13
да, в целом логично
отлично, но по моему telnetom на kube-dns у меня тоже не работало, сейчас попробую еше раз

Maksim
10.08.2017
09:54:26
там же делается overlay сеть с маршрутизаций и всей другой мишурой
мм ну я лупил nslookup по kube-dns и всё работало
я получал резолвы

kvaps
10.08.2017
09:55:04
с ноды?

Maksim
10.08.2017
09:55:13
да

kvaps
10.08.2017
09:55:37
значит у меня что-то пошло не так :)

Google

Maksim
10.08.2017
09:55:47
nslookup kubernetes.default.svc.cluster.local <ip dns svc>
и получал ip этого самого сервиса

kvaps
10.08.2017
09:57:04

Maksim
10.08.2017
09:57:31
Именно для этого ExternalIP и существует
ты пишешь внешний ip ноды и с ней трафик начинает ходит в поды

kvaps
10.08.2017
09:59:29
отсюда еще вопрос, объясните в чем отличие типов сервисов NodePort от ClusterIP?
Ведь и там и там можно присобачить ExternalIP и port/targetPort и получать ответ от подов при запросе на эти порты снаружи
читал что clusterip сервисы используются только для организации доступа внутри кластера, а NodePort что бы выкидывать наружу.
Но ведь по сути оба типа работают одинаково

Let Eat
10.08.2017
10:02:49

Sergey
10.08.2017
10:03:04

kvaps
10.08.2017
10:04:06
добавьте @ratememyfriendbot в чат, буду плюсики раздавать :)

Admin
ERROR: S client not available

kvaps
10.08.2017
10:29:47
или сделать wget/curl если это http
ты был прав, curl и правда работает, ping нет, но и не должен, но моя проблема оказалось в другом:
# kubectl describe endpoints kube-dns -n kube-system
Name: kube-dns
Namespace: kube-system
Labels: k8s-app=kube-dns
kubernetes.io/cluster-service=true
kubernetes.io/name=KubeDNS
Annotations: <none>
Subsets:
Addresses: <none>
NotReadyAddresses: 172.16.6.4
Ports:
Name Port Protocol
---- ---- --------
dns 53 UDP
dns-tcp 53 TCP
Events: <none>
и оно никак не хочет этот адрес переводить из NotReadyAddresses в Addresses
разобрался, я какой-то кривой dns запустил и он не мог получить доступ к kubernetes-api-server.
Развернул новый kubernetes и скопировал конфиг для dns оттуда, заработало :)

Alisa
10.08.2017
10:53:34
это нормально, что kubespray уже второй затыкается на каком-то шаге (сначала ectd, теперь мастер) из-за того, что нода не отвечает?

Let Eat
10.08.2017
10:54:10
это нормально, что у вас важная нода не отвечает? :)

bebebe
10.08.2017
10:54:13

Alisa
10.08.2017
10:54:58

bebebe
10.08.2017
10:55:32

Google

bebebe
10.08.2017
10:55:36
ради эксперимента укажи flannel
kube_network_plugin: "flannel"
dns_mode: kubedns
у меня с calico были проблемы на aws и на digital ocean
впрочем я их поборол, но на вскидку сейчас не вспомню как

Alisa
10.08.2017
10:59:20
а нормально же просто перезапускать kubespray, он там откатит предыдущие изменения?
в принципе он скипит некоторые шаги, что подсказывает, что скорее всего они это предусмотрели

bebebe
10.08.2017
11:00:52

Rustam
10.08.2017
12:08:01
Ещё есть репа с терраформом для поднятия кубера: https://github.com/hobby-kube/guide
Поддерживаются scaleway и DO + ещё в днс умеет прописывать хосты
Там vpn между нодами поднимается, который в kernel space работает )

Alisa
10.08.2017
12:31:10
к слову мастер-нода до сих пор не отвечает, прям хз что с этим делать мда
сетка теперь flannel

bebebe
10.08.2017
12:32:34
А на чем падает

Alisa
10.08.2017
12:33:08

bebebe
10.08.2017
12:34:57
Еба
Я знаю в чем проблема

Alisa
10.08.2017
12:35:16
ого!

bebebe
10.08.2017
12:38:38
Сек
вангую что у тебя на интерфейсах левые ойпи адреса которые твой клауд провайдер натит
покажи мне с одной ноды ip a show куда-нибудь в приват через hastebin.com

Роман
10.08.2017
14:36:01
Скажите, а конфигмап - это только ключ=значение? Можно как-то для ключа сделать значение, равное нескольким строкам?

Maksim
10.08.2017
14:39:15
мм я туда несколько файлов с конфигам запихивал)
Целую папку так сказать