@kubernetes_ru

Страница 195 из 958
Magistr
29.06.2017
09:59:50
ну почему ?

Maksim
29.06.2017
10:04:17
что?

Роман
29.06.2017
12:12:09
Подскажите, а как волюмы работают? Скажем, я выбираю тип hostPath, и делаю DaemonSet. У меня каталог на каждой ноде будет создан?

Google
Роман
29.06.2017
12:15:20
Да
То есть, за этим не нужно следить - если какой-то под изменит файл в волюме - он изменится на всех нодах?

Vitaliy
29.06.2017
12:15:50
Нет. Только на одной

Artem
29.06.2017
12:16:24
ты же маунт с хоста делаешь, а он для каждой ноды свой

маунти с какого нибудь хранилища, например по нфс и будет тогда везде меняться

Роман
29.06.2017
12:17:05
А какой тип использовать, если я хочу, чтобы все поды на всех нодах использовали одинаковый и синхронизированный волюм?

nfs?

Artem
29.06.2017
12:17:29
самый простой и быстрый вариант

быстрый в плане развернуть

Роман
29.06.2017
12:18:21
Но не быстрый - в плане хайлоад? А какие ещё варианты?

Artem
29.06.2017
12:18:34
ну смотря какой хайлойд

у нас судя по метрикам далеко до ботлнека

Роман
29.06.2017
12:19:00
100 - 200 тыщ в сутки, например.

Fike
29.06.2017
12:21:22
у меня нет какого-то готового ответа, просто уточню: редкая запись, частое чтение?

Google
Fike
29.06.2017
12:21:46
и где это все разворачивается (не на gcp / azure / aws)?

Роман
29.06.2017
12:22:11
Пока на своих серверах в датацентре.

Artem
29.06.2017
12:22:32
сейчас глянул статистику у меня более 3кк в сутки на запись

и до ботлнека еще далеко

Роман
29.06.2017
12:23:04
Artem
29.06.2017
12:23:08
развернуто в gke плюс nfs там же

Fike
29.06.2017
12:23:11
и на всякий - это же не для какого-то хранилища данных, именно хранилище объектов?

Artem
29.06.2017
12:23:34
nfs в gcp если точнее

Artem
29.06.2017
12:24:07
для бд это другая история

Fike
29.06.2017
12:24:11
вот это прям сразу не очень хорошо

Artem
29.06.2017
12:24:29
лучше не практиковать такое для бд

Fike
29.06.2017
12:24:35
бд может считать, что кроме нее никто файл не модифицирует

Роман
29.06.2017
12:26:33
Кластеризация бд - это отдельная тема в принципе, которую я буду рассматривать чуть позже. В данный момент волюмы нужны для статики проекта. Она редко изменяется - например, при деплое новой версии. Вот, в таком случае, получается, нфс - достойный выбор.

Artem
29.06.2017
12:28:30
если не для бд, то nfs очень даже ок

Zon
29.06.2017
12:35:36
Если бд то лучше сразу какой-то кластер делать.

Maksim
29.06.2017
12:40:00
Кластеризация бд - это отдельная тема в принципе, которую я буду рассматривать чуть позже. В данный момент волюмы нужны для статики проекта. Она редко изменяется - например, при деплое новой версии. Вот, в таком случае, получается, нфс - достойный выбор.
тут проблема в самой БД. ПО сути у тебя будет файл с базоый данных в который смотрит несколько app этой базы. ТОчно знаю что Постгре сойдёт с ума, да так, что лошадь будет проще убить, чем лечить. Классические БД довольно плохо переносят кластеризацию...

Maksim
29.06.2017
12:42:39
лучше делать через pgpool рядышком

Google
Maksim
29.06.2017
12:42:43
вне кластера кубера

Айбелив
29.06.2017
12:45:04
для postgres мы используем stolon

Роман
29.06.2017
12:45:50
Была мысль сделать через pgpool, но при помощи кубера. Очень запутанно получается. Пока очень внимательно думаю над этим.

Sergey
29.06.2017
12:48:23
для postgres мы используем stolon
о. а у вас нет метода форсированно выводить мастера из столона без 30-секундной паузы?

Айбелив
29.06.2017
12:50:16
о. а у вас нет метода форсированно выводить мастера из столона без 30-секундной паузы?
не в курсе, к сожалению. Спрошу у разработчика, как освободится.

о. а у вас нет метода форсированно выводить мастера из столона без 30-секундной паузы?
он сказал, что 3 секунды даунтайма при отстреле мастера. Ничего специфичного не делал

Роман
29.06.2017
14:16:16
Скажите, если у меня в докерфайле прописан, например, EXPOSE 2222, то для того, чтобы другие контейнеры видели этот порт достаточно в деплоймент прописать containerPort или обязательно нужно создавать сервис? Или сontainerPort вообще не обязательно указывать?

Artem
29.06.2017
14:17:40
если сеть одна то все порты доступны будут другим контейнерам

Роман
29.06.2017
14:18:03
если сеть одна то все порты доступны будут другим контейнерам
И не обязательно containerPort явно прописывать?

Maksim
29.06.2017
14:18:11
контейнерПорт нужно указывать что бы при expose кубер сам подхватывал порты из объявления деплоя

А так контейнер будет отвечать по всем своим портам

Роман
29.06.2017
14:19:09
АА. понял. Спасибо.

Роман
29.06.2017
14:31:01
А что-то подобное есть, типа depends_on? Чтобы контроллер начал поднимать деплоймент только после того, как другой деплоймент будет поднят.

Роман
29.06.2017
14:38:30
Что-то как из пушки по воробьям). Нашел readinessProbe - вроде то, что нужно.

Maksim
29.06.2017
14:38:55
Реаднесс Проба для другого

Он проверяет работу пода перед включением его в ендпоинт для сервиса

Роман
29.06.2017
14:41:43
Речь об эластиксёрче. От него зависит кибана и логстэш. Нужно, чтобы два последних запустились только после того, как эластик сделает свою грязную работу по инициализации и поднятию. То есть, как только апи-порт доступен и ответил - поднимаем остальное. Реаднесс - это не оно?

Maksim
29.06.2017
14:42:05
нет

Google
Fike
29.06.2017
14:42:31
А они не вырубаются сами, если не могут приконнектиться?

В этом случае куб тупо будет их перезапускать, пока эластик не поднимется

Magistr
29.06.2017
14:43:26
я ж правильно понимаю что helm и spinnaker примерно одно и тоже ?

Vadim
29.06.2017
16:29:53
Речь об эластиксёрче. От него зависит кибана и логстэш. Нужно, чтобы два последних запустились только после того, как эластик сделает свою грязную работу по инициализации и поднятию. То есть, как только апи-порт доступен и ответил - поднимаем остальное. Реаднесс - это не оно?
Мы недавно это обсуждали и проще конфигурировать сервисы так, что бы им не важно было когда они подняты, т.е. если какого-то сервиса нет, мы продолжаем его пинговать продолжительное время. Как хак, всегда можно wait-for-it поставить, но это костыль.

Andrey
29.06.2017
17:48:34
а кто-нибудь пробовал делать на helm общий шаблон? такой некий chart которому подсовываешь разные values.yml и получаются разныве сервисы

контейнерПорт нужно указывать что бы при expose кубер сам подхватывал порты из объявления деплоя
а можно для тупых? я вот тоже containerPort не знаю: то есть если я не делаю kubectl expose то он нафиг не вперся и можно не задавать? или еще для чего-то нужен?

Admin
ERROR: S client not available

Andrey
29.06.2017
18:03:55
https://kubernetes.io/docs/api-reference/v1.6/#containerport-v1-core

ContainerPort represents a network port in a single container - три раза прочитал и не понял о чем это

Maksim
29.06.2017
18:09:43
ContainerPort represents a network port in a single container - три раза прочитал и не понял о чем это
Суть в том. Если контейнерПорт указан то kubectl expose создает сервис с переадресацией указанных портов, в противном случае expose нужно делать с ключом --port иначе он скажает что у контейнера нет портов и сервис создать нельзя

Andrey
29.06.2017
19:02:38
спасибо :)

Zon
29.06.2017
21:01:30
а кто-нибудь пробовал делать на helm общий шаблон? такой некий chart которому подсовываешь разные values.yml и получаются разныве сервисы
Мы думаем про это, но сегодня общался с челом, который исповедует абстрактный yaml в репах, а потом уже по своему (опсовому) разумению из этого генерится ci/cd джоба. Говорит очень хорошо получается. У них 80 аппов и 150 разрабов, возможно он и вправду знает.

Andrey
29.06.2017
21:02:15
Это как?

Zon
29.06.2017
21:07:46
Это как?
https://cloudnativeeu2017.sched.com/mobile/#session:37f8979eea81cbd9236717ee8abab2b8 вот тут слайды, видео я думаю найдёшь тоже

С телефона пересказывать тяжко, сорри

Pituss
30.06.2017
02:01:13
@FolderArchive - канал, где сливают платный полезный - образовательный контент и курсы, например можно скачать курсы "Нетологии" или все курсы "Бизнес Молодости".

Stanislav
30.06.2017
06:11:15
https://twitter.com/kubernetesio/status/880661432718811136

Роман
30.06.2017
06:52:35
А кто-нибудь деплоит из гитлаба проекты? Вот, не пойму никак - я там yaml файл создаю в проекте. Секция build у меня не вызывает вопросов. А вот деплой... Например я в процессе работы масштабировал проект, дав команду rc увеличить количество реплик. Но в гитлабе в yaml-файле у меня до сих пор прописана одна реплика. Это что - мне нужно всегда деплоить только из гитлаба и там изменения вносить? Не пойму. А если у меня кластер будет при определённой нагрузке динамически изменять количество реплик?

Google
Let Eat
30.06.2017
07:00:10
при apply происходит 3 way merge, так что если вы крутите count каким-нибудь patch (он кажется не создает аннотаций), то из гитлаба при apply счетчик не сбросится, если его в гитлабе и не трогать

(сам так не делал, теоретизирую)

Роман
30.06.2017
07:03:48
Только пробовать, в общем. Просто сейчас постепенно переходим на кубер.

Let Eat
30.06.2017
07:04:44
вобщем, главное rc.count обновлять так, чтобы аннотация оставленная apply из гитлаба не обновлялась.

Роман
30.06.2017
07:06:55
вобщем, главное rc.count обновлять так, чтобы аннотация оставленная apply из гитлаба не обновлялась.
Я пока не совсем понимаю. Допустим, я руками через консоль количество реплик увеличу. А yaml не изменится - тогда столько реплик и останется, сколько я руками поставил?

Let Eat
30.06.2017
07:11:14
Если выполняются условия: 1. gitlab делает kubectl apply на yaml (после этого, если вы сделаете kubectl get -o yaml <ресурс>, то увидите сгенерированную аннотацию, в которой будет значение последнего apply для этого ресурса) 2. кручение количества реплик _не_меняет_ эту аннотацию (кажется kubectl patch не меняет, но это вам искать и смотреть как этого добиться) то при следующем apply из гитлаба, количество реплик не изменится

несмотря на то, что в yaml по-прежнему прописано значение 1. это происходит потому, что apply генерирует патч по сравнению с прошлым apply , сохраненному в автосгенерированной аннотации к ресурсу

Айбелив
30.06.2017
07:48:49
По traefik может кто посоветует что почитать? Интересует TLS + SNI. Именно про Ingress, а то что-то в гугле меня забанили немного.

James Tiberius Kirk ?
30.06.2017
08:26:30
Привет, котаны. Подскажите как красиво поменять hostname для пода? Чтобы он туда не подсовывал имя пода

Pavel
30.06.2017
08:35:52
как раз выше писал

https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ Если вкратце, то создав сервис, а запись будет service-name.default.svc.test.dom.loc Под получит а запись с ip адресом вначале. Чтобы сделать то что хочется нужно поиграться с аннотацией pod.beta.kubernetes.io/hostname Судя по документации делает примерно то что нужно

James Tiberius Kirk ?
30.06.2017
08:55:15
классический вопрос - а зачем?
некая часть внутренностей контейнера использует в своих целях хостнейм и ругается, если хотснейм больше 32 символов

Denis
30.06.2017
08:55:25
Привет! Откуда лучше всего брать образы для apiserver, kube-proxy, kube-scheduler и kube-controller-manager?

Fike
30.06.2017
08:56:19
вызов .substring() этим внутренностями не подсунуть?

Denis
30.06.2017
08:56:24
Сейчас у меня мастера настроены через юниты, я хочу попробовать все запустить поверх kubelet

James Tiberius Kirk ?
30.06.2017
08:56:36
вызов .substring() этим внутренностями не подсунуть?
да можно накостылить конечно, но мне бы так не хотелось

Страница 195 из 958