Andrei
Или уволить их скопом за такие контейнеры
Harry
>2к18
>Устанавливать в контейнеры топ
Сейчас разных сборщиков метрик развелось мешок целый, и графоний для них - тележка.
Stanislav
спасибо
Dmytro
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
что-то не удалось завязать полемику 😢
Eduard
Dmytro
ну тут же не все в РФ живут, кому-то в канаде или там США вообще время детское
Eduard
https://labs.play-with-k8s.com/
Bro
вообщем-то я несколько раз пытался на него задеплоить проект и постоянно какие-то приколы вроде того что в пакадже хельма неверный путь прописан к образу.
Bro
но прогресс идет все это фиксят
Bro
вообщем пока на docker-compose 😄
🐈
/report
Bro
но чувствую в какой-то момент администрирование зоопарка сервисов станет слишком затратным и придется все же переходить на kubernetes
Eduard
Sergey
Bro
ну да
Eduard
Только зверя кубик притащиль
Костя
Коллеги, пытаюсь создать 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 для разных проектов разные сервис аккаунты подключать.
Dmytro
Привет, подскажите плиз, возможно в хелм чарт в поле name задать gitlab ci переменную? Например:
apiVersion: v1
description: A Helm chart for Kubernetes
name: $CI_COMMIT_REF_NAME
version: 0.1.0
Костя
Костя
Dmytro
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?
Stanislav
Stanislav
Костя
Wildcard?
Wildcard чего? Вы про *. example.com?
Silver 👻
Да
Dmytro
короче обошел - но немного костыльным путем
Dmytro
before_script:
- sed -i — "s/example/$CI_COMMIT_REF_NAME/g" ./.helm/Chart.yaml
Костя
Да
Ну, допустим, все эти имена резолвят 1 ip. Дальше, что то затрудняюсь сразу додумать куда это пойдет.
Костя
Как вариант 2 haproxy балансера под vip адресом, бэкендом которых будет ip с нодпортами ingress сервиса
Костя
Stanislav
Stanislav
Скажу только, что месяца полтора велосипед прогали
Stanislav
Зато стенды теперь за пару минут создаются, с SSL и DNS
Костя
По сути вопрос такой: имя ветки с git -> host Ingress
Костя
Под доменом example.com
Stanislav
Мы в имя хоста суем имя группы, имя проекта, slug бранча/sha, номер pipeline/job
Костя
Sergey
А есть ли способ мониторить конкретный namespace(именно те ресурсы которые он использует)
Костя
Костя
Делаете в grafana dashboard с нужными графиками/метриками. Namespace выносите в переменную. И смотрите ресурсы по неймспейсам
Sergey
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