Pull to refresh
17
0
@kalashmatik @Kalashmatik

¯\_(ツ)_/¯

Send message

Отслеживание сетевого трафика в Kubernetes: примеры кода и практические советы

Reading time17 min
Views9K


Команда VK Cloud перевела статью об основных принципах работы сети в Kubernetes: как кластер принимает и отправляет пакеты начиная с исходного веб-запроса и до размещения приложения в контейнере.

Требования к сети в Kubernetes


Сначала давайте проясним требования к сети Kubernetes:

  • Под в кластере должен свободно взаимодействовать с любым другим подом без использования Network Address Translation (NAT).
  • Любая программа, работающая на узле кластера, должна взаимодействовать с любым подом на том же узле без использования NAT.
  • У каждого пода есть собственный IP-адрес (IP-per-Pod), и любой другой под может обратиться к нему по этому адресу.

Эти требования и ограничения описывают свойства сети кластера в целом и вынуждают отвечать на следующие вопросы: 

  1. Как убедиться, что контейнеры в одном и том же поде ведут себя как на одном хосте?
  2. Может ли под обращаться к другим подам в кластере?
  3. Может ли под обращаться к службам? Обрабатывают ли службы запросы о балансировке нагрузки?
  4. Может ли под получать трафик извне кластера?

В этой статье мы рассмотрим первые три пункта, начиная со взаимодействия на уровне подов и контейнеров.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments0

Вертикальное автомасштабирование pod'ов в Kubernetes: полное руководство

Reading time22 min
Views24K

Прим перев.: месяц назад Povilas Versockas, CNCF Ambassador и software engineer из Литвы, написал очень подробную статью о том, как работает и как использовать VPA в Kubernetes. Рады поделиться её переводом для русскоязычной аудитории!

Это полное руководство по вертикальному автомасштабированию pod'ов (Vertical Pod Autoscaling, VPA) в Kubernetes. Из него можно узнать, что такое вертикальное автомасштабирование pod'ов, зачем оно нужно и как работает, как устроена модель ресурсных требований Kubernetes, когда использовать VPA и какие существуют ограничения.

Читать далее
Total votes 38: ↑38 and ↓0+38
Comments1

Журналы аудита Kubernetes: лучшие практики и настройка

Reading time8 min
Views6.3K

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

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

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments0

Распутываясь из циклов Ansible

Reading time7 min
Views9.7K

Распутываясь из циклов Ansible

Написать данный опус навеяла статья на Хабре Распутывая Ansible Loops. Вообще с циклами у ansible на мой взгляд не задалось. Никаких тебе конструкций вида for и while. Официальная документация довольно-таки развернутая, но немного в ней не хватает элементарных примеров. Их и постараюсь привести.

распутать это
Total votes 10: ↑7 and ↓3+4
Comments3

Настраиваем память JVM-приложения в Kubernetes

Reading time6 min
Views18K

Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на  использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.

 

Читать далее
Total votes 42: ↑40 and ↓2+38
Comments9

10 рекомендаций по работе с Ansible

Reading time6 min
Views11K

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

Делимся советами, как «выжать» из Ansible по-максимуму, не сталкиваясь с проблемами.

Читать далее
Total votes 19: ↑18 and ↓1+17
Comments0

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

Reading time13 min
Views42K

В этой части мы перестаём говорить о простом и приятном и начинаем говорить о трудном. Переменные в Ansible: scope, precedence, рекурсивная интерполяция. Для тех, кто дочитает до конца, маленький бонус: упрощённая таблица приоритетов, с которой можно жить. Предыдущие части: 1, 2.


Обычно рассказ про переменные в Ансибл начинают с чего-то очень простенького, что создаёт у читателя иллюзию, что переменные в Ансибл — это как в любом другом языке программирования. Мутабельные или немутабельные, локальные и глобальные. Это не так.


Это не так.


У Ансибла возникла уникальная модель переменных (модель памяти?), которую надо учить с нуля. И рассматривать мы её начнём с того места, где значения используются (обычно переменные Ансибла рассматривают с того места, откуда они появляются). Почему? Потому что при рассказе в этом направлении у нас образуется направленный граф, который куда легче уложить в голову.


Обратите внимание — я сказал "значения", потому что "переменные" — это всего лишь имена к значениям. У переменных свой глубокий внутренний мир, и про него во второй части.

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments78

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

Reading time17 min
Views59K

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


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


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


Оглавление:


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

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

Reading time12 min
Views134K

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


Для исправления этой вселенской несправедливости я решил написать введение в Ансибл для тех, кто его уже знает. Предупреждаю, это не пересказ манов, это лонгрид в котором много букв и нет картинок.


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Total votes 112: ↑110 and ↓2+108
Comments66

Магия ssh

Reading time12 min
Views63K

Разве что ленивый не писал про ssh и несмотря на это, данный протокол и его возможности не перестают меня восхищать. Здесь я хочу поделиться исключительно своим опытом использования сего замечательного инструмента в своих задачах (При этом активно применяю его даже при разработке на Windows).

Поскольку я программист, то инструментарий ssh часто нужен мне в разработке и для личных нужд. Самые частые задачи, которые я выполняю с его помощью (по частоте использования):

  • Удалённый доступ — логично, ведь для этого он и предназначался.
  • Монтирование папок по сети — очень удобно для работы с кодом на удалённой машине.
  • Удалённое выполнение команд — нечастая, но используемая мной операция. Удобно получать выхлоп команды в канал другой команды на текущей машине.
  • Запуск графических приложений на удалённой машине.
  • Проксирование трафика — способ перенаправления трафика. Этакий быстрый и простой аналог VPN.
  • Обратный ssh — использую для проброса портов к системам, находящимися за NAT, когда лень настраивать firewall.

Далее вкратце разберу каждый пункт, и особенно пути эффективного и простого использования под Windows.
Читать дальше →
Total votes 105: ↑97 and ↓8+89
Comments131

Сертификаты K8S или как распутать вермишель Часть 1

Reading time5 min
Views8.6K

Всем привет. Меня зовут Добрый Кот Telegram.

От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей по сертификатам k8s.

Хочу поделиться с вами некоторым мыслями на тему сертификатов в кубе.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments0

Ceph. Анатомия катастрофы

Reading time20 min
Views58K
Ceph — это object storage, призванный помочь построить отказоустойчивый кластер. И все-таки отказы случаются. Все, кто работает с Ceph, знают легенду о CloudMouse или Росреестре. К сожалению, делиться отрицательным опытом у нас не принято, причины провалов чаще всего замалчивают, и не дают будущим поколениям научиться на чужих ошибках.

Что ж, настроим тестовый, но близкий к реальному кластер и разберем катастрофу по косточкам. Измерим все просадки производительности, найдем утечки памяти, разберем процесс восстановления обслуживания. И все это под руководством Артемия Капитулы, который потратив почти год на изучение подводных камней, заставил при отказе производительность кластера не падать в ноль, и latency не подскакивать до неприличных значений. И получил красный график, который ну сильно лучше.


Далее вы найдете видео и текстовую версию одного из лучших докладов DevOpsConf Russia 2018.


Total votes 57: ↑57 and ↓0+57
Comments116

Git Rebase: руководство по использованию

Reading time8 min
Views795K
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

Теория


Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


Читать дальше →
Total votes 122: ↑121 and ↓1+120
Comments169

Что такое модули Terraform и как они работают?

Reading time5 min
Views24K

Многие новички пропускают настройку модулей Terraform, чтобы облегчить процесс настройки. По крайней мере, они так думают, что облегчили себе задачу. Рассмотрим что такое модули Terraform и как они работают.

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments10

Знакомство с типичными примерами использования встроенных функций Terraform

Reading time4 min
Views4.4K

Небольшая инструкция по использованию Terraform, чтобы изучить и применить различные типы встроенных функций, в том числе Numeric, String, и Date, и Time в этом инструменте IaC.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments1

Основы работы с Helm чартами и темплейтами — Часть 1

Reading time16 min
Views52K

В этом руководстве мы кратко обсудим, как Helm может помочь упростить управление приложениями Kubernetes, и узнаем, как использовать Helm для создания базового чарта.


Управление приложениями — сложный аспект Kubernetes. Helm значительно упрощает его, предоставляя единый метод упаковки программного обеспечения, поддерживающий контроль версий. Helm устанавливает пакеты (называются Чартами в Helm) для Kubernetes и управляет ими, как это делают yum и apt.


В этом руководстве мы позволим Helm создать для нас базовый чарт. В этом руководстве предполагается, что у вас есть хотя бы базовое понимание того, что такое Helm. Если вы не знакомы с ним, я предлагаю вам ознакомиться с этим руководством, прежде чем приступить к статье: https://www.alibabacloud.com/help/doc-detail/86511.htm

Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments3

Устранение неполадок в Kubernetes: в каком направлении двигаться, если что-то идет не так

Reading time7 min
Views9.7K

Источник


Команда Kubernetes as a Service в Mail.ru Cloud Solutions перевела статью, в которой автор помогает найти причины ошибок в Kubernetes, если вы совсем не понимаете, куда нужно смотреть. Далее текст от лица автора.


Kubernetes — непростая платформа, особенно когда что-то пошло не так и нужно срочно найти и устранить возникшую проблему. В основном трудности объясняются сложностью самой системы и отсутствием подробных сообщений об ошибках. Ситуация усугубляется еще и огромным количеством «шестеренок» в потоке оркестрации контейнеров — при том что для представления этого потока используется всего лишь несколько состояний. Например, есть как минимум шесть возможных причин, по которым под может зависнуть в состоянии ContainerCreating или CrashLoppBackOff.


Мы активно работаем с Kubernetes уже более трех лет и за это время составили длинный список сложных и в то же время трудно диагностируемых проблем. Большинство из них можно отнести к одной из трех категорий:


  1. Зависание пода в состоянии ContainerCreating.
  2. Ошибка CrashLoopBackOff и периодический перезапуск контейнера.
  3. Проблемы с сетью.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments0

Как настроить Jenkins в связке с Ansible

Reading time8 min
Views24K

Эта статья — способ заглянуть в курс «Ansible: от первых шагов до большого проекта». Всеволод Севостьянов, Lead Engineer в Vene, отвечающий за пайплайны и deployment, показал, как настраивать Jenkins в связке с Ansible.

Читать
Total votes 17: ↑16 and ↓1+15
Comments16

Какие английские слова IT-лексикона мы неправильно произносим чаще всего

Reading time5 min
Views171K
Пока пара новых статей на технические темы еще в процессе написания, я решил опубликовать небольшой лингвистический материал. Достаточно часто замечаю, что коллеги, у которых английский язык — не родной, неправильно произносят некоторые характерные для IT сферы слова. И дело здесь не в том, насколько аутентично произносятся отдельные звуки, а именно в транскрипции. Регулярно встречал ситуации при общении с носителями, когда неправильно произносимое слово приводило к недопониманиям.

Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
Читать дальше →
Total votes 309: ↑308 and ↓1+307
Comments486

Английские сокращения и названия из сферы IT, которые мы неправильно произносим

Reading time6 min
Views36K
Предыдущая статья на тему произношения английских слов получила много позитивных откликов, поэтому я решил продолжить эту тему и рассказать про сокращения и имена собственные.

image
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments47
1
23 ...

Information

Rating
Does not participate
Date of birth
Registered
Activity