Как стать автором
Обновить
0
@vlasovjpgread⁠-⁠only

Пользователь

Отправить сообщение

Kubernetes: шпаргалка для собеседования

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров35K
Всем привет! Меня зовут Олег, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбанке, вследствие чего у меня сформировалось некоторое представление о вопросах, которые могут быть заданы соискателям. И сейчас я хочу остановиться на разделе вопросов про Kubernetes.

image

Сразу хочу сказать, что изначально планировал сделать одну статью, но в итоге получилась такая простыня, что пришлось разделить текст на две части. Ссылку на вторую опубликую здесь, как только она появится (вот она).

Вопросы по Kubernetes достаточно часты на собеседованиях на инженерные вакансии, связанные с администрированием и эксплуатацией. Они могут варьироваться от базовых, рассчитанных на механическую проверку теоретических знаний («объясните, что такое service») до более сложных и комплексных, требующих глубинного понимания внутренних принципов Kubernetes и работы (каким образом опубликовать приложение, развёрнутое в Kubernetes). Давайте пойдём от базы в направлении возрастания сложности.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии12

Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные

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

Привет, Хабр! Я Виктор, техлид продукта CI/CD в Samokat.tech. А это, :(){ :|:& };: fork-бомба, которая создаёт свои дочерние процессы бесконечно. Запуск такой штуки в контейнере без ограничений роняет всю ноду. Не используйте в проде! Если запустить в WSL, то винду тоже укладывает. Как же избежать запуска такой штуки на проде? Помогут квоты.

Давайте разберемся как работают квоты в Kubernetes. Там есть немало граблей. В этой статье поделюсь своим опытом по работе с квотами – расскажу, чем квоты хороши, что у них под капотом, в каких задачах используются и почему нужны даже в среде single-tenant.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии7

Эльфы и пингвины: что такое ELF и как он работает в Linux?

Уровень сложностиПростой
Время на прочтение37 мин
Количество просмотров21K

image


Всем привет! С вами как всегда я, Аргентум. Сегодня я расскажу и поведаю вам древние тайны, которые хранят горные старцы-сисадмины — тайны об эльфах, и как они взаимодействуют с древним народцем пингвинов. Дамы и господа, встречайте — статья о работе ELF и двоичных файлов в Linux!


Что такое ELF? Чем он отличается от PE в Windows? И многие другие ответы на ваши вопросы.


Перед тем как погрузиться в технические детали, будет нелишним объяснить, почему понимание формата ELF полезно. Это позволяет изучить внутреннюю работу операционной системы. Когда что-то пошло не так, эти знания помогут лучше понять, что именно случилось, и по какой причине. Также возможность изучения ELF-файлов может быть ценна для поиска дыр в безопасности и обнаружения подозрительных файлов. И наконец, для лучшего понимания процесса разработки. Даже если вы программируете на высокоуровневом языке типа Go или Rust, вы всё равно будет лучше знать, что происходит за сценой.


Итак, зачем изучать ELF?


  • Для общего понимания работы операционной системы
  • Для разработки ПО
  • Цифровая криминалистика и реагирование на инциденты (DFIR)
  • Исследование вредоносных программ (анализ бинарных файлов)
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии22

GOST: швейцарский нож для туннелирования и обхода блокировок

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров95K

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

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Всего голосов 180: ↑177 и ↓3+174
Комментарии113

Domain fronting для чайников, и как его использовать для обхода блокировок

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров39K

Давайте сразу вопрос на засыпку: может ли быть так, что клиент подключается, ну, например, к серверу www.python.org (самому настоящему, тому, к которому обращаются еще миллионы клиентов со всего мира), а потом использует его как прокси и гоняет через это подключение трафик до своего VPS для доступа в неподцензурный интернет? Если вы не уверены в ответе на этот вопрос или почему-то ответили "нет", то добро пожаловать в статью.

Я уже не раз рассказывал здесь о технологии XTLS-Reality (1, 2, 3) суть которой в том, что ваш прокси-сервер VPS может очень достоверно маскироваться под какой-нибудь популярный веб-сайт - принимать подключения, которые будут выглядит точно так же, как обращения к настоящему сайту, отвечать на них полностью аутентичным TLS-сертификатом, и в целом вести себя как тот настоящий сайт. Единственная проблема - сам IP-адрес. Немного подозрительно, когда к какому-нибудь якобы www.google.com постоянно обращается только один пользователь, а IP-адрес этого сервера на самом деле даже не относится к автономной сети Google.

Еще я рассказывал о разных вариантах проксировать трафик посредством вебсокетов и простых HTTP-туннелей через различные CDN, такие как Cloudflare и Gcore. Вероятность того, что под блокировку попадет вся CDN гораздо ниже, чем что забанят какой-то один сервер или диапазон хостера, но та схема требовала регистрацию своего домена для работы через CDN.

И наверняка многим в голову приходила идея, а нельзя ли как-нибудь совместить эти два механизма? Проксироваться через CDN, но при этом "прикрываясь" каким-нибудь чужим доменом? Ответ: да, можно, и сейчас мы посмотрим, как именно.

Читать далее
Всего голосов 75: ↑74 и ↓1+73
Комментарии45

Тестирование новых версий сервисов с помощью Canary Deployment (Kubernetes)

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

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

 В  данной статье я  рассмотрел основную проблему в выпуске новых версий приложений в production, также описал суть canary deployment и процесс развертывания с помощью Kubernetes.

Читать далее
Всего голосов 4: ↑1 и ↓3-2
Комментарии4

Вася, ты видишь девопса? А он есть

Время на прочтение14 мин
Количество просмотров8.2K

Привет! Меня зовут Василий Куценко, я возглавляю департамент DevOps в Почтатехе и считаю, что девопсов не существует… 

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

Но как же быть с тем, что компании постоянно ищут DevOps-инженеров, на хантинговых сайтах полно подобных вакансий, а сама должность престижна и хорошо оплачивается? Кто же эти «фантастические девопсы» и что нужно, чтобы быть «труъ», разбираемся в статье.

Читать далее
Всего голосов 17: ↑15 и ↓2+13
Комментарии3

Построение кластера PostgreSQL высокой доступности с использованием Patroni, etcd, HAProxy

Время на прочтение6 мин
Количество просмотров50K

Так уж вышло, что на момент постановки задачи я не обладал достаточной степенью опытности, чтобы разработать и запустить это решение в одиночку. И тогда я начал гуглить.


Не знаю, в чем загвоздка, но уже в который раз я сталкиваюсь с тем, что даже если делать все пошагово как в туториале, подготовить такой же enviroment как у автора, то все равно никогда ничего не работает. Понятия не имею, в чем тут дело, но когда я столкнулся с этим в очередной раз, я решил — а напишу-ка я свой туториал, когда все получится. Тот, который точно будет работать.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии9

Работа с хранилищами в Kubernetes: руководство для инженеров

Время на прочтение21 мин
Количество просмотров12K
image

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

Накопленный мною опыт в этой области стал основой для этой статьи.

Я сфокусируюсь на трёх ключевых элементах управления хранилищем в Kubernetes:

  • PersistentVolumes (PV).
  • PersistentVolumeClaims (PVC).
  • Storage Classes.

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

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

Например, у нас была задача обеспечить надёжное и масштабируемое хранение данных в веб-приложении для управления клиентскими заказами. Мы настроили в Kubernetes Storage Class на основе SSD для базы данных (что не является хорошей практикой): это помогло обеспечить быстрый доступ и обработку транзакций. А для логов и нечасто применяемых данных использовали отдельный Storage Class с HDD, и это позволило снизить затраты.

А главное, Storage в Kubernetes — это такая штука, которую ты сделал и забыл, дальше оно там само работает.

Рассказываю детально.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии4

Курс «PostgreSQL для начинающих»: #1 — Основы SQL

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров44K

Этим постом я запускаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительности запросов, разбор [не]эффективного применения индексов и особенностей работы транзакций и блокировок в этой СУБД.

Курс не претендует на лавры "войти в айти", поэтому подразумевает наличие у слушателя опыта программирования или работы с другими СУБД, и, главное, желания самостоятельно изучать тему работы с PostgreSQL глубже.

Для тех, кому комфортнее смотреть и слушать, а не читать - доступна видеозапись.

Читать далее
Всего голосов 35: ↑34 и ↓1+33
Комментарии30

Как заставить Ansible работать быстрее – 8 советов по плейбукам

Время на прочтение6 мин
Количество просмотров15K

Ansible – это мощный и простой инструмент автоматизации с открытым кодом. Он помогает оптимизировать множество задач по эксплуатации ИТ-инфраструктуры, от самых простых, наподобие установки программных пакетов, до весьма сложных, вроде развертывания кластера с несколькими узлами или многоэтапного обновления операционной системы. Сегодня мы расскажем, как оптимизировать плейбуки и модули Ansible, чтобы создаваемые вами автоматизации работали быстрее.

Читать дальше: Как заставить Ansible...
Всего голосов 15: ↑14 и ↓1+13
Комментарии16

Как заставить Ansible работать быстрее, почему DevSecOps – это важно и с чего начинать…

Время на прочтение2 мин
Количество просмотров6.5K

... а также – зачем системному архитектору техническая эрудиция.

Всё это и многое другое мы собрали для вас коротким дайджестом в нашей постоянной рубрике #полезногопост!

Читать дальше: Как заставить Ansible...
Всего голосов 2: ↑1 и ↓10
Комментарии0

Основы мониторинга PostgreSQL. Алексей Лесовский

Время на прочтение22 мин
Количество просмотров60K

Предлагаю ознакомиться с расшифровкой доклада Алексей Лесовский из Data Egret "Основы мониторинга PostgreSQL"


В этом докладе Алексей Лесовский расскажет о ключевых моментах постгресовой статистики, что они означают, и почему они должны присутствовать в мониторинге; о том, какие графики должны быть в мониторинге, как их добавить и как интерпретировать. Доклад будет полезен администраторам баз данных, системным администраторам и разработчикам, которым интересен траблшутинг Postgres'а.


Всего голосов 25: ↑25 и ↓0+25
Комментарии6

Как получить сертификат CKA в 2023-2024 году

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров4.2K

Не секрет что Kubernetes является де-факто стандартом для развертывания приложений и на специалистов со знанием Kubernetes существует стабильный спрос. Одним из самых востребованных сертификатов подтверждающих эту квалификацию является Certified Kubernetes Administrator или коротко CKA. В данной статье я делюсь своим опытом подготовки и прохождения экзамена CKA.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии16

Автоматическая генерация CI/CD пайплайна для развёртывания инфраструктуры

Время на прочтение8 мин
Количество просмотров15K

При нашей работе мы используем подход «Инфраструктура как код». Однако в процессе его использования мы столкнулись с проблемой написания пайплайнов для инфраструктуры.

Во всём «виноват» terragrunt: каждому модулю terragrunt нужна отдельная джоба в пайплайне на plan и apply, но для каждого модуля они во многом повторяют друг друга. Подобное постоянное написание одинаковых частей CI/CD пайплайна при добавлении новых баз и бакетов навевало тоску.

Рассказываем, как мы создали генератор джоб в Gitlab CI/CD и навсегда забыли о ручном написании пайплайнов для развёртывания элементов инфраструктуры.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

OpenConnect: недетектируемый VPN, который вам понравится

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

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Всего голосов 325: ↑324 и ↓1+323
Комментарии342

Переезд монолита в k8s. Делаем каршеринг cloud native

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

Делюсь опытом по становлению каршеринга на светлую сторону Силы — переезду в облако.

Мы переезжали из одного датацентра в другой, шатали прод по ночам, выкатывали новые микросервисы, переписывали старые, наш парк машин вырос в 4 раза. И всё это за экстремальные 2 года!

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии18

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 2

Время на прочтение17 мин
Количество просмотров60K

Я продолжаю выразительно пересказывать документацию Ансибла и разбирать последствия её незнания (ссылка на предыдущую часть).


В этой части мы обсуждаем инвентори. Я обещал ещё и переменные, но инвентори оказалась большой темой, так что посвящаем ей отдельную статью.


Мы будем разбирать каждый элемент инвентори (кроме host_group_vars plugin) и обсуждать зачем он, как его использовать правильно, и как неправильно.


Оглавление:


  • Что такое хост? (и немного про транспорты)
  • Доступ IP vs FQDN; inventory_hostname vs ansible_host
  • ansible_user — писать или не писать?
  • Группы
  • Переменные: в инвентори или в плейбуку?
  • Классификация инвентори по происхождению.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии15

Используем функционал Podman вместо docker-compose на примере Gitea

Время на прочтение6 мин
Количество просмотров19K

В своем порыве использовать только технологии компании Red Hat, я решила освоить их first-party контейнерный стек. В основе стека лежит podman- движок для контейнеров, работающий без демон-процесса и без root привилегий по умолчанию. podmanинтегрируется в экосистему Red Hat - запуск контейнеров производится посредством systemd ; контейнеры интегрируются с SELinux. Конечно, самая главная причина использовать podmanвместо Docker - его включение по умолчанию в дистрибутив Red Hat Enterprise Linux и подобные.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

DevOps спит, Gitlab CI работает…

Время на прочтение12 мин
Количество просмотров9.1K

Можно ли построить удобный для всех pipeline, приложив усилия один раз, а не 100? Об этом расскажет Виктория Вольферц. Она работает в БКС DevOps-инженером в управлении микросервисной архитектуры. БКС предоставляет брокерские и банковские услуги для клиентов. Их основные продукты — это мобильное приложение БКС Мир Инвестиций и веб-кабинет для клиентов.

Виктория поделится опытом своей компании, как им удалось решить проблему больших временных затрат на релиз-менеджмент и Time to Market с помощью подключения проектов к CI/CD. Она расскажет о том, как они автоматизировали процессы и закрыли слабые места.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии3

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность