Опции applyOnForward, preDNAT и doNotTrack
Чтобы понять в каких случаях вам следует применять данные параметры, мы кратко рассмотрим как изменяется обработка трафика, если их включить.
applyOnForward
Параметр applyOnForward отвечает за то, применяется ли данная политика к трафику, который проходит по цепочке iptabels FORWARD. Например, трафик, направленный к pod’у. Так как pod является внешним ресурсом с точки зрения сети хоста (не считается локальным процессом), следовательно, трафик до него проходит по маршруту цепочек PREROUTING – FORWARD – POSTROUTING.
Если applyOnForward имеет значение false, GlobalNetworkPolicy к трафику для локальных workload (контейнер/pod/ВМ, которые имеют свои виртуальные интерфейсы) не применится. Она будет применяться только к трафику для локальных процессов и к трафику, исходящему от них. Пример приведу далее.
Если applyOnForward имеет значение true, GlobalNetworkPolicy также применяется к перенаправленному (forwarded) трафику, такому как:
* Трафик, который поступает через HostEndpoint и перенаправляется в локальные workload.
* Трафик из локальных workload, который перенаправляется черезHostEndpoint.
* Трафик, который поступает черезHostEndpointи пересылается на другой HostEndpoint.
По умолчанию applyOnForward имеет значение false. Для политик, использующих опции doNotTrack и preDNAT, для свойства applyOnForward должно быть установлено значение true, поскольку эти политики применяются ко всему трафику, проходящему через FORWARD.
По умолчанию пересылаемый трафик (FORWARD)разрешен, если к пункту его назначения или направлению не применены какие-либо политики. Иначе говоря: если у вас настроен HostEndpoint, но нет политик с параметром applyOnForward: true для этого HostEndpoint или направления трафика, то пересылаемый трафик будет разрешен. Если существуют политики applyOnForward:true, в которых упоминаются селекторы HostEndpoint или это направление, но никакие правила в политиках не разрешают трафик, трафик отклоняется.
Пример: вы создаете GlobalNetworkPolicy, разрешающую исходящий трафик по протоколу ICMP для данного HostEndpoint с applyOnForward:false. В этом случае, если вы попытаетесь сделать ping 8.8.8.8 из pod’а на данном хосте, вам это удастся, так как forwarded трафик по умолчанию разрешен, хотя GNP применилась только к локальному трафику. Но. Если вы создадите ещё одну политику для этого HostEndpoint, но уже с applyOnForward:true, например, вы разрешаете весь TCP-трафик, то ping 8.8.8.8 изнутри пода не пройдет. Потому что уже существует политика с applyOnForward:true для этого типа трафика (этого HostEndpoint) и этот тип трафика явно не разрешен.
preDNAT
Данная опция отвечает за то, применяется ли политика до прохождения через DNAT (Destination Network Address Translation) или нет.
Это может пригодится, например, если вы используйте NodePorts и хотите контролировать трафик, который приходит извне на эти порты. После того, как трафик извне приходит на NodePort его распределение по факту происходит при помощи DNAT (kube-proxy). Следовательно, для того, чтобы применить политику к трафику, приходящему на NodePort, preDNAT должен быть установлен в true.
Ключевые особенности для таких политик следующие:
* Политики с опцией preDNAT могут иметь правила только для входящего трафика, но не исходящего.
* Политика применяется для всего трафика, проходящего через host endpoint, не только к процессам на хосте, но и к локальным workload (pod/VM/container).
* По умолчанию весь preDNAT трафик разрешен. То есть если существует HostEndpoint, но для него нет preDNAT политик, для него не действует правило “отбрасывать все по умолчанию”.
*️⃣ 4/6: продолжение следует :)
#лонгрид
Чтобы понять в каких случаях вам следует применять данные параметры, мы кратко рассмотрим как изменяется обработка трафика, если их включить.
applyOnForward
Параметр applyOnForward отвечает за то, применяется ли данная политика к трафику, который проходит по цепочке iptabels FORWARD. Например, трафик, направленный к pod’у. Так как pod является внешним ресурсом с точки зрения сети хоста (не считается локальным процессом), следовательно, трафик до него проходит по маршруту цепочек PREROUTING – FORWARD – POSTROUTING.
Если applyOnForward имеет значение false, GlobalNetworkPolicy к трафику для локальных workload (контейнер/pod/ВМ, которые имеют свои виртуальные интерфейсы) не применится. Она будет применяться только к трафику для локальных процессов и к трафику, исходящему от них. Пример приведу далее.
Если applyOnForward имеет значение true, GlobalNetworkPolicy также применяется к перенаправленному (forwarded) трафику, такому как:
* Трафик, который поступает через HostEndpoint и перенаправляется в локальные workload.
* Трафик из локальных workload, который перенаправляется черезHostEndpoint.
* Трафик, который поступает черезHostEndpointи пересылается на другой HostEndpoint.
По умолчанию applyOnForward имеет значение false. Для политик, использующих опции doNotTrack и preDNAT, для свойства applyOnForward должно быть установлено значение true, поскольку эти политики применяются ко всему трафику, проходящему через FORWARD.
По умолчанию пересылаемый трафик (FORWARD)разрешен, если к пункту его назначения или направлению не применены какие-либо политики. Иначе говоря: если у вас настроен HostEndpoint, но нет политик с параметром applyOnForward: true для этого HostEndpoint или направления трафика, то пересылаемый трафик будет разрешен. Если существуют политики applyOnForward:true, в которых упоминаются селекторы HostEndpoint или это направление, но никакие правила в политиках не разрешают трафик, трафик отклоняется.
Пример: вы создаете GlobalNetworkPolicy, разрешающую исходящий трафик по протоколу ICMP для данного HostEndpoint с applyOnForward:false. В этом случае, если вы попытаетесь сделать ping 8.8.8.8 из pod’а на данном хосте, вам это удастся, так как forwarded трафик по умолчанию разрешен, хотя GNP применилась только к локальному трафику. Но. Если вы создадите ещё одну политику для этого HostEndpoint, но уже с applyOnForward:true, например, вы разрешаете весь TCP-трафик, то ping 8.8.8.8 изнутри пода не пройдет. Потому что уже существует политика с applyOnForward:true для этого типа трафика (этого HostEndpoint) и этот тип трафика явно не разрешен.
preDNAT
Данная опция отвечает за то, применяется ли политика до прохождения через DNAT (Destination Network Address Translation) или нет.
Это может пригодится, например, если вы используйте NodePorts и хотите контролировать трафик, который приходит извне на эти порты. После того, как трафик извне приходит на NodePort его распределение по факту происходит при помощи DNAT (kube-proxy). Следовательно, для того, чтобы применить политику к трафику, приходящему на NodePort, preDNAT должен быть установлен в true.
Ключевые особенности для таких политик следующие:
* Политики с опцией preDNAT могут иметь правила только для входящего трафика, но не исходящего.
* Политика применяется для всего трафика, проходящего через host endpoint, не только к процессам на хосте, но и к локальным workload (pod/VM/container).
* По умолчанию весь preDNAT трафик разрешен. То есть если существует HostEndpoint, но для него нет preDNAT политик, для него не действует правило “отбрасывать все по умолчанию”.
#лонгрид
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6
doNotTrack
Опция doNotTrack позволяет отключить отслеживание (conntrack) трафика, который попадает под данную политику, причем именно для локальных процессов хоста (не pod / VM / container).
conntrack — это опция ядра из сетевого стека Linux, которая помогает ему отслеживать сетевые потоки, чтобы была возможность обрабатывать пакеты из одного потока одинаково, на основании правила обработки выбранного для первого пакета из потока.
Но эта опция также накладывает ограничение на количество соединений, по достижению которого соединения отклоняются. Хотя в обычных условиях практически нереально достигнуть его исчерпания, есть несколько сценариев при которых возникнет необходимость в отключении этой опции:
* Если вам необходимо одновременно обрабатывать активных соединений больше, чем установленное значение в таблице conntrack (больше 128k по умолчанию).
* Если вам необходимо обрабатывать большое количество коротких соединений в секунду. Так как даже после завершения соединения conntrack продолжает отслеживать соединение в течении некоторого времени (по умолчанию 120с). Например, если в таблице conntrack установлено значение на 128к доступных подключений, и вы пытаетесь обрабатывать 1100 соединений в секунду, лимит будет исчерпан, даже если эти подключения очень кратковременные (128k / 120s = 1092 connections/s ).
Такие цифры вам могут пригодиться, например, если Вы используйте memcached, который функционирует непосредственно на хосте и при этом принимает большое количество частых и кратковременных соединений. Если вы используете Calico для защиты хоста этого сервера, вы можете избежать этой проблемы, определив политику, которая разрешает доступ к портам сервера и помеченную как doNotTrack.
Так как для активации doNotTrack политика должна примениться в самом начале цепочек OUTPUT и PREROUTING, она действует раньше других (тех, для которых doNotTrack:false), вне зависимости от её order. То есть одна политика без doNotTrack может иметьorder:1, а другая с doNotTrack может иметь order:1000, но раньше подействует политика с doNotTrack. Порядок оrder соблюдается только между политиками данного типа.
*️⃣ 5/6: продолжение следует :)
#лонгрид
Опция doNotTrack позволяет отключить отслеживание (conntrack) трафика, который попадает под данную политику, причем именно для локальных процессов хоста (не pod / VM / container).
conntrack — это опция ядра из сетевого стека Linux, которая помогает ему отслеживать сетевые потоки, чтобы была возможность обрабатывать пакеты из одного потока одинаково, на основании правила обработки выбранного для первого пакета из потока.
Но эта опция также накладывает ограничение на количество соединений, по достижению которого соединения отклоняются. Хотя в обычных условиях практически нереально достигнуть его исчерпания, есть несколько сценариев при которых возникнет необходимость в отключении этой опции:
* Если вам необходимо одновременно обрабатывать активных соединений больше, чем установленное значение в таблице conntrack (больше 128k по умолчанию).
* Если вам необходимо обрабатывать большое количество коротких соединений в секунду. Так как даже после завершения соединения conntrack продолжает отслеживать соединение в течении некоторого времени (по умолчанию 120с). Например, если в таблице conntrack установлено значение на 128к доступных подключений, и вы пытаетесь обрабатывать 1100 соединений в секунду, лимит будет исчерпан, даже если эти подключения очень кратковременные (128k / 120s = 1092 connections/s ).
Такие цифры вам могут пригодиться, например, если Вы используйте memcached, который функционирует непосредственно на хосте и при этом принимает большое количество частых и кратковременных соединений. Если вы используете Calico для защиты хоста этого сервера, вы можете избежать этой проблемы, определив политику, которая разрешает доступ к портам сервера и помеченную как doNotTrack.
Так как для активации doNotTrack политика должна примениться в самом начале цепочек OUTPUT и PREROUTING, она действует раньше других (тех, для которых doNotTrack:false), вне зависимости от её order. То есть одна политика без doNotTrack может иметьorder:1, а другая с doNotTrack может иметь order:1000, но раньше подействует политика с doNotTrack. Порядок оrder соблюдается только между политиками данного типа.
#лонгрид
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
6/6: Заключение 🎉
Таким образом, мы с вами получили представление о том, как реализовать при помощи сетевых политик Calico нужные вам разграничения трафика для Kubernetes-кластера и какие опции политик при этом использовать.
Полезные материалы по теме:
⚙️ Пояснение концепции от Calico Zero Trust Networking
⚙️ Список failsafe rules Calico
⚙️ Примеры работы с политиками Calico с примерами
⚙️ Понимание применения работы сетевых политик Calico
⚙️ Oб отключении conntrack
Всем DevOps! 🖖
#лонгрид
Таким образом, мы с вами получили представление о том, как реализовать при помощи сетевых политик Calico нужные вам разграничения трафика для Kubernetes-кластера и какие опции политик при этом использовать.
Полезные материалы по теме:
⚙️ Пояснение концепции от Calico Zero Trust Networking
⚙️ Список failsafe rules Calico
⚙️ Примеры работы с политиками Calico с примерами
⚙️ Понимание применения работы сетевых политик Calico
⚙️ Oб отключении conntrack
Всем DevOps! 🖖
#лонгрид
🔥10👍3🎉2
Собрали вчерашние посты в одну подборку — удобнее сохранять :)
Управление трафиком в Kubernetes-кластере с Calico
⚙️ Часть 1: что такое Calico, в чем его преимущества, что такое Zero Trust Networking: какие принципы, на что влияет
⚙️ Часть 2: из чего состоит Calico, Felix, плагин для оркестратора, etcd, BGP клиент (BIRD), BGP повторитель для правил маршрутов (BIRD), Network Policy
⚙️ Часть 3: Host Endpoint, Global Network Policy
⚙️ Часть 4: опции applyOnForward, preDNAT
⚙️ Часть 5: doNotTrack
⚙️ Часть 6: заключение и полезные материалы
#лонгрид #open_source
Управление трафиком в Kubernetes-кластере с Calico
⚙️ Часть 1: что такое Calico, в чем его преимущества, что такое Zero Trust Networking: какие принципы, на что влияет
⚙️ Часть 2: из чего состоит Calico, Felix, плагин для оркестратора, etcd, BGP клиент (BIRD), BGP повторитель для правил маршрутов (BIRD), Network Policy
⚙️ Часть 3: Host Endpoint, Global Network Policy
⚙️ Часть 4: опции applyOnForward, preDNAT
⚙️ Часть 5: doNotTrack
⚙️ Часть 6: заключение и полезные материалы
#лонгрид #open_source
👍17🔥3👨💻1👾1
У вас есть Agile и нет DevOps? У вас нет Agile 🤷♂️
Многие компании, разрабатывающие свои digital-продукты, уверены, что работают по Agile. Станислав Тибекин, CVO компании Nixys, рассказал, почему сегодня невозможно существование Agile без DevOps.
➡️ Приятного чтения!
#статья_Nixys
Многие компании, разрабатывающие свои digital-продукты, уверены, что работают по Agile. Станислав Тибекин, CVO компании Nixys, рассказал, почему сегодня невозможно существование Agile без DevOps.
➡️ Приятного чтения!
#статья_Nixys
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍5
Новый выпуск о событиях в облачной индустрии — Monthly Cloud News June
Developer Advocate Yandex Cloud Антон Черноусов и архитектор Yandex Cloud Павел Селиванов вместе с приглашенным экспертом обсудят:
• Kuberconf'23;
• исследование состояния DevOps 2023;
• тренды в развитии Kubernetes®;
• Argo CD;
• общие тренды внедрения практик DevOps.
Смотрите выпуск на YouTube-канале Yandex Cloud.
Developer Advocate Yandex Cloud Антон Черноусов и архитектор Yandex Cloud Павел Селиванов вместе с приглашенным экспертом обсудят:
• Kuberconf'23;
• исследование состояния DevOps 2023;
• тренды в развитии Kubernetes®;
• Argo CD;
• общие тренды внедрения практик DevOps.
Смотрите выпуск на YouTube-канале Yandex Cloud.
👍4🔥2
Сегодня последняя пятница июля, а значит — С ДНЕМ СИСТЕМНОГО АДМИНИСТРАТОРА ВСЕХ ПРИЧАСТНЫХ! 🥳
В честь праздника мы сделали подборку интересных статей с Хабра про системное администрирование!
Для начинающих:
▪️«Как стать системным администратором — пособие для начинающих» (часть 1, часть 2) — статьи для начинающих системных администраторов, помощников системных администраторов и т.д. Опытным администраторам будет если и интересно, то бесполезно.
▪️Статья «Системное администрирование. Начало» — мануал по организационным вопросам, связанным с системным администрированием. С чего начать, если вы только устроились на работу системным администратором.
Развлекательное:
▪️Статья «Ping из Антарктиды. Пост настоящего админа: с котиками и пингвинами» — автор работает обычным сисадмином в необычном месте: на антарктической станции. Рассказывает, чем такая работа отличается от обычной работы сисадмина, что обычно делают, как держат связь со всем остальным миром.
▪️Статья «Я ненавижу компьютеры: исповедь сисадмина» — Нет, серьезно, я их ненавижу. Они — это ломающиеся, непонятные штуки — мешанина глюков, железа и ограничивающего свободу ПО.
▪️Статья «Маленький ноутбук для системного администратора» — автор задумался о том, каким бы получился ноутбук, если бы его разрабатывали, думая не о маркетинге, а о потребностях реальных пользователей. Например, системных администраторов.
▪️Статья «Как самому за один вечер собрать минимальную ОС Linux из исходного кода» — как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере. Эта ОС не позволит использовать все возможности вашего компьютера, но будет иметь главное — интерфейс командной строки.
Полезное:
▪️Туториал «Как отправлять и обрабатывать графические уведомления на bash» — как рисовать красивые графические уведомления и взаимодействовать с ними из скриптов bash. Демонстрация будет осуществляться на вполне реальной задаче — необходимо уведомить пользователя о скором истечении пароля.
Всем отличной пятницы и крутых выходных 🔥
#статьи #Хабр
В честь праздника мы сделали подборку интересных статей с Хабра про системное администрирование!
Для начинающих:
▪️«Как стать системным администратором — пособие для начинающих» (часть 1, часть 2) — статьи для начинающих системных администраторов, помощников системных администраторов и т.д. Опытным администраторам будет если и интересно, то бесполезно.
▪️Статья «Системное администрирование. Начало» — мануал по организационным вопросам, связанным с системным администрированием. С чего начать, если вы только устроились на работу системным администратором.
Развлекательное:
▪️Статья «Ping из Антарктиды. Пост настоящего админа: с котиками и пингвинами» — автор работает обычным сисадмином в необычном месте: на антарктической станции. Рассказывает, чем такая работа отличается от обычной работы сисадмина, что обычно делают, как держат связь со всем остальным миром.
▪️Статья «Я ненавижу компьютеры: исповедь сисадмина» — Нет, серьезно, я их ненавижу. Они — это ломающиеся, непонятные штуки — мешанина глюков, железа и ограничивающего свободу ПО.
▪️Статья «Маленький ноутбук для системного администратора» — автор задумался о том, каким бы получился ноутбук, если бы его разрабатывали, думая не о маркетинге, а о потребностях реальных пользователей. Например, системных администраторов.
▪️Статья «Как самому за один вечер собрать минимальную ОС Linux из исходного кода» — как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере. Эта ОС не позволит использовать все возможности вашего компьютера, но будет иметь главное — интерфейс командной строки.
Полезное:
▪️Туториал «Как отправлять и обрабатывать графические уведомления на bash» — как рисовать красивые графические уведомления и взаимодействовать с ними из скриптов bash. Демонстрация будет осуществляться на вполне реальной задаче — необходимо уведомить пользователя о скором истечении пароля.
Всем отличной пятницы и крутых выходных 🔥
#статьи #Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🎉8❤2👍2
Всем DevOps! 🖖
После публикации серии постов «Управление трафиком в Kubernetes-кластере с Calico» просили рассказать и про Cilium — Open Source-проект, который обеспечивает сетевое взаимодействие, безопасность и доступность для облачных сред, таких как Kubernetes и другие оркестраторы.
Но неожиданно (и очень кстати) вышел эпизод подкаста linkmeup про Cilium!
В нем говорится:
- Зачем и почему Cilium
- Про первые шаги
- Как работать с Cilium без kube-proxy и минимальными требованиями к ядру
- Особенности маршрутизации и балансировки
- Неочевидные возможности и планы на светлое будущее
Рекомендуем!
Но в связи с этим вопрос: нужна ли серия постов про Cilium или достаточно этого подкаста? Опрос ниже ⬇️
Другие подкасты можно найти по тегу #подкаст
После публикации серии постов «Управление трафиком в Kubernetes-кластере с Calico» просили рассказать и про Cilium — Open Source-проект, который обеспечивает сетевое взаимодействие, безопасность и доступность для облачных сред, таких как Kubernetes и другие оркестраторы.
Но неожиданно (и очень кстати) вышел эпизод подкаста linkmeup про Cilium!
В нем говорится:
- Зачем и почему Cilium
- Про первые шаги
- Как работать с Cilium без kube-proxy и минимальными требованиями к ядру
- Особенности маршрутизации и балансировки
- Неочевидные возможности и планы на светлое будущее
Рекомендуем!
Но в связи с этим вопрос: нужна ли серия постов про Cilium или достаточно этого подкаста? Опрос ниже ⬇️
Другие подкасты можно найти по тегу #подкаст
👍7🔥6
Нужна серия постов про Cilium?
Anonymous Poll
79%
Да, нужна, буду читать
4%
Нет, не нужна, хватит и подкаста
17%
Как хотите: будут посты - буду читать, не будет - не расстроюсь
Forwarded from CORTEL
Несмотря на масштабы, гиганты рынка, такие как Facebook и Google, выпускают по несколько релизов в день
Чтобы достичь таких результатов без потери качества, компании обращаются к двухскоростному ИТ - подходу от Gartner.
Концепция предполагает одновременное управления двумя режимами работы:
– Traditional IT ориентирован на снижение рисков и безопасность.
– Agile IT — на гибкость.
Подробнее о том:
- рассказали в новом материале
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤩4❤1
Всем DevOps! 🖖
Снова скопилось некоторое количество классных статей — с радостью делимся подборкой!
⚙️ «All right then, keep your secrets in Git with SOPS». Из этой статьи вы узнаете, как объединить Helm, Helmfile и SOPS для безопасного хранения ваших секретов в Git.
⚙️ Серия из трех частей про Platform Engineering. В первой части говорится почему вообще Platform Engineering приобрел такое большое значение. Во второй части — что такое этот ваш Platform Engineering и какие цели могут быть у команды платформенных инженеров. В третьей — когда нужна команда платформы и как создать IDP (внутреннюю платформу разработчиков).
⚙️ В Terraform 1.5 появился config-driven import (новость можно найти здесь). Мы уже рекомендовали статью про это новшество, но все-таки порекомендуем еще одну: «Automating alert creation with Terraform config-driven import in Google Cloud». В примере используется Google Cloud, но теория (со схемами :) будет полезна всем.
⚙️ Статья про tefsec — open source инструмент статического анализа, который сканирует код Terraform, выявляет и выделяет пробелы в аспекте безопасности с точки зрения инфраструктуры и IaC. Подробно рассказано про всю работу: от установки до использования.
P.S. Для чтения большей части статей требуется VPN, а для некоторых (на Medium) — может быть полезно расширение Bypass Paywalls 😎
#статьи
Снова скопилось некоторое количество классных статей — с радостью делимся подборкой!
⚙️ «All right then, keep your secrets in Git with SOPS». Из этой статьи вы узнаете, как объединить Helm, Helmfile и SOPS для безопасного хранения ваших секретов в Git.
⚙️ Серия из трех частей про Platform Engineering. В первой части говорится почему вообще Platform Engineering приобрел такое большое значение. Во второй части — что такое этот ваш Platform Engineering и какие цели могут быть у команды платформенных инженеров. В третьей — когда нужна команда платформы и как создать IDP (внутреннюю платформу разработчиков).
⚙️ В Terraform 1.5 появился config-driven import (новость можно найти здесь). Мы уже рекомендовали статью про это новшество, но все-таки порекомендуем еще одну: «Automating alert creation with Terraform config-driven import in Google Cloud». В примере используется Google Cloud, но теория (со схемами :) будет полезна всем.
⚙️ Статья про tefsec — open source инструмент статического анализа, который сканирует код Terraform, выявляет и выделяет пробелы в аспекте безопасности с точки зрения инфраструктуры и IaC. Подробно рассказано про всю работу: от установки до использования.
P.S. Для чтения большей части статей требуется VPN, а для некоторых (на Medium) — может быть полезно расширение Bypass Paywalls 😎
#статьи
🔥9👍3
Как DevOps помог исправить 30 точек операционной неэффективности в промышленности
Внедрение DevOps в промышленности началось не вчера, активное применение практик тоже, но говорят об этом по-прежнему немного. Компания Nixys рассказала, как DevOps помог улучшить работу горнодобывающей компании.
➡️ Приятного чтения!
#статья_Nixys
Внедрение DevOps в промышленности началось не вчера, активное применение практик тоже, но говорят об этом по-прежнему немного. Компания Nixys рассказала, как DevOps помог улучшить работу горнодобывающей компании.
➡️ Приятного чтения!
#статья_Nixys
🔥11👍3😱1
Docker подробно рассказали про атрибут
🅰️ Командная строка docker поддерживает множество флагов для точной настройки контейнера и трудно запомнить их все при репликации среды. Сделать это еще сложнее, когда приложение представляет собой не отдельный контейнер, а комбинацию многих контейнеров с различными отношениями зависимостей. Именно поэтому Docker Compose быстро стал популярным инструментом
Эта проблема не нова и обсуждалась в 2014 году, когда Docker Compose был совсем новым проектом. Теперь мы внедрили возможность “compose compose files” — не прошло и 10 лет!🅱️
📌 Спецификация Compose, раздел про
include — он уже сейчас доступен в Docker Compose v2.20.0 и появится в грядущем релизе Docker Desktop 4.22.
Тем не менее, проблема сохраняется для больших приложений, использующих десятки, а может быть, и сотни контейнеров, с распределением прав собственности между несколькими командами. При использовании монорепозиториев команды часто имеют свой собственный “локальный” Docker Compose file для запуска подмножества приложения, но тогда им нужно полагаться на то, что другие команды предоставят справочный файл Compose, который определяет ожидаемый способ запуска их собственного подмножества.Эта проблема не нова и обсуждалась в 2014 году, когда Docker Compose был совсем новым проектом. Теперь мы внедрили возможность “compose compose files” — не прошло и 10 лет!
include
#новостиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
💥 Коллеги из KazDevOps разыгрывают бесплатную консультацию по DevOps-вопросам с топами компании Core 24/7.
👉 3 победителя смогут задать вопросы техлиду и узнать, почему то или иное решение не работает, как настроить процесс эффективнее и от чего стоит отказаться.
Условия конкурса:
🤝 Делитесь с коллегами и ожидайте звонка
#devops #devsecops #cloud #kubernetes #docker #terraform #giltab
@DevOpsKaz
👉 3 победителя смогут задать вопросы техлиду и узнать, почему то или иное решение не работает, как настроить процесс эффективнее и от чего стоит отказаться.
Условия конкурса:
• Быть подписчиком KazDevOps• Рассказать о своей ситуации вкратце под аналогичным постом в канале KazDevOps — 1-2 предложения о проблеме, задаче или амбициях, связанных с DevOps• Дождаться розыгрыша — победителей объявят 10 августа: проверят условия выше и рандомом определят 3 человек, которые представляют свой бизнес или работают в компании🤝 Делитесь с коллегами и ожидайте звонка
#devops #devsecops #cloud #kubernetes #docker #terraform #giltab
@DevOpsKaz
👍4🔥3
Всем DevOps! 🖖
Хочется порекомендовать отличный блог про инфраструктуру, платформы, Linux, Open Source, DevOps, Kubernetes, контейнеризацию и облака. А еще автор пишет про Python, Go и shell.
Начать знакомство можно, например, со статьи «Kubernetes Taints, Tolerations, and Understanding the PreferNoSchedule Effect» — в ней говорится про эффект PreferNoSchedule в Kubernetes и его отличия от NoExecute и NoSchedule. Есть классная схема про принцип работы PreferNoSchedule.
Еще автор иногда пишет на смежные темы, например, заметка «12 Tips for Effective Technical Blogging». Вдруг вы ведете блог или просто пишете на Хабр? Будет полезно😎
P.S. Кстати про технические блоги и Хабр! Может, здесь есть авторы? Расскажите о своих блогах в комментариях (ТГ, Хабр, что угодно) 🙃 Почему решили вести блог? А если вы не автор, можете рассказать — что вообще думаете о технических блогах? Почему не хотите писать сами?
Ну и, конечно, делитесь — кого читаете?
#блог
Хочется порекомендовать отличный блог про инфраструктуру, платформы, Linux, Open Source, DevOps, Kubernetes, контейнеризацию и облака. А еще автор пишет про Python, Go и shell.
Начать знакомство можно, например, со статьи «Kubernetes Taints, Tolerations, and Understanding the PreferNoSchedule Effect» — в ней говорится про эффект PreferNoSchedule в Kubernetes и его отличия от NoExecute и NoSchedule. Есть классная схема про принцип работы PreferNoSchedule.
Еще автор иногда пишет на смежные темы, например, заметка «12 Tips for Effective Technical Blogging». Вдруг вы ведете блог или просто пишете на Хабр? Будет полезно
P.S. Кстати про технические блоги и Хабр! Может, здесь есть авторы? Расскажите о своих блогах в комментариях (ТГ, Хабр, что угодно) 🙃 Почему решили вести блог? А если вы не автор, можете рассказать — что вообще думаете о технических блогах? Почему не хотите писать сами?
Ну и, конечно, делитесь — кого читаете?
#блог
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥3
Открытое исследование «Защита персональных данных 2023» 🔒
За 2022-2023 год ужесточились условия и регулирование по 152-ФЗ.
На форумах мы слышим как всё меняется, но лозунги со сцен конференций и обновление ФЗ — это одна сторона медали, а реальная практика и опыт сообщества — совсем другая.
Компания Cortel проводит открытое исследование «Защита персональных данных 2023» чтобы выяснить:
• Как эксперты на местах смотрят на ситуацию;
• Как в действительности обстоят дела с ПДн и их защитой на практике.
Пожалуйста поделитесь своим мнением и пройдите короткий опрос на 3 минуты по этой ссылке, вы очень поможете.
🛡 Результатами исследования поделятся осенью в этом канале.
За 2022-2023 год ужесточились условия и регулирование по 152-ФЗ.
На форумах мы слышим как всё меняется, но лозунги со сцен конференций и обновление ФЗ — это одна сторона медали, а реальная практика и опыт сообщества — совсем другая.
Компания Cortel проводит открытое исследование «Защита персональных данных 2023» чтобы выяснить:
• Как эксперты на местах смотрят на ситуацию;
• Как в действительности обстоят дела с ПДн и их защитой на практике.
Пожалуйста поделитесь своим мнением и пройдите короткий опрос на 3 минуты по этой ссылке, вы очень поможете.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Всем DevOps! 🖖
Некоторое время назад мы рассказывали про отличную книгу «Ansible for DevOps». А еще у автора этой книги есть много полезных репозиториев с ролями Ansible. Собрали некоторые из них, но рекомендуем посмотреть GitHub автора целиком.
❓Роль Ansible — это набор файлов, задач, шаблонов, переменных и обработчиков, которые вместе служат определенной цели, например, для настройки службы. Роли позволяют легко повторно использовать код и делиться решениями Ansible с другими пользователями, что делает работу с большими средами более управляемой.
▪️Ansible-role-kubernetes — роль Ansible, которая устанавливает Kubernetes в Linux.
▪️Ansible-role-docker — роль Ansible, которая устанавливает Docker в Linux.
▪️Ansible-role-nginx — неофициальная роль для Nginx (есть официальная). Устанавливает Nginx на серверы RedHat/CentOS, Debian/Ubuntu, Archlinux, FreeBSD или OpenBSD.
▪️Ansible-role-gitlab — устанавливает GitLab, внешний интерфейс для Git на основе Ruby, в любой Linux-системе RedHat/CentOS или Debian/Ubuntu.
▪️Ansible-role-postgresql — устанавливает и настраивает сервер PostgreSQL на серверах RHEL/CentOS или Debian/Ubuntu.
▪️Ansible-role-mysql — устанавливает и настраивает сервер MySQL или MariaDB на серверах RHEL/CentOS или Debian/Ubuntu.
▪️Ansible-role-jenkins — устанавливает Jenkins CI на серверы RHEL/CentOS и Debian/Ubuntu.
▪️Ansible-role-rabbitmq — устанавливает RabbitMQ в Linux.
▪️Ansible-role-security — выполняет базовую настройку безопасности в Linux-системах на основе RedHat и Debian.
#open_source
Некоторое время назад мы рассказывали про отличную книгу «Ansible for DevOps». А еще у автора этой книги есть много полезных репозиториев с ролями Ansible. Собрали некоторые из них, но рекомендуем посмотреть GitHub автора целиком.
❓Роль Ansible — это набор файлов, задач, шаблонов, переменных и обработчиков, которые вместе служат определенной цели, например, для настройки службы. Роли позволяют легко повторно использовать код и делиться решениями Ansible с другими пользователями, что делает работу с большими средами более управляемой.
▪️Ansible-role-kubernetes — роль Ansible, которая устанавливает Kubernetes в Linux.
▪️Ansible-role-docker — роль Ansible, которая устанавливает Docker в Linux.
▪️Ansible-role-nginx — неофициальная роль для Nginx (есть официальная). Устанавливает Nginx на серверы RedHat/CentOS, Debian/Ubuntu, Archlinux, FreeBSD или OpenBSD.
▪️Ansible-role-gitlab — устанавливает GitLab, внешний интерфейс для Git на основе Ruby, в любой Linux-системе RedHat/CentOS или Debian/Ubuntu.
▪️Ansible-role-postgresql — устанавливает и настраивает сервер PostgreSQL на серверах RHEL/CentOS или Debian/Ubuntu.
▪️Ansible-role-mysql — устанавливает и настраивает сервер MySQL или MariaDB на серверах RHEL/CentOS или Debian/Ubuntu.
▪️Ansible-role-jenkins — устанавливает Jenkins CI на серверы RHEL/CentOS и Debian/Ubuntu.
▪️Ansible-role-rabbitmq — устанавливает RabbitMQ в Linux.
▪️Ansible-role-security — выполняет базовую настройку безопасности в Linux-системах на основе RedHat и Debian.
#open_source
🔥12👍4
17 минут чтива... Туториал кратенький так сказать
Keycloak — больно не будет (правда уровень сложности hard, но вы не обращайте внимания 🙃)
Алексей, DevOps-инженер компании Nixys, рассказал про проект, в рамках которого совершенствовали систему контроля доступа и показал, как реализовать единую точку авторизации через Keycloak.
➡️ Приятного чтения!
#статья_Nixys
Keycloak — больно не будет (правда уровень сложности hard, но вы не обращайте внимания 🙃)
Алексей, DevOps-инженер компании Nixys, рассказал про проект, в рамках которого совершенствовали систему контроля доступа и показал, как реализовать единую точку авторизации через Keycloak.
➡️ Приятного чтения!
#статья_Nixys
🔥23👍7👏3
Всем DevOps! 🖖
Думаем, вы видели новости про массовый сбой в работе VPN-протоколов OpenVPN и WireGuard.
В связи с этим хотим напомнить про хорошую серию статей на Хабре:
▪️Статья «Интернет-цензура и обход блокировок: не время расслабляться» — опыт других стран по части блокировок.
▪️Статья «Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все» — обзор самых передовых протоколов и технологий, которые позволяют делать передаваемый трафик не похожим вообще ни на один существующий стандартный протокол, либо наоборот, позволяют максимально достоверно маскироваться под безобидный HTTPS-трафик.
▪️Статья «Программы-клиенты для протоколов недетектируемого обхода блокировок сайтов: V2Ray/XRay, Clash, Sing-Box, и другие» — найти хороший клиент даже для тех же V2Ray/XRay в наше время не так-то просто. Большая часть того, что находится при поиске в интернете “в лоб” и даже в списках типа Awesome V2Ray — или уже неподдерживаемое, или довольно кривое, или не умеющее в актуальные версии и фичи, а самые жемчужины прячутся где-нибудь в глубинах Github’а и аппсторов.
▪️Статья «Обход блокировок: настройка сервера XRay для Shadowsocks-2022 и VLESS с XTLS-Vision, Websockets и фейковым веб-сайтом» — как настроить свой личный прокси‑сервер с современными протоколами для обхода блокировок. Настройка сервера на базе XRay с протоколами Shadowsocks-2022 и VLESS с транспортом XTLS‑Vision и фейковым веб‑сайтом.
▪️Статья «Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто» — XTLS-Reality: как настроить клиент и сервер для нее. Кроме того, что этот протокол еще более устойчив к выявлению, приятным фактом будет и то, что настройка сервера XRay для XTLS-Reality гораздо проще
▪️Статья «3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом» — установка и использование графической панели 3X-UI для сервера X-Ray с поддержкой всего того, что умеет X-Ray: Shadowsocks-2022, VLESS с XTLS и т.д.
#Хабр #статьи
Думаем, вы видели новости про массовый сбой в работе VPN-протоколов OpenVPN и WireGuard.
В связи с этим хотим напомнить про хорошую серию статей на Хабре:
▪️Статья «Интернет-цензура и обход блокировок: не время расслабляться» — опыт других стран по части блокировок.
▪️Статья «Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все» — обзор самых передовых протоколов и технологий, которые позволяют делать передаваемый трафик не похожим вообще ни на один существующий стандартный протокол, либо наоборот, позволяют максимально достоверно маскироваться под безобидный HTTPS-трафик.
▪️Статья «Программы-клиенты для протоколов недетектируемого обхода блокировок сайтов: V2Ray/XRay, Clash, Sing-Box, и другие» — найти хороший клиент даже для тех же V2Ray/XRay в наше время не так-то просто. Большая часть того, что находится при поиске в интернете “в лоб” и даже в списках типа Awesome V2Ray — или уже неподдерживаемое, или довольно кривое, или не умеющее в актуальные версии и фичи, а самые жемчужины прячутся где-нибудь в глубинах Github’а и аппсторов.
▪️Статья «Обход блокировок: настройка сервера XRay для Shadowsocks-2022 и VLESS с XTLS-Vision, Websockets и фейковым веб-сайтом» — как настроить свой личный прокси‑сервер с современными протоколами для обхода блокировок. Настройка сервера на базе XRay с протоколами Shadowsocks-2022 и VLESS с транспортом XTLS‑Vision и фейковым веб‑сайтом.
▪️Статья «Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто» — XTLS-Reality: как настроить клиент и сервер для нее. Кроме того, что этот протокол еще более устойчив к выявлению, приятным фактом будет и то, что настройка сервера XRay для XTLS-Reality гораздо проще
▪️Статья «3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом» — установка и использование графической панели 3X-UI для сервера X-Ray с поддержкой всего того, что умеет X-Ray: Shadowsocks-2022, VLESS с XTLS и т.д.
#Хабр #статьи
🔥14👍5
Все еще боитесь PostgreSQL? Считаете ее слишком сложной? 🤯
Популярность СУБД PostgreSQL в России растет с каждым днем, также как и востребованность специалистов по ней :)
Подписывайтесь на Postgres Guru и больше не бойтесь!
В канале вас ждут:
▪️ Основы PostgreSQL;
▪️ Методы повышения производительности;
▪️ Разбор ошибок и их решения;
▪️ Полезные SQL запросы и функции PostgreSQL;
▪️ Случаи из практики;
▪️ Новости из мира PostgreSQL
и немного юмора 😁
Подписывайтесь и становитесь востребованными специалистами по PostgreSQL!
Популярность СУБД PostgreSQL в России растет с каждым днем, также как и востребованность специалистов по ней :)
Подписывайтесь на Postgres Guru и больше не бойтесь!
В канале вас ждут:
▪️ Основы PostgreSQL;
▪️ Методы повышения производительности;
▪️ Разбор ошибок и их решения;
▪️ Полезные SQL запросы и функции PostgreSQL;
▪️ Случаи из практики;
▪️ Новости из мира PostgreSQL
и немного юмора 😁
Подписывайтесь и становитесь востребованными специалистами по PostgreSQL!
❤9👍5
Failover & Fallback
Похожие термины, но важно понимать различие :) То, что вы думаете, может не совпадать с тем, что вы говорите, то, что вы говорите, может не совпадать с тем, что слышится, а то, что слышится, может не совпадать с тем, что реализуется!
В небольшой серии (первая часть, вторая часть) подробно рассказывается про эти стратегии (очень наглядные схемы) и разницу между ними, описываются ситуации, в которых стоит отдать предпочтение тому или иному варианту.
❓Failover — переключение с основной системы на запасную, если первая вышла из строя или недоступна.
❓Fallback — возврат к предыдущему состоянию или конфигурации, если изменение или обновление вызвало проблемы.
#статьи
Похожие термины, но важно понимать различие :) То, что вы думаете, может не совпадать с тем, что вы говорите, то, что вы говорите, может не совпадать с тем, что слышится, а то, что слышится, может не совпадать с тем, что реализуется!
В небольшой серии (первая часть, вторая часть) подробно рассказывается про эти стратегии (очень наглядные схемы) и разницу между ними, описываются ситуации, в которых стоит отдать предпочтение тому или иному варианту.
❓Failover — переключение с основной системы на запасную, если первая вышла из строя или недоступна.
❓Fallback — возврат к предыдущему состоянию или конфигурации, если изменение или обновление вызвало проблемы.
#статьи
👍12🔥3