Size: a a a

Kubernetes — русскоговорящее сообщество

2020 June 19

SM

Sergey Monakhov in Kubernetes — русскоговорящее сообщество
источник

AL

Aidamir Lovpache in Kubernetes — русскоговорящее сообщество
Vadim Rutkovsky
в самой идее ничего плохого нет, проблема в том что оно трогает кучу вещей - и все они должны быть настроены. В https://github.com/hjacobs/kubernetes-failure-stories есть куча историй, когда мелкая деталь всё ломает, например endpoints не обновляются во время
Спасибо 🙏
источник

МР

Марат Рахимов... in Kubernetes — русскоговорящее сообщество
Антон Сенько
Коллеги, столкнулись тут с одной хренью, может кто-то уже решал.

Есть приложение в 16 кубике, приложенеи стейтлесс из 24 подов (это SPA фронт, с SSR, если кому интересно будет). Хрень проявляется во время деплоя новой версии: пока идет деплой, пользуны регулярно получают всяие 500, Плохие ворота, таймауты и прочий треш. Покопались, по всему получается, что когда под из старого релиза начинает убиваться, то он не сразу вылетает из сервиса, и ингресс какое-то время еще пихает ему запросы, хотя внутри уже шатдаун во всю и запросы эти новые никто не обрабатывает.

Что можно с этим сделать?
readness есть?
источник

v

vas in Kubernetes — русскоговорящее сообщество
Приветствую.
Немного странный вопрос.
Я видел варианты раскатки мастеров, где он сам генерит мин серты и вариант, где серты делают вручную под будушие ip мастер нод + серт etcd + серты юзеров
какой  вариант имеет смысл и в будущем можно их сгенерить заново и подложить хз куда на мастера ?
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Антон Сенько
Коллеги, столкнулись тут с одной хренью, может кто-то уже решал.

Есть приложение в 16 кубике, приложенеи стейтлесс из 24 подов (это SPA фронт, с SSR, если кому интересно будет). Хрень проявляется во время деплоя новой версии: пока идет деплой, пользуны регулярно получают всяие 500, Плохие ворота, таймауты и прочий треш. Покопались, по всему получается, что когда под из старого релиза начинает убиваться, то он не сразу вылетает из сервиса, и ингресс какое-то время еще пихает ему запросы, хотя внутри уже шатдаун во всю и запросы эти новые никто не обрабатывает.

Что можно с этим сделать?
Да, это норм поведение, добавь в lifecycle sleep на секунд 15, pod точно за это время будет выкинут из апстримов, ну и graceful shutdown все равно нужен, текущие запросы надо корректно обработать.
Тут два момента:
1) pod не моментально выкидывается из endpoints сервиса
2) после того как он выкинут из endpoints сервиса, он не моментально пропадает из апстримов ingress
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Aidamir Lovpache
Привет всем! Не могу найти никаких конкретных аргументов против развертывания SQL серверов в statefulset. Однако нахожу множество каких-то предостережений без упоминания конкретных причин сбоев. У кого был какой-то опыт неудачного использования в statefulset (или наоборот удачного) или есть информация о том где конкретно получается слабое звено в этом случае отпишитесь плиз. Спасибо.
Еще вот: https://t.me/kubernetes_ru/263490
Мне лично не нравится, так как приходится юзать local volumes (если нагрузки нормальные), прибивать к нодам и тому подобное. Отсюда сложнее обслуживать кластер, например обновлять. Проще вынести из кластера и не страдать
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
vas
Приветствую.
Немного странный вопрос.
Я видел варианты раскатки мастеров, где он сам генерит мин серты и вариант, где серты делают вручную под будушие ip мастер нод + серт etcd + серты юзеров
какой  вариант имеет смысл и в будущем можно их сгенерить заново и подложить хз куда на мастера ?
https://kubernetes.io/docs/setup/best-practices/certificates/

Серты мастер не умеет генерить. Их генерит как правило kubeadm (при генерации через него можно добавить любые собственные DNS имена)
источник

v

vas in Kubernetes — русскоговорящее сообщество
по доку https://kubernetes.io/docs/concepts/cluster-administration/certificates/ их генерят кто как хочет, но внятного ответа, зачем сделаны вооот это 3 серта потом не дают )
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
vas
по доку https://kubernetes.io/docs/concepts/cluster-administration/certificates/ их генерят кто как хочет, но внятного ответа, зачем сделаны вооот это 3 серта потом не дают )
какие три серта?
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
vas
по доку https://kubernetes.io/docs/concepts/cluster-administration/certificates/ их генерят кто как хочет, но внятного ответа, зачем сделаны вооот это 3 серта потом не дают )
я бы на твоем месте не особо парился. Сейчас kubeadm полностью делает это все за тебя. А вот здесь рассказано для чего каждый сертификат используется: https://kubernetes.io/docs/setup/best-practices/certificates/
источник

v

vas in Kubernetes — русскоговорящее сообщество
ок, спс
источник

AR

Alex Romanin in Kubernetes — русскоговорящее сообщество
Ребята, очень нубский вопрос:
Как максимально и правильно запретить поду ходить в K8S API?
Варианты:
1) Оставить у него default ServiceAccount
2) Создать свой ServiceAccount с минимальными правами (какими?)
3) Вариант 1 + automountServiceAccountToken: false
источник

А

Андрей in Kubernetes — русскоговорящее сообщество
Привет! подскажите, как подружить helm с переменными, прописанными в description'e PrometheusRule
В PrometheusRule у меня описан такой алерт:
   - alert: No_Activity
     annotations:
       description: 'No activity of {{ $labels.name }} more than 10 minutes. Status code  = {{ $value }}'

Когда выполняю helm template, то получаю ошибку undefined variable "$labels"
Но PrometheusRule должно улетать в оператор именно в таком виде. Как быть?
источник

VR

Vadim Rutkovsky in Kubernetes — русскоговорящее сообщество
Alex Romanin
Ребята, очень нубский вопрос:
Как максимально и правильно запретить поду ходить в K8S API?
Варианты:
1) Оставить у него default ServiceAccount
2) Создать свой ServiceAccount с минимальными правами (какими?)
3) Вариант 1 + automountServiceAccountToken: false
3 выглядит наиболее безопасно. Токен любого SA - это доступ к апи
источник

MK

Mikhail Kalyniuk in Kubernetes — русскоговорящее сообщество
Всем привет, подскажите плиз какие есть варианты, или как лучше всего скрывать значения в configmap ? Нужно запулить описание деплоймента в рэп, а креды светить не охота.
К примеру с value1, value2 ?

apiVersion: v1
kind: ConfigMap
metadata:
 name: test
data:
 name1: "value1"
 name2: "value2"
источник

VR

Vadim Rutkovsky in Kubernetes — русскоговорящее сообщество
Mikhail Kalyniuk
Всем привет, подскажите плиз какие есть варианты, или как лучше всего скрывать значения в configmap ? Нужно запулить описание деплоймента в рэп, а креды светить не охота.
К примеру с value1, value2 ?

apiVersion: v1
kind: ConfigMap
metadata:
 name: test
data:
 name1: "value1"
 name2: "value2"
вынести credentials в секрет и смонтировать через projected volume?
источник

MK

Mikhail Kalyniuk in Kubernetes — русскоговорящее сообщество
Vadim Rutkovsky
вынести credentials в секрет и смонтировать через projected volume?
А есть варик, описать все эти value в баш скрипт, в стиле export name='value1' и тд. Или плохое решение ?
источник

AS

Alexey Shanko in Kubernetes — русскоговорящее сообщество
Mikhail Kalyniuk
А есть варик, описать все эти value в баш скрипт, в стиле export name='value1' и тд. Или плохое решение ?
Такое направление
Bitnami Sealed Secrets
   Godaddy Kubernetes External Secrets
   External Secrets Operator
   Hashicorp Vault
   Banzai Cloud Bank-Vaults
   Helm Secrets
   Kustomize secret generator plugins
   aws-secret-operator
   KSOPS
источник

MK

Mikhail Kalyniuk in Kubernetes — русскоговорящее сообщество
Alexey Shanko
Такое направление
Bitnami Sealed Secrets
   Godaddy Kubernetes External Secrets
   External Secrets Operator
   Hashicorp Vault
   Banzai Cloud Bank-Vaults
   Helm Secrets
   Kustomize secret generator plugins
   aws-secret-operator
   KSOPS
Спасибо 👍
источник

AK

Andrey Kartashov in Kubernetes — русскоговорящее сообщество
Андрей
Привет! подскажите, как подружить helm с переменными, прописанными в description'e PrometheusRule
В PrometheusRule у меня описан такой алерт:
   - alert: No_Activity
     annotations:
       description: 'No activity of {{ $labels.name }} more than 10 minutes. Status code  = {{ $value }}'

Когда выполняю helm template, то получаю ошибку undefined variable "$labels"
Но PrometheusRule должно улетать в оператор именно в таком виде. Как быть?
,заэкранировать что ли надо?
источник