Size: a a a

Админим с Буквой

2021 February 23
Админим с Буквой
Подключаемся к jmx порту в контейнер в kubernetes

Для того чтобы это сделать нужно следующее:

1) прописать параметры:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.port=5000
-Dcom.sun.management.jmxremote.rmi.port=5000
-Djava.rmi.server.hostname=127.0.0.1

2) пробросить порт:

kubectl port-forward pod/XXX 5000

3) подключиться консолью https://visualvm.github.io (требует jdk)

открываем visualvm, ставим tools->plugins плагин visualvm-mbeans, перезапускаем, создаем remote connection к 127.0.0.1:5000, далее можем смотреть текущее состояние жавапроцесса и смотреть какие метрики далее получаются из вкладки mbeans.

ИЛИ

jconsole 127.0.0.1:5000 - у меня соединялось, выводило информацию и мгновенно дисконнект. пользоваться нормально не удалось.


#monitoring
#java
#kubernetes
источник
Админим с Буквой
Собираем helm-чарт в gitlab-ci и пушим в docker registry

Используем экспериментальную фичу с oci-registry в которую научился хелм. Это значит что мы можем чарты теперь просто пушить рядом с контейнерами докера с таким же именованием и тегированием.

deploy_helm:
 stage: deploy
 image: docker:18-dind
 services:
 - docker:18-dind
 environment: { name: production }
 tags: [docker]
 only:
   refs: [master]
 script:
 - export CHART_VERSION=$(grep version Chart.yaml | awk '{print $2}')
 - chmod 400 $DOCKERCONFIG
 - mkdir registry
 - alias helm='docker run -v $(pwd)/regisry:/root/.cache/helm/registry -v $(pwd):/apps -v ${DOCKERCONFIG}:/root/.docker/config.json -e DOCKER_CONFIG="/root/.docker" -e HELM_REGISTRY_CONFIG="/root/.docker/config.json" -e HELM_EXPERIMENTAL_OCI=1 alpine/helm'
 - helm chart save . registry.company.com/helm/charts/debezium:${CHART_VERSION}
 - helm chart push registry.company.com/helm/charts/debezium:${CHART_VERSION}

Структура репозитория - файлы чарта и .gitlab-ci.yml. После запуска деплоя создается воркер - докер с поддержкой docker-in-docker. Мы качаем публичный контейнер хелма на альпине. Все пробросы нужны для того чтобы хелм внутри докера умел ходить в регистри и сохранять промежуточный кэш для докер регистри. Помещаю его в "алиас" команды хелма для того чтобы логически отделить запуск хелма и запуск докера. последние 2 строки - сохранить чарт в локальный кэш и подготовить для пуша в регистри и собственно запушить. Чтобы всё это работало нужно подготовить docker config.json с готовыми параметрами пользователя для доступа к докер регистри и сохранить его в переменные джобы как файл.

#helm
#gitlab
#docker
источник
2021 February 25
Админим с Буквой
Оч хорошая статья про debezium по поиску узкого места получения событий

https://www.sderosiaux.com/articles/2020/01/06/learnings-from-using-kafka-connect-debezium-postgresql/

#debezium
источник
Админим с Буквой
bykvaadm
Собираем helm-чарт в gitlab-ci и пушим в docker registry

Используем экспериментальную фичу с oci-registry в которую научился хелм. Это значит что мы можем чарты теперь просто пушить рядом с контейнерами докера с таким же именованием и тегированием.

deploy_helm:
 stage: deploy
 image: docker:18-dind
 services:
 - docker:18-dind
 environment: { name: production }
 tags: [docker]
 only:
   refs: [master]
 script:
 - export CHART_VERSION=$(grep version Chart.yaml | awk '{print $2}')
 - chmod 400 $DOCKERCONFIG
 - mkdir registry
 - alias helm='docker run -v $(pwd)/regisry:/root/.cache/helm/registry -v $(pwd):/apps -v ${DOCKERCONFIG}:/root/.docker/config.json -e DOCKER_CONFIG="/root/.docker" -e HELM_REGISTRY_CONFIG="/root/.docker/config.json" -e HELM_EXPERIMENTAL_OCI=1 alpine/helm'
 - helm chart save . registry.company.com/helm/charts/debezium:${CHART_VERSION}
 - helm chart push registry.company.com/helm/charts/debezium:${CHART_VERSION}

Структура репозитория - файлы чарта и .gitlab-ci.yml. После запуска деплоя создается воркер - докер с поддержкой docker-in-docker. Мы качаем публичный контейнер хелма на альпине. Все пробросы нужны для того чтобы хелм внутри докера умел ходить в регистри и сохранять промежуточный кэш для докер регистри. Помещаю его в "алиас" команды хелма для того чтобы логически отделить запуск хелма и запуск докера. последние 2 строки - сохранить чарт в локальный кэш и подготовить для пуша в регистри и собственно запушить. Чтобы всё это работало нужно подготовить docker config.json с готовыми параметрами пользователя для доступа к докер регистри и сохранить его в переменные джобы как файл.

#helm
#gitlab
#docker
В догонку к CI о сборке чарта, CI для деплоя это чарта

в этом деплое помимо докер конфига требуется еще сделать кубконфиг, в который поместить токен админа неймспейса (1 ci = 1 app = 1 admin = 1 ns). Здесь часть сниппета, остальное что пропущено абсолютно симметрично предыдущему посту.

```
  script:
 - chmod 400 $DOCKERCONFIG
 - chmod 400 $KUBECONFIG
 - mkdir registry
 - alias helm='docker run -v ${KUBECONFIG}:/root/.kube/config -v $(pwd)/regisry:/root/.cache/helm/registry -v $(pwd):/apps -v ${DOCKERCONFIG}:/root/.docker/config.json -e DOCKER_CONFIG="/root/.docker" -e HELM_REGISTRY_CONFIG="/root/.docker/config.json" -e HELM_EXPERIMENTAL_OCI=1 alpine/helm'
 - helm chart pull company.com/helm/charts/debezium:$chart_version
 - helm chart export rcompany.com/helm/charts/debezium:$chart_version
 - helm upgrade --install -f .......
```

#helm
#gitlab
#kubernetes
источник
2021 February 26
Админим с Буквой
‼️Системный администратор Linux (SRE/Infra) в Актион-Технологии (https://action-tech.ru/)‼️
📍Расположение: Москва
📌Формат: full-time, работа в офисе или удалёнка
💸Зарплатная вилка: 150-250 тысяч на руки (в зависимости от уровня твоих скиллов)

Кто мы? 🤔
Мы большой медиахолдинг с более, чем 25-летней историей,  миллиардной выручкой,  и гигантскими планами по развитию компании!
Мы разрабатываем полезные сервисы и продукты для 15 профессиональных аудиторий.
В 2020 году мы вошли в ТОП-10 EdTech компаний по мнению РБК.

И для этого нам не хватает только тебя - амбициозного человека, стремящегося к построению качественных процессов и, как следствие, качественной эксплуатации🦾

👐С нашей стороны - докер, кубер, микросервисы (всё как положено), а также, возможность сделать красиво, а не под диктовку сверху!

Что планируем сделать 🔜
📌 Научимся максимально быстро и автоматизировано выделять ресурсы под задачи разработки
📌Создадим dev/rc/prod контуры для сервисов
📌Научимся жить кросс-дц
📌Построим отказоустойчивую архитектуру (в своем проекте ты сам волен выбирать, как построить эту отказоустойчивость))
📌Внедрим систему оркестрации над Docker контейнерами c service discovery
📌Уменьшим зоопарк решений и технологий
📌Автоматизируем любые задачи с помощью систем контроля конфигураций и pipeline'ов
📌Будем заниматься прогнозированием нагрузки, определением проблемных мест и их оперативным устранением
📌Усовершенствуем системы мониторинга и логирования
📌Поможем в формировании релиз-менеджмента и совершенствовании CI/CD процессов
📌Построим IaaS, PaaS, SaaS и прочие aaS 🙂

Что для нас важно в тебе🤝
📌Опыт системного администрирования Linuх от 1 года
📌Опыт работы с Docker контейнерами и оркестраторами для них
📌Опыт работы с системами контроля конфигураций SaltStack или Ansible
📌Опыт диагностики и устранения проблем сервисов
📌Опыт работы с Web и App сервисами (Nginx, Apache, Haproxy, php-fpm, uwsgi, etc)
📌Опыт работы с системами мониторинга и логирования (Prometheus, Grafana, ELK)

Не обязательно, но будет очень здорово, если 🤘
📌Опыт работы с Service Discovery
📌Опыт работы с GitLab-CI

Что есть у нас и чем готовы делиться 🎁🍪
📌Белая, своевременная и конкурентоспособная заработная плата
📌ДМС (включая стоматологию)
📌Удобное место для работы и современное “железо” (хочешь с яблоком, хочешь без)
📌Гибкий график. Начало работы с 8 до 11
📌У нас не нужно приходить 5 дней в неделю в офис. Мы внутри команд сами определяем, когда туда приехать
📌Профессиональный рост (у нас есть внутреннее обучение, возможность посещать конференции и митапы, мы спонсируем))
📌Корпоративная библиотека (огромное количество профессиональной литературы - бери, читай, наслаждайся)
📌Мы понимаем, что переезд - штука непростая, поэтому мы готовы всячески помочь уже сейчас) Мы оплатим билеты для тебя и твоего багажа, услуги риэлтора для поиска жилья и первый месяц арендной платы. Мы же команда)
📌P.S.: а если ты не хочешь переезжать, то удалённый формат работы у нас тоже есть)

Звучит здорово? Откликается?)
Напиши нам обязательно, давай обсудим)
Для этого нам всего-то нужно твое CV, а начать коммуникацию можем тут, Telegram - @brauerone

#вакансия
источник
2021 March 01
Админим с Буквой
✨ Хочешь узнать, насколько хорошо разбираешься в Сетевых Технологиях?

Ребята из Merion Networks подготовили интерактивный квиз - тест, который поможет определить твой уровень знаний.

✅ Перейди по ссылке на квиз
✅ Ответь на 9 простых вопросов
✅ Узнай свой результат
🎁 Получи в подарок Бесплатное руководство по BGP

Вперед к знаниям! 🏃‍♂️

Ссылка на квиз: https://mrqz.me/merion_networks_seti

#вп
источник
2021 March 07
Админим с Буквой
Debezium helm chart

Мы с командой Ситимобил написали helm chart для разворачивания debezium в k8s. К сожалению корпоративного репозитория у нас нет, поэтому выкладываю так (по согласованию с руководством, естественно).

Чарт умеет разворачивать дебезиум, на запуске создавать или обновлять коннектор, дополняет апстримовый контейнер прометеус-метриками, а также создаст все нужные очереди в kafka.

Обратите внимание, в чарте используется подход 1 чарт = 1 коннектор, т.к. для высоконагруженных баз объединение конфигов играет злую шутку и может привести к долгому даунтайму. Приятного использования!

https://github.com/bykvaadm/debezium-helm-chart

З.ы. Дашборд для метрик выложим попозже

#debezium
#helm
#kafka
#mysql
#kubernetes
источник
2021 March 08
Админим с Буквой
А для тех кто еще не умеет работать с дебезиумом, посмотрите хороший туториал
источник
Админим с Буквой
​​📢 Народ пошел занятой, и перестал ходить на многочасовые стримы.
Поэтому приходится идти на встречу, так сказать, зрителю.
Встречаем, новый экперимент.
Полазав в статистике канала, нашелся достаточно полезный стрим, который я решил перемонтировать в туториал.
В общем, встречаем - How To Stream Data from MySQL to Kafka
Лайки 👍, подписака 🎥, колокольчик 🔔!
Спасибо за поддержку!
источник
Админим с Буквой
Всех прекрасных девчуль с праздником весны!
источник
2021 March 10
Админим с Буквой
Хорошие короткоролики по кафке

https://www.youtube.com/watch?v=lAdG16KaHLs

https://dalelane.co.uk/blog/?p=3993
источник
Админим с Буквой
Тут это, ансибл 3.0 вышол

https://www.ansible.com/blog/announcing-the-community-ansible-3.0.0-package

#ansible
источник
2021 March 12
Админим с Буквой
tensorflow и официальный ответ разрабов на проблемы с AVX

CPUs with no AVX support are no longer supported by the default package. You have to compile from source or use a cloud version of TF (via Google Colab for example).
источник
2021 March 14
Админим с Буквой
У меня если честно слов нет. Насколько надо выпускать говёный софт, чтобы сломать соединение с конкретным сайтом?...
https://github.com/concourse/concourse/issues/6038
источник
2021 March 16
Админим с Буквой
Когда бизнес расширяется, департаменты IT и кибербезопасности сталкиваются с задачей масштабирования сети: это надо сделать оперативно, а также обеспечить надежность и безопасность передачи данных.

Решение этих проблем мы заложили в основу нашего нового продукта.

В четверг, 25 марта, в 16:00 (мск) приглашаем на онлайн-презентацию BI.ZONE Secure SD-WAN — платформы для безопасной трансформации сети.BI.ZONE Secure SD-WAN — платформы для безопасной трансформации сети.

Расскажем, как:
— подключить новый филиал к защищенной сети за считанные минуты, 
— обеспечить надежность доставки трафика при нестабильном соединении,
— объединить функции сети и безопасности.

Модератор мероприятия — директор по росту BI.ZONE Рустэм Хайретдинов.

Спикеры:
• Сергей Лебедь, вице-президент, директор Департамента кибербезопасности, Сбербанк
• Муслим Меджлумов, директор по управляемым сервисам, BI.ZONE
• Алексей Кудрявцев, руководитель направления разработки и эксплуатации облачной платформы кибербезопасности, BI.ZONE

Зарегистрироваться
источник
2021 March 17
Админим с Буквой
​​способ вывести ML-модели в продакшен» от Mail․ru Cloud Solutions

MLflow — один из самых стабильных и легких современных инструментов, позволяющих специалистам по Data Science управлять жизненным циклом моделей машинного обучения на всем его протяжении.

Это удобный инструмент с простым пользовательским интерфейсом для просмотра экспериментов и мощными средствами упаковки моделей, управления ими и их развертыванием. Он позволяет работать практически с любой библиотекой машинного обучения.

На вебинаре сотрудники MCS настроят MLflow в максимально близком к production варианте, а также покажут, как реализовать использование компонентов облака в качестве различных backend-сервисов MLflow.

Мероприятие пройдет во вторник, 23 марта, онлайн.
Начало в 18:00 по Москве.

👉 Регистрируйтесь: https://vk.cc/bZIwO3

#реклама
источник
2021 March 24
Админим с Буквой
💥Уже сегодня, 24 марта в 19:00 (МСК) начнётся митап

«Настоящее и будущее DevOps»

Поговорим о текущих задачах DevOps-инженеров, к чему пришло DevOps-движение в 2021 году, и куда движемся дальше.

А также погрузимся в технические детали управления релизами бессерверных приложений (AWS) с помощью terraform. Рассмотрим текущие подходы к DevOps в сервисных и продуктовых компаниях, плюсах и минусах, возможностях для роста.

⚠️Не забудьте зарегистрироваться, чтобы получить ссылку на трансляцию 👉 https://community-z.com/events/devops-webinar

#бесплатно
источник
Админим с Буквой
Рубрика: барахло с чердака.

Чем сканить веб, если у вас за душой ни гроша (и даже крякнутый бурп вы поставить не можете)? Ребята из CEH знают решение!
источник
2021 March 25
Админим с Буквой
Используем несколько паролей в  ansible-vault

Данный пост родился благодаря тому что документация ansible на этот счет нихрена не очевидна и мне пришлось потратить заметное количество времени на то чтобы сделать эту примитивную задачу, а именно - получить возможность использовать несколько разных паролей для разграничения доступа к sensitive data в ansible.

Дисклаймер: это мой личный путь, я описываю свой личный кейс, не надо писать в комментах "КОКОКО это не сработает при таких-то и таких-то условиях".

1) сохраняем файлы с паролями, например ~/.vault_prod ~/.vault_dev
2) рассказываем об этом ansible и помещаем, например, в .zshrc

export ANSIBLE_VAULT_IDENTITY_LIST=prod@~/.vault_prod, dev@~/.vault_dev


3) шифруем
- текст: ansible-vault encrypt_string TEXT --encrypt-vault-id prod
- файл: ansible-vault encrypt --encrypt-vault-id dev /path/to/file

4) расшифруем
При расшифровке (выкатке на сервера) указывать id не нужно - ансибл последовательно перебирает все указанные в ANSIBLE_VAULT_IDENTITY_LIST файлы и расшифровывает

#ansible
источник
2021 March 27
Админим с Буквой
Якобы-замена kafka

https://vectorized.io/redpanda
Сам я это если честно не пробовал, но решил поделиться, вдруг кому будет интересно.
источник