@kubernetes_ru

Страница 361 из 958
Dmitry
19.12.2017
06:56:28
Ограничение доступа на уровне ресурсов, и все?

Anton
19.12.2017
07:25:05
что за группировка?

готовые helm charts можно найти тут: https://github.com/kubernetes/charts

Но теперь хочу задерлоить распределённый сервис. Кафку, зукипер. Наверняка уже есть howto с рекомендациями
я слоупок, но скажу всетаки, такие вещи, как кафка например, у которых реплики не равноправны, рекомендуется деплоить в statefullset. elasticsearch например тоже, на нодах хранения может легко быть разный набор шардов. тоесть если у приложения есть какое то состояние в рабочем режиме, статус (не знаю какие еще подобрать слова), которое отличается репилки - нужно использовать statefullset

Google
Anton
19.12.2017
12:26:10
а если надо создать еще один такой admin но с другими правами? что копать надо?
его можно нагенерить вручную. там есть блок clusters & users & contexts, где сводятся user + clister

генеришь нового user, описываешь с ним context, профит, нет?

https://kubernetes.io/docs/admin/authentication/ тут подробнее, сам не пробовал юзеров создавать

Anton
19.12.2017
13:38:52
https://github.com/kubernetes/kubernetes/pull/52569

теперь в 1.9 больше не будет боли с iptables forward default policy =)

Eugene
19.12.2017
13:54:50
Кто то юзал contiv?

Anton
19.12.2017
15:02:53
ваше дело

прост многим не нравится иметь N инструментов деплоя. N инструментов для оркестрации и тд

Sergey
19.12.2017
15:06:25
Просто как оно будет работать в проде? Где данные хранить?

Google
Anton
19.12.2017
15:06:50
а где вы храните данные обычно?

Sergey
19.12.2017
15:07:41
Обычно я их не храню

Их хранит кафка/зукипер/постгрес/редис/etc

Anton
19.12.2017
15:10:04
нет же, ты их хранишь на той ноде, где запущен сервис

если при запуске сервиса ты об этом не думаешь, это еще не значит что ты ничего не хранишь

Sergey
19.12.2017
15:11:05
Это значит что мне все равно если этих данных не станет

Мой сервис их не использует

Anton
19.12.2017
15:12:14
я чет потерял нить. ты запускаешь постгрес и тебе всеравно что будет с данными на диске, потому что сервис (постгрес) их не использует?

Sergey
19.12.2017
15:12:33
Я не запускаю постгрес в кубере

Для этого есть rds

Anton
19.12.2017
15:14:58
хорошо. rds хранит для тебя данные. чем по сути это отличается от хранения данных в других вольюмах, на базе собственной инфраструктуры или инфраструктуры хостинг провайдера?

Sergey
19.12.2017
15:15:46
Ничем. Это оно и есть. Просто это вне кубера

Anton
19.12.2017
15:16:25
ну ок. так почему бы тогда не запускать сервис в кубере, храня его данные вне кубера?

Sergey
19.12.2017
15:17:33
Потому что с кубером это потребовало бы pv. А дальше начинаются вопросы при скейлинге закрывающиеся всякими флокерами, но это еще больше усложняет инфраструктуру

Anton
19.12.2017
15:19:17
в statefullset pvc под каждый под генерятся и привязываются к конкретному поду. как уж там инфраструктура будет выделять pv, отдельный вопрос. в aws можно динамически же генерить pv под запросы. и при скейлинге тоже

очень в общих чертах сложно это обсуждать

Sergey
19.12.2017
15:21:58
Я раньше так и делал. Проблемы начинают возникать при автоскейлинге кластера и порождении нод в других az, из которых эти pv нельзя смонтировать

Кубер это не учитывает (раньше по крайней мере не учитывал). Да и сложность этого схематоза такова, что я их не сильно виню. Вообщем я пришел к выводу, что все stateful - нах из кластера и pv использовать только в случае крайней необходимости (если софт по-другому не умеет).

Anton
19.12.2017
15:26:30
насчет порождения нод в других зонах, шедулинг подов позволяет ограничить где именно можно шедулить с помощью affinity

ну тоесть можно постораться не уехать за пределы чего то логического

Google
Sergey
19.12.2017
15:27:33
Тогда пропадает ha

Anton
19.12.2017
15:28:01
ну лан, тебе не угодить =)

что с ha за пределами к8с? =)

Sergey
19.12.2017
15:29:00
В rds по дефолту :)

В кафке и кубере из коробки

Зукипере*

Ну то есть все нормальные базы/очереди это умеют сами по себе а если не умеют то и в кубере вряд ли заумеют :)

Dmitry
19.12.2017
15:56:14
Почему нельзя создать новый пустой под и реплицировать? Либо пустой под и ему вручную подсунуть данные если совсем не хочется ждать репликации

Моя задача задеплоить все по-чистому на 3 железки, а когда нужно переехать на доп железо.

Sergey
19.12.2017
16:28:53
Я вот не пойму зачем тянуть данные со старого пода на новую ноду чего-то?
Механизм репликации - средство достижения HA и масштабируемости, а не штатный механизм переноса данных. В случае с кубером пода может скакать по кластеру как захочет (если конечно ее не прибить гвоздями). Плюс к этому может случиться так, что все 3 ноды будут недоступны в течение достаточно сжатого периода времени. Такое часто случается, например, в случае kops rolling update с изменением ig - оно просто по очереди терминейтит все ноды (сейчас вроде хоть дрейнить научилось) и порождает новые на их место

Dmitry
19.12.2017
16:30:23
Ansible/Chef?
Да, если бы то была одна система, но тут целая инфраструктура которую с некоторй верояинтостью нужно скейлить.

Почему бы для гомогенности не сделать 3 связки хост-под и задеплоить туда 3 ноды распределенных приложений

Я тут зеленый, поэтому интересна идеология кубера

Ilya
19.12.2017
16:46:15
товарищи, подскажите если какое-нибудь готовое решение для горизонтального мастабирования воркеров, но не в облаке, а on prem.

Deep Sea
19.12.2017
16:58:31
tectonic?

Andrey
19.12.2017
17:12:30
tectonic?
А причем тут танец? Или индусская разработка?

Google
Deep Sea
19.12.2017
17:12:51
Andrey
19.12.2017
17:13:08
Понятно - юмор был не оценен ?

Deep Sea
19.12.2017
17:13:24
?

Andrey
19.12.2017
17:27:13
Ну игра слов - название созвучно с танцем. А спеснями и плясками у нас индусы что либо делают (в фильмах). Вот и пошутил про индусскую разработку

Paul
19.12.2017
17:27:34
Понятно - юмор был не оценен ?
да потому что юмор скверный. Вот и не оценили его

Deep Sea
19.12.2017
17:27:53
про танец понятно, а про индусов уже сложно

Andrey
19.12.2017
17:28:16
Ну фильмы Болливуда - там постоянно поют и танцуют

Проехали

Admin
ERROR: S client not available

Dmitry
19.12.2017
19:40:31
Есть вопрос про неймспейсы, когда они становятся необходимы?

Let Eat
19.12.2017
19:40:40
всегда

Dmitry
19.12.2017
19:40:58
В плане "не default" неймспейс

Let Eat
19.12.2017
19:41:21
всегда ) особенно если RBAC, а RBAC всегда )

Dmitry
19.12.2017
19:41:41
ок, когда RBAC.

то есть для управлением доступа, ок. А кроме этого есть практическое применение?

RBAC работает для управления доступом к управлению ресурсами или как-то затрагивает коммуникацию между подами?

Let Eat
19.12.2017
19:44:13
можно dev, staging, prod организовать удобно, все разграничить network policy чтобы случайно не ходило не туда. конфиги приложений статичные. надо redis идет просто на redis:6379 и придет в тот, что нужно

Google
Let Eat
19.12.2017
19:45:16
еще как.

Dmitry
19.12.2017
19:51:01
Как вообще принято всем этим управлять? в AWS Cloudformation/Terraform, запускаешь aws cloudformation create-stack, а тут? через kubectl create -f ./template.yml ? или через helm? или я тчо-то путаю в сравнении категорий?

Let Eat
19.12.2017
19:52:51
мой вариант helm template | kubectl apply -f - для всякого Г из интерентов, голый kubectl apply для своего Г

helm ни на что, кроме как затемплейтить не годится

Dmitry
19.12.2017
19:57:39
аа, helm + kubectl apply это типа как jinja2 + cloudformation. Пардон такие аналогии)

а приложения как принято хранить-деплоить? для aws (ECS/EB) держу все обвязки в коде, и там просто eb deploy куда надо...

@rossmohax Спасибо, уже начало проясняться. Доки о такой базе не особо говорят. В частности о практических проверенных подходах)

Let Eat
19.12.2017
19:59:43
у каждого свой путь) тут баталии как правильно регулярно проходят

Dmitry
19.12.2017
20:00:06
да это ясно, но практические шорткаты люблю у настоящих людей слышать)

Let Eat
19.12.2017
20:01:10
а приложения как принято хранить-деплоить? для aws (ECS/EB) держу все обвязки в коде, и там просто eb deploy куда надо...
создаете директорию ./kube и там храните, потом из ci деплоите. если ci агента запустить в кубе, то ему можно права кастрировать так, чтобы ничего лишнего не задеплоил (и вот тут неймспейс на приложение очень удобно )

Dmitry
19.12.2017
20:02:32
в .kube хранятся темплейты helm, я так понимаю. которые потом по текущей среде создают конфиг, да?

Let Eat
19.12.2017
20:04:03
можно так. можно kubectl apply --recursive -f common -f environment1

оно подтянет специфичные вещи из отдельной директории

Dmitry
19.12.2017
20:05:15
ну тогда хранить параметры для каждой среды в репе предется хранить. ок. Спасибо, встал на путь истиный.

?

Let Eat
19.12.2017
20:09:10
можно иметь отдельную коллекцию веток в репе, где чисто деплой ресурсы. там сделать common ветку, и для каждого окружения. мержить все изменения common в окружение при помощи CI как будто это релиз самого кода (что логично, ибо новые параметры деплоя могут сломать деплой точно так же как новый код)

если вы по колено в амазоне, подождите, они свой куб выкатывают и обвязки к нему тоже наверняка. может не придется привычные инструменты менять

Arslanbekov
19.12.2017
20:19:34
Кто может подсказать, деплоимся через helm, тег в приложении остается старый (master) деплой проходит успешно, пишет что UPDATED (и ставит текущее время), но сами приложения не пересоздаются. Вроде как helm как раз избавляет от того, чтобы в деплойменте из деплоя в деплой что-то менялось? версия: helm 2.7.2

Arslanbekov
19.12.2017
20:21:57
нет, тоже success

Let Eat
19.12.2017
20:22:16
а изменения то делаете?

Arslanbekov
19.12.2017
20:22:46
ну сам образ меняется (слои меняются)

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