Обновить
256K+

DevOps *

Методология разработки программного обеспечения

447,03
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Введение в Istio для Kubernetes: основы и начальная настройка

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели45K

Работая DevOps-инженером, я часто сталкиваюсь с необходимостью глубоко погружаться в механизмы работы контейнерных оркестраторов. Важность хорошего знания архитектуры и оптимизации управления контейнерами трудно переоценить, особенно когда речь идёт о Kubernetes. Эта технология стала неотъемлемой частью моего инструментария благодаря её возможностям в автоматизации развёртывания, масштабирования и управления контейнерными приложениями.

Однако управлять микросервисной архитектурой в Kubernetes бывает весьма сложно. И здесь на помощь приходит Istio — мощная платформа, обеспечивающая сетевое взаимодействие, безопасность и наблюдаемость в кластере Kubernetes. В этой статье мы рассмотрим основы Istio и её начальную настройку.

Читать далее

Назад в прошлое: запускаем k8s v.0.1 из 2014 и анонсируем челлендж

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.3K

Привет! Я Александр Хренников — руководитель DevOps-юнита в KTS. Первый коммит в репозиторий kubernetes был сделан 10 лет назад, 6 июня 2014 года. За это время kubernetes прошёл большой путь и стал самым популярным средством оркестрации контейнеров. 

Предлагаю вам посмотреть, каким он был в то время, и попробовать запустить в нём приложение самостоятельно. 

Заодно приглашаем принять участие в челлендже по запуску kubernetes из самого первого коммита. Это продолжение нашего совместного челленджа c Yandex Cloud на KuberConf / 24, где мы запускали приложение без ошибок на инфраструктуре облака.

Если собирать компоненты с нуля желания нет, а запустить их хочется уже сейчас, участвуйте в Kube01 Challenge по запуску k8s v.0.1 на инфраструктуре Yandex Cloud. Принять участие и выиграть мерч с Котзиллой можно по ссылке.

Читать далее

Kata Containers для Docker в 2024

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.2K

Kata Containers по факту сейчас основной способ запустить контейнеры в изолированной виртуальной машине для большей безопасности. Рассказываю, как установить их для использования с Containerd и Docker, сохраняя возможность переключаться между версиями релизов.

Читать далее

WebTTY: Доступ по SSH через браузер, даже там, где порт закрыт

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели35K

Как мы с вами знаем, SSH — надежный и безопасный протокол для удаленного управления системами, который является неотъемлемой частью работы у многих. Однако, что делать, когда стандартные порты SSH заблокированы или закрыты, например, в строго защищенных корпоративных сетях или в облачных средах с жесткой политикой безопасности? Или что делать, если под рукой есть только браузер и нет возможности использовать обычный терминал?

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

В этой статье мы рассмотрим, как WebTTY может быть использован для доступа к SSH-портам через браузер, даже если они закрыты, как его можно настроить и когда его можно использовать. Основана цель данного материала – познакомить вас с таким вариантом подключения и показать, как использовать данный инструмент. Надеюсь, что представленные примеры и объяснения помогут вам оценить его возможности и найти полезные применения в вашей практике.

Читать далее

lnav — супернедооценённый инструмент для работы с логами

Время на прочтение6 мин
Охват и читатели39K

Доброго дня. Это мой первый пост на хабре, поэтому не будьте особо строги к нему.

В мире разработки, системного администрирования и DevOps не смотря на то, что давно существуют и заняли свою нишу инструменты, связанные с централизованным сбором, визуализацией и анализом логов (graylog, ELK/EFK, loki, loggly и другие), всё ещё существует необходимость периодически взять шашку в руки и поработать со старыми/добрыми (а может быть и не очень добрыми) текстовыми логами. За 21 год своей деятельности я успел побыть системным администратором, DevOps инженером, разработчиком, CTO и системным аналитиком, но необходимость периодической работы с логами неизменно присутствовала в том или ином виде всегда. Это может быть разбор вывода нового сервиса или контейнера на машине разработчика, что-то, что ещё не успели завести (или сознательно по каким-либо причинам не завели) на централизованную систему сбора логов или, например, сервис, временно включенный в режиме debug для поиска причин проблемы. Ситуаций бывает много и ситуации бывают разные, а текстовые логи были, есть и ещё долго будут с нами.

Все, кто как-либо связан с DevOps знают про такие утилиты как more, less, tail, head, grep, sed, awk (а кто-то и ещё десяток более специфичных) и при необходимости их используют, но из тех, с кем я общался, никто не подтвердил мне, что знает про lnav. Я и сам не знал и искал нечто подобное более десяти лет. lnav — это не просто швейцарский армейский нож в мире работы с логами, а целый космический корабль, на котором можно улететь в соседнюю галактику. Мой мир разделился на "до" и "после" знакомства с этой утилитой. Там, где раньше требовались часы, а то и десятки часов на анализ логов, теперь хватает считанных минут.

Читать далее

Неудачные архитектурные решения при миграции в облако

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.7K

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

Какие ошибки есть при миграции в облако?

Настройка self-hosted K8s кластера с помощью RKE2 (Rancher)

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели25K

Имея за плечами опыт работы с Kubernetes в различных облачных провайдерах вроде AWS и Yandex Cloud я столкнулся с необходимостью развертывания кластера вне облака на виртуальных машинах. 

В статье расскажу про то, как подготовить high-availability кластер, используя инструмент под названием RKE2 - Rancher Kubernetes Engine.

Читать далее

Топ 5 продвинутых инструментов Data Science. Изучи за выходные и будешь выделяться

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели27K

Привет, чемпионы! Сегодня рассмотрим, как облегчить себе жизнь, применяя 5 инструментов в своих проектах. Эти инструменты улучшат ваш код, сделают ваш pipeline более стабильным и позволят не писать один код по 10 раз. Круто? Погнали!

Изучать новое!

Добавляем CI/CD конфиг для деплоя NestJS и Angular приложений на выделенный сервер с помощью GitHub Actions

Время на прочтение9 мин
Охват и читатели2.8K

Прописываем секретные переменные окружения в гитхаб.
Устанавливаем "GitHub Actions"-раннер на выделенный сервер.
Настраиваем workflow для "GitHub Actions".

Читать далее

Непрерывность бизнеса и аварийное восстановление: в чём разница

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6K

В этой статье мы разберёмся, в чём разница между непрерывностью бизнеса и аварийным восстановлением (восстановлением после сбоя) — двумя обязательными стратегиями для любой компании, желающей избежать длительного простоя. Как объединение обеих практик повышает устойчивость к потенциально опасным для бизнеса угрозам?

Читать далее

Hashicorp Vault — gcs + gcpckms

Время на прочтение5 мин
Охват и читатели4.8K

Управление секретами и почему это так важно для нас?

Привет! Меня зовут Евгений, я работаю на позиции Lead DevOps в EXANTE. В этой статье мы разберем жизненный опыт сетапа high availability Hashicorp Vault с gcp storage backend и autounseal в k8s.

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

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

Мы решили сделать наш продукт cloud native, и для этого нужно было изменить подход к разработке и инфраструктуре, провести рефакторинг наших легаси сервисов, начать двигаться в сторону микросервисной архитектуры, разворачивать сервисы в cloud k8s, использовать managed ресурсы (redis, postgres).

В наших реалиях под изменения попасть должно было все – от приложений и инфраструктуры до методов распространения конфигов и секретов. В качестве облачного провайдера был выбран Google, а хранилищем секретов был выбран Hashicorp Vault. На данный момент мы довольно успешно прошли большую часть пути.

Почему Hashicorp Vault?

У нас есть несколько причин:

Читать далее

Ломаем WETWARE

Время на прочтение20 мин
Охват и читатели1.7K

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

Взломать мозг

Автоматизация Code Review с помощью LLM

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели15K

Как  разработчики большой мультибрендовой торговой площадки (Faire) внедрили автоматизированные c LLM  Code Review (статья - мой перевод для нашего ТГ канала посвященного разработке софта при помощи LLM). 

В Faire мы верим в ценность код-ревью и всегда придерживаемся этой практики. Хотя многие аспекты код-ревью требуют глубокого понимания проекта, существуют также множество общих требований, которые можно учесть без дополнительного контекста. Например, наличие ясного заголовка и описания, достаточное покрытие тестами, соблюдение стиля кода, выявление изменений несовместимых между сервисами.

Похоже, что LLM хорошо подходят для выполнения таких общих задач код-ревью. Имея достаточно информации о pull request: метаданные, diff, логи сборки и  отчеты о покрытии тестами, можно эффективно настроить LLM для добавления полезной информации, выявления багов или потенциально опасных изменений и даже автоматического исправления простых ошибок.

Читать далее

Ближайшие события

Как разогнать монитор до 75 герц и выше

Время на прочтение4 мин
Охват и читатели109K

В последнее время разгон мониторов до 75 Герц стал достаточно популярной темой. Дело в том, что многие современные модели официально поддерживают только 60 Гц, хотя вполне способны нормально работать и с частотой 75 Гц.

Повышение частоты обновления монитора с 60 до 75 Гц позволяет добиться большей плавности изображения в играх и снижает утомляемость глаз. Поэтому, если монитор поддерживает такую частоту, то подобный разгон приносит только преимущества. В этой инструкции мы расскажем о том, как разогнать монитор до 75 Гц с помощью драйверов NVIDIA/AMD или специальных программ.

OVERCLOCK

Ручной деплой NestJS и Angular приложений на выделенном сервер через «Docker Compose» и «PM2»

Время на прочтение33 мин
Охват и читатели4.4K

Покупаем выделенный сервер и настраиваем SSH доступ к нему с локального компьютера.
Добавляем https://github.com/SteveLTN/https-portal в "Docker compose" для автоматической генерации и продления сертификатов.

Читать далее

Дымовая Завеса в Eclipse IDE

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.9K

Прошивки часто пишут в Eclipse.

В Eclipse есть такая возможность как серая дымка неиспользуемых сейчас кусков кода. Якобы то, что не используется в коде визуально становится серой зоной отчуждения.

Именно этот аргумент огромная fun база Eclipse плагинов и приводит в качестве главного за Eclipse плагины.

В этом же тексте я написал как активировать эту пресловутую опцию даже при сборке сторонними скриптами. Причем любыми.

Читать далее

Как настроить двухфакторную аутентификацию через Telegram для SSH

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели24K

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

Двухфакторная аутентификация (2FA) – это мощный инструмент, который значительно повышает уровень безопасности, требуя подтверждения вашей личности с помощью второго фактора. В этом контексте, двухфакторная аутентификация через Telegram представляет собой эффективное решение, которое можно легко интегрировать в процесс SSH-подключения.

Почему стоит задуматься о внедрении двухфакторной авторизации через Telegram для SSH? Во-первых, это значительно усложняет жизнь потенциальным злоумышленникам. Даже если пароль окажется скомпрометирован, доступ к вашему серверу будет возможен только после подтверждения входа через Telegram, что практически исключает риск несанкционированного доступа. Во-вторых, Telegram предоставляет удобный интерфейс и высокий уровень безопасности для отправки уведомлений и запросов на подтверждение, что делает процесс аутентификации простым и доступным.

В этой статье мы шаг за шагом рассмотрим, как настроить двухфакторную авторизацию для SSH с использованием Telegram-бота. Мы разберем все необходимые шаги – от создания бота до интеграции с вашим сервером, чтобы вы могли обеспечить дополнительный уровень безопасности для вашего окружения.

Читать далее

Сборка приложений на NestJS и Angular и запуск их в двух вариантах: через PM2 и через «Docker Compose»

Время на прочтение42 мин
Охват и читатели2.9K

Для запуска собранных приложений в режиме PM2 фронтенд будет встроен в бэкенд в виде статичных файлов.

Для запуска в режиме "Docker Compose" бэкенд будет собран в виде Docker образа, а собранная статика фронтенда будет отдаваться через и Nginx.

База данных запускается через "Docker Compose".

Читать далее

Интеграция защищённого контура в Yandex Cloud: делимся опытом

Время на прочтение9 мин
Охват и читатели7.8K

В этой небольшой статье расскажу, как мы организовали нашему клиенту закрытый контур в Yandex Cloud. Если конкретнее: покажу, как настроить StrongSwan site-to-site IKEv2 ipsec tunnel, а потом — инфраструктуру, состоящую в основном из кластера Kubernetes, GitLab, Vault и Keycloak. Приятного чтения!

Посмотреть, как реализован закрытый контур

Безопасность контейнерных сред: как отбить атаки киберпиратов

Уровень сложностиСложный
Время на прочтение22 мин
Охват и читатели8.7K

В современном мире практически ни одна разработка программного обеспечения не обходится без использования средств контейнеризации, что связано с удобством хранения артефактов и зависимостей. Киберпираты следуют трендам DevSecOps, чтобы повышать энтропию атак на контейнерные среды. Кроме того, растет количество APT группировок, что является сегодня довольно значимой проблемой. В данной статье мы подробно рассматриваем техники злоумышленников, а также рассказываем о существующих тактиках защиты для того, чтобы разработчики или DevOps-инженеры смогли применять их в своей повседневной работе.

Читать далее