Andrei
Или уволить их скопом за такие контейнеры
Harry
>2к18 >Устанавливать в контейнеры топ Сейчас разных сборщиков метрик развелось мешок целый, и графоний для них - тележка.
Dmytro
Мне нужна команда для извлечения логов по таким кейсам
kubectl get events если это было не сильно давно - там будет ивент что не смогло стартануть под и причина (по сути это то что внизу kubect describe pod идет)
Stanislav
спасибо
Dmytro
а я думал контейнеры это идеологически 1 процесс
это 1 бизнес процесс, не один ОС процесс - в доках же все написано
Alexey
sysdig все это умеет
Спасибо, посмотрю. А можно не скромный вопрос? Не первый раз замечаю, что вы единственный, кто сразу и конкретно отвечает на вопросы и помогает здесь, а не рассуждает, что так делать не нужно, кто вас этому учил и так далее. Где и кем вы работаете?)
kyxap
/report
Alexey
/report
Alexey
Мне действительно интересно
Dmytro
Может просто потому что я вечером захожу и читаю все сообщения за раз, просто нет возможно развести полемику? 😃
Dmytro
работаю в компании OLX Group, ops/sre
Alexey
Да, но у вас всегда чёткие ответы как от гуру) Спасибо,
Dmytro
попробую исправиться и завести полемику - статья в блоге influxdata и обсуждение на реддите https://www.reddit.com/r/programming/comments/8muwu0/will_kubernetes_collapse_under_the_weight_of_its/
Dmytro
интересно услышать мнение нашего небольшого телеграмм коммьюнити
Dmytro
что-то не удалось завязать полемику 😢
Dmytro
ну тут же не все в РФ живут, кому-то в канаде или там США вообще время детское
Eduard
https://labs.play-with-k8s.com/
Bro
вообщем-то я несколько раз пытался на него задеплоить проект и постоянно какие-то приколы вроде того что в пакадже хельма неверный путь прописан к образу.
Bro
но прогресс идет все это фиксят
Bro
вообщем пока на docker-compose 😄
🐈
/report
Bro
но чувствую в какой-то момент администрирование зоопарка сервисов станет слишком затратным и придется все же переходить на kubernetes
Bro
ну да
Eduard
Только зверя кубик притащиль
Костя
Народ а после установки кубспреем кластера , конф для kubectl как замутить?
У kubespray для этого есть специальная опция в файле k8s-cluster.yml. Называется kubeconfig_localhost. Если поставите в true, то в inventory директории соответствующего кластера после установки появится директория artifacts с кубконфигом
Костя
Коллеги, пытаюсь создать pv с Vsphere. В оф. документации есть пример pv: apiVersion: v1 kind: PersistentVolume metadata: name: pv0001 spec: capacity: storage: 2Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain vsphereVolume: volumePath: "[datastore1] volumes/myDisk" fsType: ext4 Так вот не могу понять, вместо datastore1 что должно быть? Может у кого-то есть более исчерпывающий пример?
Костя
В том же примере, за шаг до этого создают диск: vmkfstools -c 2G /vmfs/volumes/datastore1/volumes/myDisk.vmdk Тут как бы все понятно...
Костя
Если кто-то уже подавал pv с Vsphere, поделитесь мини совсем кратким мануалом по шагам
Дмитрий Харитонов
Подскажите, как идиологически правильно делать. Каждый сервис в отдельном нэймспейсе, или лучше на более крупные сущности делить. Типа дев, стэйдж, прод?
Дмитрий Харитонов
Я об том, что ci придется давать полные права чтобы деплоить во все стадии нэймспейса. А если по проектам делить, то в ci для разных проектов разные сервис аккаунты подключать.
Dmitry
Неужели у всех прогеры лазят руками в кластер?
Ещё до внедрения Docker просто льём логи всего в эластик, разрабы через кибану читают логи своих приложений не имея никаких доступов к бою
Dmytro
Привет, подскажите плиз, возможно в хелм чарт в поле name задать gitlab ci переменную? Например: apiVersion: v1 description: A Helm chart for Kubernetes name: $CI_COMMIT_REF_NAME version: 0.1.0
Dmytro
У меня так не вышло. Выглядит так, что переменные доступны только внутри файла gitlab-ci.yml
а как выкручивались? Хочу сделать динамические шоурумы, где branch=showroom
Костя
а как выкручивались? Хочу сделать динамические шоурумы, где branch=showroom
Решили внутри gitlab-ci.yml прям helm command передавать нужные переменные через --set VAR=$GITLAB_CI_VAR
Dmytro
а можно подробнее о этом решении? вот есть у меня мой .gitlab-ci.yaml Deploy: stage: deploy script: - docker pull registry.devpayever.com/shipping - dapp —version - dapp kube deploy —namespace default —set "global.env=stage" —set "global.git_rev=${CI_BUILD_REF:-$CI_COMMIT_SHA}" —set global.ciProjectName=$CI_PROJECT_NAME registry.devpayever.com tags: - deploy есть ingress apiVersion: extensions/v1beta1 kind: Ingress metadata: name: {{ .Chart.Name }} annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: {{ .Chart.Name }}.example.com http: paths: - path: / backend: serviceName: {{ .Chart.Name }}-srv servicePort: 8000 tls: - secretName: custom-tls-cert-1 hosts: - {{ .Chart.Name }}.example.com Как можно передать в хосты имя бранча?
Костя
А вообще кейс интересный. Если все ресурсы создавать в отдельном namespace, то и почистить потом все оттуда не составит. Думаю мы такое тоже попробуем сделать.
Silver 👻
Wildcard?
Костя
Wildcard?
Wildcard чего? Вы про *. example.com?
Silver 👻
Да
Костя
Мы так и делаем
А вопрос @dimaold решали и обошли?
Dmytro
короче обошел - но немного костыльным путем
Dmytro
before_script: - sed -i — "s/example/$CI_COMMIT_REF_NAME/g" ./.helm/Chart.yaml
Костя
Да
Ну, допустим, все эти имена резолвят 1 ip. Дальше, что то затрудняюсь сразу додумать куда это пойдет.
Костя
Как вариант 2 haproxy балансера под vip адресом, бэкендом которых будет ip с нодпортами ingress сервиса
Dmitry
Пока ещё не обзавелись. Но правильная готовка эластика - дорого
о правильной готовке с логами до 100Гб в день можно особо не задумываться, он и в стоке хорош (ну только разве о диках под объём надо подумать)
Stanislav
А вопрос @dimaold решали и обошли?
Мне не ясен его вопрос.
Stanislav
Скажу только, что месяца полтора велосипед прогали
Stanislav
Зато стенды теперь за пару минут создаются, с SSL и DNS
Костя
По сути вопрос такой: имя ветки с git -> host Ingress
Костя
Под доменом example.com
Stanislav
Мы в имя хоста суем имя группы, имя проекта, slug бранча/sha, номер pipeline/job
Stanislav
Велосипед в студию 😁
Это очень дорого и сложно
Sergey
А есть ли способ мониторить конкретный namespace(именно те ресурсы которые он использует)
Костя
Делаете в grafana dashboard с нужными графиками/метриками. Namespace выносите в переменную. И смотрите ресурсы по неймспейсам
Dmytro
Зато стенды теперь за пару минут создаются, с SSL и DNS
Мы юзаем самописный интегратор который создает необходимое имя в паверднсе. ssl прописан в секрете ингреса
Stanislav
Мы кстати не крутим домены по факту, хотя проверка в коде и автокорректировка записи есть. Просто *. указывающая на кластер. Наружу торчит только один балансировщик.
Stanislav
Так как иначе глюки кеширования неизбежны
Dmytro
так и есть - Wildcard и динамически генерирующиеся поддомены. Поддомен = тикет в джире=динамческий шоурум
Stanislav
Угу
Dmytro
я просто не знал как правильно в чартах задать имя этому шоуруму
Stanislav
Мой пример помог найти путь к решению?
Dmytro
я уже кидал какой костыль я изобрел
Dmytro
before_script: - sed -i — "s/example/$CI_COMMIT_REF_NAME/g" ./.helm/Chart.yaml
Stanislav
У нас имя получается вида php7-app1-master-765.домен
Dmytro
$CI_COMMIT_REF_NAME - у нас имя бранча = джира тикет= щоурум.домен
Konstantin
А есть ли способ мониторить конкретный namespace(именно те ресурсы которые он использует)
Флант на рите это разжевал, 1день середина или у них может уже есть