Почему у разных ресурсов Kubernetes разные значения apiVersion?
Kubernetes API организованы в группы (API groups)
Существует два типа API-групп:
🔹 Core-группа → Без названия группы, просто
🔹 Именованные группы → Например,
Например, можно задаться вопросом — почему
🔹 Такие ресурсы, как
🔹 Это базовые строительные блоки (primitive objects).
🔹 Поэтому они находятся в core-группе (
А почему, например,
🔹
🔹 Он появился позже как часть более продвинутой системы управления нагрузкой (вместе с
🔹 Поэтому он размещён в именованной группе —
Зачем вообще нужны API-группы?
- Kubernetes логически и модульно организует ресурсы.
- Такое разделение позволяет:
🔹 Версионировать функциональность независимо
🔹 Развивать контроллеры, не затрагивая стабильность core-части
🔹 Поддерживать обратную совместимость
🔹 Core-ресурсы стабильны и зрелы (v1)
- Новые фичи проходят стадии:
🔹 v1alpha1 (ранний этап)
🔹 v1beta1 (предварительный релиз)
🔹 v1 (стабильный релиз)
Примеры:
🔹 batch/v1 → CronJob
🔹 autoscaling/v2 → HPA
Надеюсь, теперь стало понятнее, зачем Kubernetes использует разные API-группы для разных типов ресурсов
👉 DevOps Portal
Kubernetes API организованы в группы (API groups)
Существует два типа API-групп:
apiVersion: v1apps, batch, networking.k8s.io и др.Например, можно задаться вопросом — почему
Service относится к core API?Service, Pod, Namespace, Secret и т.п., были частью оригинальной спецификации Kubernetes.apiVersion: v1).А почему, например,
ReplicaSet — в API-группе apps?ReplicaSet — это контроллер, а не примитивный объект.Deployment, StatefulSet и др.).apps.Зачем вообще нужны API-группы?
- Kubernetes логически и модульно организует ресурсы.
- Такое разделение позволяет:
- Новые фичи проходят стадии:
Примеры:
Надеюсь, теперь стало понятнее, зачем Kubernetes использует разные API-группы для разных типов ресурсов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤6
Быстрый совет по Linux
Устанавливай значение по умолчанию, если переменная не задана или пуста, вот так:
Если переменная
👉 DevOps Portal
Устанавливай значение по умолчанию, если переменная не задана или пуста, вот так:
echo "Username: ${USERNAME:-Guest}"Если переменная
USERNAME не определена, будет выведено Guest.Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤5
Введение в безопасность Docker
Прежде чем пытаться защитить систему, важно понять, как она устроена. Ознакомьтесь со статьей Рори МакКьюна, чтобы узнать:
🔹 Основные компоненты Docker
🔹 Поверхность атаки Docker
🔹 Практические советы и приёмы по обеспечению безопасности
https://labs.iximiuz.com/tutorials/docker-security-introduction-a859718d
👉 DevOps Portal
Прежде чем пытаться защитить систему, важно понять, как она устроена. Ознакомьтесь со статьей Рори МакКьюна, чтобы узнать:
https://labs.iximiuz.com/tutorials/docker-security-introduction-a859718d
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2
Быстрый совет по Linux
Используй эту команду, чтобы получить пароль от текущей Wi‑Fi сети:
👉 DevOps Portal
Используй эту команду, чтобы получить пароль от текущей Wi‑Fi сети:
nmcli device wifi show-password
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍9❤6
Please open Telegram to view this post
VIEW IN TELEGRAM
😁48❤4👍1🥱1
Быстрый совет по Linux на сегодня
Найти все пустые файлы в текущей директории и её поддиректориях:
Как это работает:
🔹
🔹
🔹
🔹
👉 DevOps Portal
Найти все пустые файлы в текущей директории и её поддиректориях:
$ find . -type f -empty
Как это работает:
find — утилита для поиска файлов и директорий.. — ищем в текущей директории.-type f — ограничиваем поиск только файлами (директории игнорируются).-empty — фильтруем только пустые файлы (размер 0 байт).Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤13
В LinkedIn тестируют кластеры Kubernetes, выходящие за рамки официально поддерживаемого лимита в 5000+ нод, и обнаружили, что List-запросы к API становятся узким местом, негативно влияя на стабильность кластера.
В связи с этим Ahmet Alp Balkan опубликовал подробный разбор, почему это происходит и какие есть способы решения.
С оригинальной статьей можно ознакомиться здесь:
https://ahmet.im/blog/kubernetes-list-performance/
👉 DevOps Portal
В связи с этим Ahmet Alp Balkan опубликовал подробный разбор, почему это происходит и какие есть способы решения.
С оригинальной статьей можно ознакомиться здесь:
https://ahmet.im/blog/kubernetes-list-performance/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
Удобный конструктор Linux-песочниц
Соберите до 5 виртуалок на Ubuntu, Debian, Alpine и других дистрибутивах — с предустановленным Docker и прочим софтом при необходимости. Сохраните шаблон и поднимите готовую песочницу — всё это меньше чем за минуту.
Заценить можно здесь: https://labs.iximiuz.com/playgrounds/flexbox
👉 DevOps Portal
Соберите до 5 виртуалок на Ubuntu, Debian, Alpine и других дистрибутивах — с предустановленным Docker и прочим софтом при необходимости. Сохраните шаблон и поднимите готовую песочницу — всё это меньше чем за минуту.
Заценить можно здесь: https://labs.iximiuz.com/playgrounds/flexbox
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍5
Быстрый лайфхак для десктопного Linux
В файловом менеджере GNOME есть папка
Если положить туда текстовые файлы, документы Word или презентации PowerPoint, они появятся в контекстном меню при правом клике — как шаблоны для создания новых документов
👉 DevOps Portal
В файловом менеджере GNOME есть папка
TemplatesЕсли положить туда текстовые файлы, документы Word или презентации PowerPoint, они появятся в контекстном меню при правом клике — как шаблоны для создания новых документов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤4🥱2
Основные концепции Docker на одной схеме
Если ты только начинаешь разбираться с контейнерами — вот шпаргалка, в которой собраны ключевые понятия Docker.
Забирайте в закладки✌️
👉 DevOps Portal
Если ты только начинаешь разбираться с контейнерами — вот шпаргалка, в которой собраны ключевые понятия Docker.
Забирайте в закладки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤10
Введение в контрольные группы (cgroups) в Linux
Под капотом такие инструменты, как Docker, Kubernetes, systemd и многие другие, используют cgroups для ограничения и учёта использования системных ресурсов — CPU, оперативной памяти и ввода-вывода.
Изучите, как работать с cgroup v2, в этом практическом руководстве:
https://labs.iximiuz.com/tutorials/controlling-process-resources-with-cgroups
👉 DevOps Portal
Под капотом такие инструменты, как Docker, Kubernetes, systemd и многие другие, используют cgroups для ограничения и учёта использования системных ресурсов — CPU, оперативной памяти и ввода-вывода.
Изучите, как работать с cgroup v2, в этом практическом руководстве:
https://labs.iximiuz.com/tutorials/controlling-process-resources-with-cgroups
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍5
Руководство по сетям в Kubernetes
Наткнулся на ресурс, где собран обзор различных сетевых компонентов Kubernetes с акцентом на то, как именно они реализуют необходимую функциональность.
Что есть:
🔹 Network model
🔹 CNI
🔹 Services, Ingress/Egress
🔹 Network Policies
🔹 DNS и куча другого
Многие разделы содержат подразделы. Так, например, в блоке про CNI есть дополнительная информация о Flannel, Weave, Calico, Cilium
И немного практики в виде лаб (не везде, но есть)
Это не общее обучающее руководство по Kubernetes. Предполагается, что читатель уже знаком с базовыми понятиями и фундаментальными компонентами кластера Kubernetes — такими как
Забираем здесь 🍯
👉 DevOps Portal
Наткнулся на ресурс, где собран обзор различных сетевых компонентов Kubernetes с акцентом на то, как именно они реализуют необходимую функциональность.
Что есть:
Многие разделы содержат подразделы. Так, например, в блоке про CNI есть дополнительная информация о Flannel, Weave, Calico, Cilium
И немного практики в виде лаб (не везде, но есть)
Это не общее обучающее руководство по Kubernetes. Предполагается, что читатель уже знаком с базовыми понятиями и фундаментальными компонентами кластера Kubernetes — такими как
pods, deployments и servicesЗабираем здесь 🍯
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍6🔥4
Совет по работе с терминалом в Linux: Как вывести историю Bash без номеров строк
Полезно для копирования команд, документирования и повторного использования команд
👉 DevOps Portal
Полезно для копирования команд, документирования и повторного использования команд
history -w /dev/stdout
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍4❤2🥱2
Изучение контейнеров с нуля
🔹 Linux-контейнеры: низкоуровневая реализация
🔹 Образы: что это такое и зачем они нужны
🔹 Менеджеры: как Docker управляет совместной работой контейнеров на одном хосте
🔹 Оркестраторы: как Kubernetes координирует контейнеры в кластере
https://iximiuz.com/en/posts/container-learning-path/
👉 DevOps Portal
https://iximiuz.com/en/posts/container-learning-path/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Инструменты мониторинга Kubernetes: что это такое, какие метрики отслеживать и как выбрать подходящий инструмент
Узнайте, почему мониторинг Kubernetes имеет значение, чем он отличается, какие метрики следует отслеживать и на какие ключевые функции стоит обратить внимание при выборе подходящего инструмента мониторинга для вашей команды
https://www.suse.com/c/observability-kubernetes-monitoring-tools-what-they-are-metrics-to-track-and-how-to-choose-one/
👉 DevOps Portal
Узнайте, почему мониторинг Kubernetes имеет значение, чем он отличается, какие метрики следует отслеживать и на какие ключевые функции стоит обратить внимание при выборе подходящего инструмента мониторинга для вашей команды
https://www.suse.com/c/observability-kubernetes-monitoring-tools-what-they-are-metrics-to-track-and-how-to-choose-one/
Please open Telegram to view this post
VIEW IN TELEGRAM
Suse
Kubernetes Monitoring Tools: What They Are, Metrics ...
Kubernetes monitoring tools are essential for the smooth running of Kubernetes applications. Find out how to choose the ri...
❤4👍3
Развёртывание Kubernetes-кластера с помощью kubeadm
Этот туториал от Márk Sági-Kazár не просто пошагово объясняет процесс, но и даёт возможность выполнить каждую команду в изолированной песочнице, чтобы убедиться в её корректности.
Изучай Kubernetes на практике:
https://labs.iximiuz.com/tutorials/provision-k8s-kubeadm-900d1e53
👉 DevOps Portal
Этот туториал от Márk Sági-Kazár не просто пошагово объясняет процесс, но и даёт возможность выполнить каждую команду в изолированной песочнице, чтобы убедиться в её корректности.
Изучай Kubernetes на практике:
https://labs.iximiuz.com/tutorials/provision-k8s-kubeadm-900d1e53
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁57🔥4🌚3❤1
Docker Desktop: Самый простой способ отлаживать контейнеры Docker
Расширение Logs Explorer в Docker Desktop — это отличный инструмент для того, чтобы понять, что происходит внутри ваших контейнеров во время выполнения.
https://thenewstack.io/docker-desktop-the-easiest-way-to-debug-docker-containers/
👉 DevOps Portal
Расширение Logs Explorer в Docker Desktop — это отличный инструмент для того, чтобы понять, что происходит внутри ваших контейнеров во время выполнения.
https://thenewstack.io/docker-desktop-the-easiest-way-to-debug-docker-containers/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6
Путаешься между Dockerfile и Docker Compose?
Это для тебя.
Хотя они дополняют друг друга, их назначение в контейнеризированной среде различается.
Dockerfile — используется для создания и сборки Docker-образов.
Docker Compose — используется для запуска контейнеров как части мультиконтейнерного окружения или с определёнными параметрами выполнения.
🔹 Начиная с версии 1.28.6, Docker Compose по умолчанию ищет
Вот простая схема, чтобы тебе было легче разобраться
👉 DevOps Portal
Это для тебя.
Хотя они дополняют друг друга, их назначение в контейнеризированной среде различается.
Dockerfile — используется для создания и сборки Docker-образов.
Docker Compose — используется для запуска контейнеров как части мультиконтейнерного окружения или с определёнными параметрами выполнения.
compose.yaml или compose.yml. Поддержка docker-compose.yaml/yml сохраняется для обратной совместимости, но если оба файла присутствуют, будет использоваться compose.yaml.Вот простая схема, чтобы тебе было легче разобраться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍8🔥3💊2🤝1
Как работает сетевая подсистема контейнеров
Большинство Docker-инсталляций и Kubernetes-кластеров используют одинаковую схему сетей на основе мостов. Как лучше всего разобраться, как это устроено?
Попробуйте воссоздать такую сетевую конфигурацию с нуля, используя только стандартные Linux-команды: https://labs.iximiuz.com/tutorials/container-networking-from-scratch
👉 DevOps Portal
Большинство Docker-инсталляций и Kubernetes-кластеров используют одинаковую схему сетей на основе мостов. Как лучше всего разобраться, как это устроено?
Попробуйте воссоздать такую сетевую конфигурацию с нуля, используя только стандартные Linux-команды: https://labs.iximiuz.com/tutorials/container-networking-from-scratch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍5🤝1