Andrey
Ребят, скажите, а из контейнера внутри кубера есть доступ "наружу"? В интернет или к серверам вне кубера. Периодически натыкаюсь на туториалы когда люди предоставляют такой доступ через сервис
Anton
есть
Dmytro
вопрос на который нельзя ответить одним предложением. В общем случае есть но при определнных настройках (которых я по дефолту нигде не видел ни в копс ни в кубадм и прочих) можно сделать чтобы не было
Dmytro
через сервис зачем делать даже сходу сложно придумать юзкейс, разве что можно сделать для определенных подов такое чтобы зафксировать один исходящий айпи или для кеширования
Andrey
Спасибо за ответ. Мысль пошла дальше)) А сервисом можно балансировку делать? Ну чтоб туда сунуть больше 1 ip. P.S. понимаю что наверное уже брежу)
Алексей
ip route никто не отменял, так что не бредишь. если я правильно понял твою мысль
Andrey
Egress Rules ?
Andrey
вроде того получается) Ну т.е. есть некий внешний сервис у которого есть 1+ входных ip. И для того чтобы балансировать/failover'ить я прописываю в Service несколько внешних IP этого сервиса. Честно говоря, кажется что проще будет в самой приложеньке их прописать. Спрашиваю просто про возможность так сделать и уровень костыльности относительно канонов
Konstantin
у меня странная проблема, деплой через helm работает, если сменился image.tag, а если обновился image с тем же тегом, то ничгео не происходит. Рапортует об удачном апгрейде, а на деле поды теже. pullPolicy: Always стоит и tag не latest. helm 2.8.1
G72K
у меня странная проблема, деплой через helm работает, если сменился image.tag, а если обновился image с тем же тегом, то ничгео не происходит. Рапортует об удачном апгрейде, а на деле поды теже. pullPolicy: Always стоит и tag не latest. helm 2.8.1
Все правильно, в куб отправился yaml ничем не отличный от того, что там уже есть, почему он поды перезапускать должен? Надо чтобы ямл менялся, например номер релиза запихните в аннотацию к подам
Konstantin
а что тогда делает pullPolicy Always?
Konstantin
image sha отличается же
G72K
Оно скачиввает образ перед запуском пода, даже если он на хосте уже есть. Ваша проблема в том, что никто новые поды запускать и не пытается
Konstantin
хм, спасибо
Anton
короч нужно всегда двигать тэг имейджа
Dmytro
вроде того получается) Ну т.е. есть некий внешний сервис у которого есть 1+ входных ip. И для того чтобы балансировать/failover'ить я прописываю в Service несколько внешних IP этого сервиса. Честно говоря, кажется что проще будет в самой приложеньке их прописать. Спрашиваю просто про возможность так сделать и уровень костыльности относительно канонов
кажется я понял юзкейс, для этого в кубе есть сервис для внешних сервисов, по сути мы делаем статический внутрикластерный днс а сам сервис может ссылаться на что-то вне и это уже его ответственность как он это делает - вот тут в документации описано https://kubernetes.io/docs/concepts/services-networking/service/#services-without-selectors
Dmytro
у меня странная проблема, деплой через helm работает, если сменился image.tag, а если обновился image с тем же тегом, то ничгео не происходит. Рапортует об удачном апгрейде, а на деле поды теже. pullPolicy: Always стоит и tag не latest. helm 2.8.1
хмм так он так всегда работал, поэтому надо всегда подымать версию а не один и тот же тег юзать. Раньше кажется был хак что если поднять версию чарта то хелм все передеплоит, работает ли сейчас не знаю
V
ребят а подскажите про kube-proxy он возвращает какое то значение по пути /healthz
V
а откуда он его берет?
Dmytro
а что тогда делает pullPolicy Always?
это для кубернетеса а не хелма, например если запустить новый под (или если удалить старый и заново стартануть) то в случае always он проверит реджистри, иначе если на этой ноде уже есть такой образ (с IfNotPresent) то он в реджистри не полезет
Serega
ключевое слово, "если удалить" ))
V
ребята не подскажите откуда берет значение kube-proxy я образаюшь к нему а он мне возвращает вот такое значение "1 Service Endpoints found"
Anonymous
Подскажите пожалуйста, можно ли настроить доступ в ~/.kube/config от имени ServiceAccount-а с использованием только токена?
Anonymous
Упорно пишет Unauthorized
Anton
что такое "доступ в ~/.kube/config"?
Anonymous
Ну, в смысле настроить kubectl на работу с k8s правя таким образом ~/.kube/config
Anton
а, в смысле в конфиг только токен положить. По идее должно работать, я подключаюсь к апи курлом, иcпользуя только токен (и ca.pem, но это для ssl, я так понял у вас не с ним проблема).
Anton
возможно этот сервис аккаунт не может быть авторизован на то действие, которое вы запрашиваете
Anonymous
у меня говорит Unauthorized на всё, возможно как-то не так токен интерпретирую
Anonymous
base64/jwt, вот это всё
Anton
про jwt не могу ничего сказать. Чтобы получить токен, я обычно делаю describe serviceaccount <accountname>, там я вижу секреты, потом я делаю describe secret <secretname>, и там уже есть токен. Ну или можно вручную с пода забрать файл.
Anonymous
вот с секрета то и скопировал
Anonymous
и напрямую пробовал и в base64 кодировать
Anton
попробуйте забайндить этот аккаунт к роли cluster-admin
Anonymous
не
Anonymous
не в том дело
Anonymous
в секрете токен (JWT) хранится в дважды base64-кодированной форме
Anonymous
при получении токена его надо раскодировать и так в конфиг и прописать
Dmytro
а какие настройки у этого сервис аккаунта? я не сильно в теме т.к. все еще на 1.5 сижу но может там можно поставить токену доступ только изнутри кластера, поэтому работает внутри контейнера в кластере а снаружи нет?
G72K
@vrutkovs , у Fedora/ProjectAtomic есть аналог CoreOS ignition, когда одним yaml файлом описывается все состояние ноды с нуля. Был помнится kickstart , но там был синтаксис вырвиглазный и его только из анаконды генерировать можно было, руками писать умаяться можно. cloud-init не предлагать :)
Vadim
kickstart по идее тебе настроит все что надо с нуля, но тогда придется большинство ложить в пакеты - готовый образ им не настроишь
Алексей
Кикстарт и сейчас живее всех живых
G72K
Кикстарт и сейчас живее всех живых
Он умеет файлики раскидать? Конфиг туда, systemd drop-in сюда
Алексей
Я им на квм полность сервисы разворачиваю
Алексей
Это пакеты умеют
G72K
Вот еще, пакетить файлики не нехватало
Алексей
Ну для ленивых fpm нсть
Алексей
Ну и оно же не руками пакуется Раз написал правила сборки и забыл на год
Vadim
если уж пакетить и на Atomic то проще уже через ostree деплоить
Vadim
и быстрее и надежней, чем на каждый чих новый образ билдить
G72K
Я даже для fpm ленив. У меня есть один yaml который 100% описывает всю систему, нафига мне себе жизнь усложнять пакетами? Ignition прекрасен, это cloud-init done right. Проблема в том, что с CoreOS надо съезжать, загнется оно
Vadim
так там все куски открыты, делай свой сервер и вперед
G72K
Вот у меня сейчас кернел паника в CoreOS, никто мне не поможет. Слава богу повторилась на Fedora, там шансы что запатчат выше:)
Алексей
На вкус и цвет Но ignition мне тоже понравился
Алексей
Но с centos на хост стстемах в продакшене мне спокойней спится
Vadim
Это вы про что?
про ContainerLinux
Dmytro
ну почему, думаю что воткнут они ignition просто в свой atomic host, переведут на него опеншит и уберут к черту энсибл
Vadim
эх, вы только обещаете ... :)
Dmytro
ну будем посмотреть 😃
Dmytro
редхат конечно не самая любимая многими компания но глядя как они опеншифт со своего велосипеда перенесли на кубернетес есть надежды что все будет хорошо
G72K
про ContainerLinux
"делай свой сервер" это про что? Я связь не улавливаю )
Vadim
"делай свой сервер" это про что? Я связь не улавливаю )
* бери куски с гитхаба * разворачивай свой сервер, который будет апдейты делать * публикуй iso и аннаунсмент на хакерньюс * ты герой коммунити
Dmytro
а работу когда работать? 😂
G72K
* бери куски с гитхаба * разворачивай свой сервер, который будет апдейты делать * публикуй iso и аннаунсмент на хакерньюс * ты герой коммунити
У меня может черви в мозгу, я понятия не имею о чем вы говорите. Какие апдейты? Апдейты чего? Какие iso публиковать еще? Что за сервер для апдейтов? Я просто хотел из yaml файлики раскидать по системе :))
Vadim
а работу когда работать? 😂
Идея для стартапа :) вполне валидная, пока шум не унялся
Dmitry
Всем привет! Никто случаем не сталкивался с кубовыми scheduling policy? а то нашел один пример, а вот ни одной доки на это дело найти не могу.
Dmitry
Спасибо. В надежде это не делать и пришел сюда, но видимо пойду снова рыться в коде.
G72K
Там есть файл predicates и priorities с понятными коментариями
Dmitry
Спасибо за подсказку, буду раскуривать.
Anatoly
А как с Windows машины подключить сеть flannel? Чтобы можно было при разработке использовать IP адреса, определенные в Cluster IP?
Andrey
никак
Andrey
Та лан, а vpn в мастер уже отменили чтоль?)