Dev0ps
40 subscribers
211 photos
3 videos
50 files
3.33K links
Download Telegram
Forwarded from Сєводоканал - некоторые бегемоты таки носят очки
А докер-то оказывается не загнил и не умер. Недавно наткнулся на "новые" фичи, которые мы когда-то делали в grammarly/rocker, которые позволяют монтировать неймспейсы на этапе build.

Теперь мои docker файлы для разного go кода выглядят так:

# syntax = docker/dockerfile:experimental
FROM golang AS build
WORKDIR /go/prom/scrabbler
ADD go.mod go.sum ./
RUN --mount=type=cache,target=/go/pkg/mod/ go mod download
ADD . /go/prom/scrabbler
RUN --mount=type=cache,target=/go/cache GOCACHE=/go/cache go build

FROM ubuntu
RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y ca-certificates
COPY --from=build /go/prom/scrabbler/prom-scrabbler /bin/scrabbler
ENTRYPOINT ["/bin/scrabbler"]
Forwarded from CatOps
Большая стать от DataDog об уроках использования Kafka

В статье описывают:
- пути безболезненного изменения максимального размера сообщения
- unclean leader election: плюсы, минусы, подводные камни
- конфигурацию retention period для топиков с низкой частотой записи и на что стоит обращать внимание + настройку retention для такого типа топиков

Кроме того, DataDog заопернсорсили свой Kafka-kit - набор утилит понятно для чего. Ну и статейка про эти утилиты

#kafka
Forwarded from Sysadmin Tools 🇺🇦
Forwarded from HighLoad++
Артемий Рябинков — фанат Go и Postgres. На апрельской Saint HighLoad++ он рассказал об особенностях работы с Postgres в Go. Работая над статьёй, Артемий существенно дополнил материал. Получился концентрат опыта, добытого кровью и потерянными деньгами.

Читайте, учитесь на чужих ошибках, рассказывайте о своём опыте в комментариях.
• В плане сборке можно начать с использования Dockerfile + werf (https://werf.io/documentation/reference/build_process.html) если нет желания завязываться на кастомный синтаксис сборки. Но кастомный сборщик дает свои плюсы: инкрементальный гит и ансибл.
• В плане деплоя и отслеживанию состояний задеплоенных ресурсов до готовности с информативным выводом аналогов чтобы все работало из коробки нету. (https://werf.io/documentation/reference/deploy_process/deploy_into_kubernetes.html)
• Werf это тулза, которая объединяет все низкоуровневые отдельные средства для сборки, деплоя, очистки в единую систему, которая легко интегрируется в любую CI/CD систему за счет того, что использует устоявшиеся общие для всех CI/CD концепции (https://werf.io/documentation/reference/plugging_into_cicd/overview.html). Это позволяет унифицировать процесс. Таких тулов тоже не видать пока в изобилии.
• По поводу откатов релизов: работает точно не хуже чистого хельма. Плюс совместимо с хельмом в обе стороны с минимальными изменениями в конфиге и без изменений в рантайме (релизы можно подхватить уже существующие). И есть всякие другие фичи, вроде автодобавления аннотаций. (https://werf.io/documentation/reference/deploy_process/differences_with_helm.html )
Forwarded from PythonDigest
cloud-custodian - инструмент автоматизации работы с облаками
http://github.com/cloud-custodian/cloud-custodian
March-July 2019 highlights

werf — наш инструмент для CI/CD в Kubernetes (Дмитрий Столяров, Флант, DevOpsConf 2019): https://www.youtube.com/watch?v=cK3ackGUTLw.

✔️ Built-in helm: full compatibility with helm installations, tillerless architecture improved experience (https://werf.io/documentation/reference/deploy_process/differences_with_helm.html).
✔️ Deploy process resources tracking behaviour controlled by annotations (https://werf.io/documentation/reference/deploy_process/deploy_into_kubernetes.html#resource-tracking-configuration).
✔️ Improved resources status tracking with better logging output.
✔️ Use Dockerfiles along with werf.yaml (https://werf.io/documentation/configuration/dockerfile_image.html).
✔️ Store images in one or several Docker repositories (IMAGES_REPO[/IMAGE_NAME]:TAG using default muiltirep mode, or IMAGES_REPO:[IMAGE_NAME-]TAG using monorep mode).
✔️ Introspect specific image stage during build (--introspect-stage [IMAGE_NAME/]STAGE_NAME option).
📝 Complete project documentation at werf.io.
📝 Documentation is diveded by werf version channels.
✏️ Project longterm roadmap and complete features list are avaiable at werf.io and https://github.com/flant/werf#features.

3-way-merge https://github.com/flant/werf/issues/1616.
Stable 1.0 release.

💡Tip of the month💡 Use following command werf build -s :local --introspect-stage frontend/install --introspect-stage backend/setup to introspect specific stages of different images.