Dmytro
Dmitrii
Chrome
много нод? Заранее спасибо за ответы
Dmytro
https://cloudplatform.googleblog.com/2018/03/introducing-Agones-open-source-multiplayer-dedicated-game-server-hosting-built-on-Kubernetes.html (может было, ещ ене дочитал чат)
Logan
лаборатория, 8 нод
Chrome
а почему на дебиан 9? core os пробовали?
Chrome
Спасибо! будем думать)
Dmytro
Но может есть автомагический путь
баш скриптом выгребать имена эндпоинтов из headless сервиса, вот только в случае statefull set под стартуют один за других и поэтому и в headless они будут один за другим регаться. Какой-то магии встроенной нет (да и как она может быть, ведь statefull set может динамически менять количество членов?), только в каком-то скрипте или самому приложению поллить этот headless сервис и менять конфиг
Logan
Спасибо! будем думать)
тут лучше просто попробовать. Может у вас и CentOS зайдет в этой роли, я же не знаю... Может вам NIST-сертификация нужна
Dmytro
Andor
Скоро 18.04 выйдет ещё
Andor
Andor
В общем прямщас оно работает
Logan
мне не нравится нестабильность убунты. По этому я хочу от нее отказаться в пользу дебиана
Andor
Не знаю
Dmytro
Anton
VolumeScheduling: Enable volume topology aware scheduling and make the PersistentVolumeClaim (PVC) binding aware of scheduling decisions. It also enables the usage of local volume type when used together with the PersistentLocalVolumes feature gate.
в 1.9 появился такой feature gate и я как то сразу столкнулся с тем что моему поду на машине А выдали localstorage вольюм с ноды Б
Anton
может мне раньше везло, я хз
Anton
ну можно и без api обойтись запросами к dns. я так понял что для headless должны адреса подов возвращаться
Anton
только это будет состояние на момент старта
Anton
хардкод норм =)
Dmytro
разве нельзя из headless service чреез dns выгрести адреса?
кстати, если количество нод динамически не меняется то можно вот такой скрипт юзать (я для монги юзаю)
##
## Generate statefulset peer hostnames in the form $(statefulset name)-$(ordinal)
## and from host names and knowing service name generate pod dns names.
## I.e. for replicas=3 pod hostnames will be:
## $(statefulset name)-0
## $(statefulset name)-1
## $(statefulset name)-2
## and pod dns names will be:
## $(statefulset name)-0.$(service name).$(namespace name).svc.cluster.local
## $(statefulset name)-1.$(service name).$(namespace name).svc.cluster.local
## $(statefulset name)-2.$(service name).$(namespace name).svc.cluster.local
##
## Links:
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#deployment-and-scaling-guarantee
## https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#srv-records
##
function get_peers() {
local stateful_set_name=${1:?}
local service_name=${2:?}
local replicas=${3:?}
local my_dns_name=${4:?}
local namespace_name=${5:?}
local peers_dns_names=""
for i in $(seq 0 $(($replicas - 1))); do
local peers_dns_name="$stateful_set_name-$i.$service_name.$namespace_name.svc.cluster.local"
if [[ "$peers_dns_name" != "$my_dns_name" ]]; then
peers_dns_names="$peers_dns_names $peers_dns_name"
fi
done
echo "$peers_dns_names"
}
Dmytro
Anton
когда знаешь какие имена ожидаются, для statefulset, почему б и нет. ну такой хардкод тоже =)
Dmytro
ну +- да, тут просто эти все переменные прокидываются у меня через ENV внутрь пода а генерируется хелмом
Vadim
Logan
А что за проблемы или уровня "как это делать в центосе не знаем"?
многие инструменты деплоймента ломаются, чинить долго. Странное поведение докера (вплоть до крэша хоста). Странное поведение сети. Неделю я боролся – потом мне надоело. С CentOS я общаюсь с 4-й версии (как и с ее побратимом SciLinux), так что в принципе тыркать ее умею. Просто конкретно центось конкретно 7-я с докером не особенно дружить, это надо иметь ввиду
Maksim
Maksim
Почему у меня дружит при нагрузке ~30 подов/нода?
Vadim
дефолтно оно всё дружит, тут скорее вопрос что за докер, что за нагрузки, номера багов
Maksim
сейчас у меня 10 форкеров 3 мастера
Maksim
30 подов/нода
Maksim
Cenot OS7.3
Maksim
Полёт в штатном режиме. на работы по выхам ещё ниразу не ездил. полёт длится уже месяцев 9
Maksim
Я его да же с 1.5.2 до 1.9.3 обновил в полёте без даун тайма.
Logan
впечатляет. а как etcd обновили?
Logan
мне пришлось останавливать
Maksim
Сначала было на —compabilty
Maksim
а потом перекинул базёнку и переключил api
Maksim
-2 минуты жизни кластера-)
Logan
то есть даунтайм все-таки был. А то я уж совсем удивился
Khramov
А вы etcd в кубе что ли держите?
G72K
Andor
в 18.04 тоже свежее ядро будет %)
Roman
Logan
в debian 9 - 4.9.0, вполе свежее
Logan
можем устроить опрос, как вариант :)
Andor
G72K
Roman
с докером - с 7
Andor
в 7.1-7.3 было грустно
Roman
7.2
Roman
а, вру, даже 7.1
Andor
и какая там версия ядра и какое хранилище под докером?
Roman
ядро какое шло рядом, то и было
Roman
хранилища - оверлей
Roman
потом dm-thinpool
Andor
у нас было всё грустно до перехода на ядро из elrepo
Roman
но это без кубов все
Roman
чистый докер
Andor
кубы как бы ваще пофигу
Stanislav
Andor
ну после перехода на ядро из elrepo тоже было грустно, но по-другому
Andor
говорят в 7.3+ что-то бэкпортили в ядро и стало норм
G72K
в debian 9 - 4.9.0, вполе свежее
В последних, xfs copy on write вывели из экспериментального состояния, с последними изменениями в docker vfs драйвере должна быть бомба - самый лучший, самый простой, самый надежный, самый эффективный и самый быстрый storage driver
Andor
vfs ftw
G72K
В последних ядрах, 4.16 кажется
Andor
а его кстати задокументировали?
Logan
а сломаный tar в xfs + overlayfs2 починили уже?
Andor
он был недокументированым раньше
Logan
я спрошу у Максима, он на этом круто обжегся
Vadim
"сломанный tar" видимо обозначает что-то другое, а не "tar не работает", потому что опеншифт tar активно юзает. Без номера баги и деталей это дилетантство или FUD