
Artur
08.09.2016
15:26:50
я свой кластер разобрал так что могу только на пальцах

Maxim
08.09.2016
15:27:02
ok, я на своем покажу
смотри
$ kubectl get po --namespace=apps|grep preview
preview-1801348260-az0tc 1/1 Running 4 3d
preview-1801348260-d8z7f 1/1 Running 5 7d

Google

Maxim
08.09.2016
15:27:44
вот у меня два пода с preview

Artur
08.09.2016
15:27:49
ага

Maxim
08.09.2016
15:27:57
они объединяются одним сервисом:
$ kubectl get svc --namespace=apps preview
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
preview 10.222.118.166 <none> 8081/TCP 90d
вот запортфорфардить сервис я не могу

Artur
08.09.2016
15:28:50
а только к конкретному поду

Maxim
08.09.2016
15:29:09
но могу сделать так:
$ kubectl port-forward --namespace=apps preview-1801348260-az0tc 8081:8081
Forwarding from 127.0.0.1:8081 -> 8081
Forwarding from [::1]:8081 -> 8081
$ curl -I 127.0.0.1:8081
HTTP/1.1 404 Not Found
Date: Thu, 08 Sep 2016 15:29:24 GMT
Connection: keep-alive

kay
08.09.2016
15:29:48
кстати. port-forwarding не всегда работает.
https://github.com/kubernetes/kubernetes/issues/19765

Maxim
08.09.2016
15:29:57
ну там на / никто не отвечает, поэтому 404

Artur
08.09.2016
15:30:07
ясно, я думал раз у пода один volume внизу, то в под размещать удобно то, что идет за одними и теми же данными

Maxim
08.09.2016
15:30:10
но ответ-то вот он, так или иначе

Artur
08.09.2016
15:30:19
ага, вижу

Google

Maxim
08.09.2016
15:31:00
или просто прав не хватает
k8s не виноват ;)

Тимур
08.09.2016
15:31:49
Вернее не так. У тебя сеть подов доступна с внешнего nginx ?

Maxim
08.09.2016
15:32:08
ну иначе он к ним не попадет

kay
08.09.2016
15:32:50
https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/tcp

Maxim
08.09.2016
15:33:44
?

kay
08.09.2016
15:33:56
как вариант проброски сервиса наружу

Maxim
08.09.2016
15:35:30
а, угу

Andrey
08.09.2016
16:45:33
у нас тут в соседнем чатике разговор состоялся, если вкратце: а есть ли возможность узнать адрес ноды из пода? переменные окружения там или еще что
юзкейс: подключиться к docker host из pod и запилить свои контейнеры

Maxim
08.09.2016
16:47:36
ну положи на всех нодах адреса в файл заранее известный
и монтируй его в подах
не вижу проблемы

Andrey
08.09.2016
16:48:16
а без телодвижений дополнтельных никак?

Тимур
08.09.2016
17:51:18
Докерхост можно в конфиге докера прописать. Соответственно заранее известен

kay
08.09.2016
17:51:50
адрес ноды из пода?
если есть сервер в локальной сети, который показывает адрес, то обычный curl на сервис.
если используется дефолтный деплой kubelet без ssh ключей, то curl -k на первый IP %сети_пода%:10250 и делай с нодой что хочешь
хоть команду в соседнем поде выполняй

Ivan
08.09.2016
19:37:00
минутка рекламы… Если вдруг приспичило поковыряться в исходниках k8s и что-то подправить, а из железа под рукой дедушкин валенок - вот эта штука очень поможет https://github.com/sttts/kubernetes-dind-cluster

Google

Ivan
08.09.2016
19:37:35
(насчёт рекламы, конечно, шутка)

kay
08.09.2016
19:38:15
> requires docker and docker-compose
docker-compose не нужно

Ivan
08.09.2016
19:38:55
хм, ну это смотря для чего. Данная вещь гораздо лучше hack/local-up-cluster.sh в том плане, что умеет запускать *многонодовый* кластер
проходит conformance tests
если что, DIND используется для разработки самого Docker'а

kay
08.09.2016
19:39:37
а в чем смысл проекта? мне чтобы собрать бинарники из исходников требуется минут 8 и 8gb оперативы.

Ivan
08.09.2016
19:40:06
запустить тестовый кластер на несколько нод, например, на маке с 8 Gb RAM
за минуту

Andrey
08.09.2016
19:40:38
ну вот dind например активно используется чтобы билдить контейнеры внутри дженкинсовских сборок (которые сами проходят в контейнерах), хотя и считается плохой практикой )

kay
08.09.2016
19:40:55
так проект для разработки или поиграться с k8s?

Ivan
08.09.2016
19:41:05
прежде всего для разработки
разработки *самого* k8s

Ivan
08.09.2016
19:42:58
ну вот скажем запилил я Pod Affinity / AntiAffinity for DaemonSets https://github.com/kubernetes/kubernetes/pull/31136 Надо несколько нод для тестирования. Запускать GCE кластер в падлу, запускать vagrant-кластер и ждать до морковкина заговенья ещё более в падлу, hack/local-up-cluster.sh даёт только одну ноду
я так полагаю, что, в целом, могут быть в жизни случаи, когда надо что-то в исходниках подправить и проверить

Maxim
08.09.2016
20:40:50
Крутая штука
Спасибо

Stanislav
09.09.2016
01:13:24
Спасибо за ссылку

Artur
09.09.2016
09:45:15
а вопрос по etcd здесь не будет офтопом?

Maxim
09.09.2016
09:45:29
только если не про бэкап :D

Google

Artur
09.09.2016
09:45:38
рано про бэкапы)
короче у меня есть кореос небольшой кластеров, там крутятся etcd. Насколько я понимаю мне нужно бы отдельный etcd иметь от всего этого дела для того, чтобы дискаверить свои кореос кластеры и класть конфигурацию для приложений?
тьфу, небольшой кластер кореос есть

Maxim
09.09.2016
09:48:33
не совсем понял вопрос
чуваки из кубернетеса, например, официально говорят, что несмотря на то, что у вас может быть есть системный етцд, дайте нам пожалуйста отдельный

Тимур
09.09.2016
09:52:15
я вот не понимаю зачем к примеру, в поде для днс присутствует еще и контейнер с etcd

Maxim
09.09.2016
09:52:28
хехе

Admin
ERROR: S client not available

Maxim
09.09.2016
09:52:32
так ты обновись

Тимур
09.09.2016
09:52:36
причем это в доке от кореос

Maxim
09.09.2016
09:52:36
его там давно нет

Тимур
09.09.2016
09:52:57
видимо дока древняя от кореоса
но она там более качественная

Maxim
09.09.2016
09:53:14
не нужно настроивать ХХХ по доке от кореоса
настраивайте ХХХ по доке от ХХХ

Тимур
09.09.2016
09:53:34
мне советовали обратное :)

Maxim
09.09.2016
09:53:46
я тут уже троим выпрямлял конфиги от кореоса

Тимур
09.09.2016
09:53:55
говорили у кубернетса дока ваще плоха

Maxim
09.09.2016
09:53:58
вон @DenisIzmaylov подтвердит

Тимур
09.09.2016
09:54:04
:)

Google

Maxim
09.09.2016
09:55:04
по теме пода днс:
$ kubectl get po --namespace=kube-system kube-dns-v19-71x58 -o jsonpath='{.spec.containers[*].image}'
gcr.io/google_containers/kubedns-amd64:1.6
gcr.io/google_containers/kube-dnsmasq-amd64:1.3
gcr.io/google_containers/exechealthz-amd64:1.1%
нету никакого etcd, как видишь ;)

Тимур
09.09.2016
09:56:03
ваще магия, где skydns, kub2sky..

Denis
09.09.2016
09:56:10

Maxim
09.09.2016
09:56:28

Тимур
09.09.2016
09:56:40
киньте плз линком на актуальную доку

Maxim
09.09.2016
09:56:53
доку про что?

Тимур
09.09.2016
09:57:41
про деплой днс... или видимо надо раскурить самому эти шаблоны из гитхаба :)

Maxim
09.09.2016
09:57:52
а чо там курить
все {{...}} меняй на свои цифры и все

Тимур
09.09.2016
09:58:25
https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns
оно ?

Maxim
09.09.2016
09:58:30
https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns

Тимур
09.09.2016
09:58:35
:)

Maxim
09.09.2016
09:58:41
чорт, ниуспел

Тимур
09.09.2016
09:58:57
кстати по доке кореос поставил 1.3
раньше по этой ставил http://kubernetes.io/docs/getting-started-guides/coreos/coreos_multinode_cluster/
ваще мрак
[Service]
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
ExecStartPre=/usr/bin/curl -L -o /opt/bin/setup-network-environment -z /opt/bin/setup-network-environment https://github.com/kelseyhightower/setup-network-environment/releases/download/v1.0.0/setup-network-environment
ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment
ExecStart=/opt/bin/setup-network-environment
ну как так