All streams
Search
Write a publication
Pull to refresh

Comments 16

Автор, кажется, плохо знает, что такое ОС и как это работает.

На высоком уровне операционная система управляет ресурсами

ОС управляет ресурсами на низком уровне, в пространстве ядра. Высокий уровень в программировании - это юзерспейс.

И узлы на Линуксе в Кубернетес как раз потому, что это не ОС. Да, можно провести аналогию между Кубернетесом и ОС через процессы-поды, но нужно помнить, что это просто аналогия для лучшего понимания, а не концепция использования.

Я расстроилась. Надеялась, что наконец смогу скинуть другу-олдовому труЪ программисту статью, зачем нужен Кубернетес, но если даже я вижу, что тут ради красивости переврана работа ОС, он тем более к этому придерется - он много лет работает в kernel space

Надеялась, что наконец смогу скинуть другу-олдовому труЪ программисту статью, зачем нужен Кубернетес, но если даже я вижу, что тут ради красивости переврана работа ОС, он тем более к этому придерется - он много лет работает в kernel space

Мысленно представляю картинку со стариком на ходулях. Везде сплошной обман:)

Я не автор (а переводчик), но попробую ответить:

Основные механизмы ядра Linux, которые предоставляют ресурсы системы (Линукса, хотя docker и kubernetes есть и под macOS, например) для использования в контейнерах, - это: CGroups (control groups) и NameSpaces

cgroups уже давно (в 2015) доросли до v2 (второй версии - Control Group v2) https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html

https://youtu.be/kPMZYoRxtmg

https://youtu.be/GznkuTXq8AQ

Five Things to Prepare for Cgroup v2 with Kubernetes blog.kintone.io/entry/2022/03/08/170206

Maximizing Resource Utilization with cgroup2 facebookmicrosites.github.io/cgroup2/docs/overview

В документации параметр systemd.unified_cgroup_hierarchy=1 упомянут.

Про namespace-ы

What Are Namespaces and cgroups, and How Do They Work? nginx.com/blog/what-are-namespaces-cgroups-how-do-they-work/

Про kernel.unprivileged_userns_clone

CAP_SYS_ADMIN и user.max_user_namespacesгуглите сами.

User Namespaces rootlesscontaine.rs/how-it-works/userns/

Отдельно стоит тема Rootless-контейнеров

cgroup v2 rootlesscontaine.rs/getting-started/common/cgroup2/

setuid На примере докера: docs.docker.com/engine/security/rootless/

и SELinux https://github.com/containers/container-selinux

А так, - я не знаю что может понадобиться от ядра. overlayи br_netfilter обычно есть везде или могут быть добавлены. От рантайма (podman/crio/containerd) мало что зависит, скорее у ядрёного инженера будет больше вопросов с сетью (Calico/Flannel/Canal=Calico+Flannel/Weave), уж net.bridge.bridge-nf-call-iptables=1

и аналогичная для IPv6 упомянуты во всех инструкциях.

Using sysctls in a Kubernetes Cluster kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/

Хоть вы и не автор, я все же порекомедую вам книгу Таненбаума: Операционные системы.

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

О боже, откуда вы берётесь такие?!

Последнее переиздание этой книги вышло в 2015 году.

Потом остаются FreeBSD в наследство и горы из баша с перлом, в которых пенсионеры сами не могут разобраться!

По Линуксу, возможно, когда-нибудь пригодится

THE LINUX PROGRAMMING INTERFACE. Copyright © 2010 by Michael Kerrisk,

но с точки зрения работы (и особенно зарплаты!) читать надо Kubernetes Patterns и смотреть прекрасный видеокурс от Слёрма

Уж поверь - разбираемся. Мы, пенсионеры, народ могучий )

И хоть скриптам нашим четверть века уже, весь мир на них работает. И альтернативы пока не имеет.

За свой, однако уже 24-летний опыт, перевидал уже кучу "убийц тезнологий" и "мэйнстримов".

И кто сейчас помнит про них?

Так что читай книги. В качестве фундаментального образования - желательно классику. Ибо, как было написано в первом моем учебнике по UNIX: "не пытайтесь изобретать. Unix старше вас. Наверняка подобные задачи решались и раньше"

На FreeBSD, кстати, прямо сегодня продается немало коммерческих даже решений.

ZFS - только недавно появился в Linux. Ha базе FreeNAS форков выпускают массу NAS уже много лет с поддержкой ZFS.

pfSense - до сих пор нет аналога для Linux. Vyos тоже использую, поэтому знаю с чем сравнить.

Я не автор (а переводчик), но попробую ответить:

Основные механизмы ядра Linux, которые предоставляют ресурсы системы (Линукса, хотя docker и kubernetes есть и под macOS, например) для использования в контейнерах, - это: CGroups (control groups) и NameSpaces

cgroups уже давно (в 2015) доросли до v2 (второй версии - Control Group v2) https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html

https://youtu.be/GznkuTXq8AQ

https://youtu.be/GznkuTXq8AQ

Five Things to Prepare for Cgroup v2 with Kubernetes blog.kintone.io/entry/2022/03/08/170206

Maximizing Resource Utilization with cgroup2 facebookmicrosites.github.io/cgroup2/docs/overview

В документации параметр systemd.unified_cgroup_hierarchy=1 упомянут.

Про namespace-ы

What Are Namespaces and cgroups, and How Do They Work? nginx.com/blog/what-are-namespaces-cgroups-how-do-they-work/

https://kubernetes.io/docs/tasks/admiRequests and Limits Constraints and Quotas for a Namespace kubernetes.io/docs/tasks/administer-cluster/manage-resources/nister-cluster/manage-resources/

Про kernel.unprivileged_userns_clone

CAP_SYS_ADMIN и user.max_user_namespacesгуглите сами.

User Namespaces rootlesscontaine.rs/how-it-works/userns/

Отдельно стоит тема Rootless-контейнеров

cgroup v2 rootlesscontaine.rs/getting-started/common/cgroup2/

setuid На примере докера: docs.docker.com/engine/security/rootless/

и SELinux https://github.com/containers/container-selinux

CONFIG_SECCOMP

https://kubernetes.io/docs/tutorials/security/seccomp/

https://docs.docker.com/engine/security/seccomp/

А так, - я не знаю что может понадобиться от ядра. overlayи br_netfilter обычно есть везде или могут быть добавлены. От рантайма (podman/crio/containerd) мало что зависит, скорее у ядрёного инженера будет больше вопросов с сетью (Calico/Flannel/Canal=Calico+Flannel/Weave),

Container Network Interface (CNI) plugins kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#network-plugin-requirements

уж net.bridge.bridge-nf-call-iptables=1

и аналогичная для IPv6 упомянуты во всех инструкциях.

Using sysctls in a Kubernetes Cluster kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/

Странная какая-то система, сначала нельзя отредактировать (время вышло), потом удалить старый комментарий (хотя на него никто ещё не ответил).

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

Автор работает менеджером (начальником), его зона ответственности - определять стратегию и перспективные направления развития компании в ИТ-области.

k8s и managed kubernetes в облаках (нидерландский Yandex, кипрский MCS/VK/MAILRU, "питерский" Selectel, Amazon EKS, DigitalOcean, Google GKE, OVH, Microsoft Azure AKS, Alibaba ACK) - это сейчас такой же mainstream для построения информационных (вычислительных) платформ , каким 20 лет назад был GNU/Linux и многочисленные проприетарные UNIX-ы (HPUX, AIX, SCO).

Ни у какого труЪшного/олдскульного погромиста/админа уже нет и не может быть выбора - использовать ему кубер кластеры или нет, этот "выбор" сегодня звучит как "получать нормальную зарплату или слёзы/насмешку, достойную юного эникейщика-подавана".

Нужно (безальтернативно) учить большой и сложный Кубернетис, постигать его, ... и глобокое знание ОС Linux будет в этом изучении отличным подспорьем, как 20 лет назад было подспорьем знание режимов ("защищённый", что там ещё было в i80286?) работы процессора, регистров процессора, машинных кодов, команд процессора, прерываний, ...

Например, я надеялся на смерть iptables и победу простеньких интерфейсов к nftables но не тут-то было!

Все ужасы iptables-лапши (сотен строк нагенерёных автоматически правил) накинулись на меня с новой силой!

Не являюсь разработчиком 1С. Но поставлю на то, что именно 1С ещё проживет 50 лет.:)

1ass проживёт и 150 лет - благодаря killer-feature - проводках задним числом.

Комментировать лучше не здесь, а через Dissenter Browser Extension (без ограничений по дате регистрации или "возрасту" самой статьи, не нужна даже учётка на самом habr.com) а то фанатеющее от израильского Яндекса и FreeBSD-4.0 "украинское" секс-меньшинство ввело против меня цензуру и теперь я могу отвечать не чаще, чем раз в месяц, а скоро могу и вовсе потерять доступ к собственному переводу.

Свои влажные фантазии про меньшинства оставляйте при себе. Если вас заминусили и ограничили в комментариях, то соответственно лучше пишите статью. И кстати, вам уже написали, что лучше до написания статьи хоть чуть-чуть почитать книжки. Если пост на Хабре, то и комментарии тоже должны быть на Хабре и точка. В противном случае, делайте себе свой уютный бложек с преферансом и барышнями и обсуждайте там все, что душе угодно.

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

В современных операционных системах, уже как 100 лет все виртуальное. Например, есть китайский телефон на Android с двумя сим-картами. Думаете в телефоне установлено два радиомодуля? А вот и нет, радиомодуль один, и работает он в режиме виртуализации. Единственно, такой режим работы должны поддерживать драйвера. А звук как вы слушаете на компьютере? Звуковая карта то в ПК одна. А программ, одновременно воспроизводящих звук может быть несколько, не обращали на это внимание?

Просто прочтите это VxD и Виртуальные звуковые устройства.

Sign up to leave a comment.

Articles