Comments 16
Почему Kubernetes протянет ещё 50 лет
Кликбейт.
Наивные измышления в духе "Конец истории" https://ru.m.wikipedia.org/wiki/Конец_истории_и_последний_человек
Автор, кажется, плохо знает, что такое ОС и как это работает.
На высоком уровне операционная система управляет ресурсами
ОС управляет ресурсами на низком уровне, в пространстве ядра. Высокий уровень в программировании - это юзерспейс.
И узлы на Линуксе в Кубернетес как раз потому, что это не ОС. Да, можно провести аналогию между Кубернетесом и ОС через процессы-поды, но нужно помнить, что это просто аналогия для лучшего понимания, а не концепция использования.
Я расстроилась. Надеялась, что наконец смогу скинуть другу-олдовому труЪ программисту статью, зачем нужен Кубернетес, но если даже я вижу, что тут ради красивости переврана работа ОС, он тем более к этому придерется - он много лет работает в 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
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-ы
Про 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
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-ы
Про 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),
уж 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 лет.:)
Комментировать лучше не здесь, а через Dissenter Browser Extension (без ограничений по дате регистрации или "возрасту" самой статьи, не нужна даже учётка на самом habr.com) а то фанатеющее от израильского Яндекса и FreeBSD-4.0 "украинское" секс-меньшинство ввело против меня цензуру и теперь я могу отвечать не чаще, чем раз в месяц, а скоро могу и вовсе потерять доступ к собственному переводу.
Свои влажные фантазии про меньшинства оставляйте при себе. Если вас заминусили и ограничили в комментариях, то соответственно лучше пишите статью. И кстати, вам уже написали, что лучше до написания статьи хоть чуть-чуть почитать книжки. Если пост на Хабре, то и комментарии тоже должны быть на Хабре и точка. В противном случае, делайте себе свой уютный бложек с преферансом и барышнями и обсуждайте там все, что душе угодно.
На высоком уровне операционная система управляет ресурсами — и точка. Более подробно, есть физические ресурсы, такие как ваш диск, графический процессор и память, и виртуальные ресурсы, такие как файлы и пользователи.
В современных операционных системах, уже как 100 лет все виртуальное. Например, есть китайский телефон на Android с двумя сим-картами. Думаете в телефоне установлено два радиомодуля? А вот и нет, радиомодуль один, и работает он в режиме виртуализации. Единственно, такой режим работы должны поддерживать драйвера. А звук как вы слушаете на компьютере? Звуковая карта то в ПК одна. А программ, одновременно воспроизводящих звук может быть несколько, не обращали на это внимание?
Просто прочтите это VxD и Виртуальные звуковые устройства.
Почему Kubernetes протянет ещё 50 лет