DevOps Portal | Linux
13.1K subscribers
936 photos
125 videos
10 files
964 links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Сотрудничество, реклама: @devmangx

Менеджер: @Spiral_Yuri

РКН: https://clck.ru/3P8kFH
Download Telegram
Почему у разных ресурсов Kubernetes разные значения apiVersion?

Kubernetes API организованы в группы (API groups)

Существует два типа API-групп:

🔹Core-группа → Без названия группы, просто apiVersion: v1

🔹Именованные группы → Например, apps, batch, networking.k8s.io и др.

Например, можно задаться вопросом — почему Service относится к core API?

🔹Такие ресурсы, как Service, Pod, Namespace, Secret и т.п., были частью оригинальной спецификации Kubernetes.

🔹Это базовые строительные блоки (primitive objects).

🔹Поэтому они находятся в core-группе (apiVersion: v1).

А почему, например, ReplicaSet — в API-группе apps?

🔹ReplicaSet — это контроллер, а не примитивный объект.

🔹Он появился позже как часть более продвинутой системы управления нагрузкой (вместе с Deployment, StatefulSet и др.).

🔹Поэтому он размещён в именованной группе — apps.

Зачем вообще нужны API-группы?

- Kubernetes логически и модульно организует ресурсы.

- Такое разделение позволяет:

🔹Версионировать функциональность независимо

🔹Развивать контроллеры, не затрагивая стабильность core-части

🔹Поддерживать обратную совместимость

🔹Core-ресурсы стабильны и зрелы (v1)

- Новые фичи проходят стадии:

🔹v1alpha1 (ранний этап)

🔹v1beta1 (предварительный релиз)

🔹v1 (стабильный релиз)

Примеры:

🔹batch/v1 → CronJob

🔹autoscaling/v2 → HPA

Надеюсь, теперь стало понятнее, зачем Kubernetes использует разные API-группы для разных типов ресурсов

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍226
Быстрый совет по Linux

Устанавливай значение по умолчанию, если переменная не задана или пуста, вот так:

echo "Username: ${USERNAME:-Guest}"


Если переменная USERNAME не определена, будет выведено Guest.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135
Введение в безопасность Docker

Прежде чем пытаться защитить систему, важно понять, как она устроена. Ознакомьтесь со статьей Рори МакКьюна, чтобы узнать:

🔹Основные компоненты Docker

🔹Поверхность атаки Docker

🔹Практические советы и приёмы по обеспечению безопасности

https://labs.iximiuz.com/tutorials/docker-security-introduction-a859718d

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2
Быстрый совет по Linux

Используй эту команду, чтобы получить пароль от текущей Wi‑Fi сети:

nmcli device wifi show-password  


👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍96
Please open Telegram to view this post
VIEW IN TELEGRAM
😁484👍1🥱1
Быстрый совет по Linux на сегодня

Найти все пустые файлы в текущей директории и её поддиректориях:

$ find . -type f -empty


Как это работает:

🔹find — утилита для поиска файлов и директорий.

🔹. — ищем в текущей директории.

🔹-type f — ограничиваем поиск только файлами (директории игнорируются).

🔹-empty — фильтруем только пустые файлы (размер 0 байт).

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2113
В LinkedIn тестируют кластеры Kubernetes, выходящие за рамки официально поддерживаемого лимита в 5000+ нод, и обнаружили, что List-запросы к API становятся узким местом, негативно влияя на стабильность кластера.

В связи с этим Ahmet Alp Balkan опубликовал подробный разбор, почему это происходит и какие есть способы решения.

С оригинальной статьей можно ознакомиться здесь:
https://ahmet.im/blog/kubernetes-list-performance/

👉 DevOps Portal
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
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍5
Быстрый лайфхак для десктопного Linux

В файловом менеджере GNOME есть папка Templates

Если положить туда текстовые файлы, документы Word или презентации PowerPoint, они появятся в контекстном меню при правом клике — как шаблоны для создания новых документов

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍184🥱2
Основные концепции Docker на одной схеме

Если ты только начинаешь разбираться с контейнерами — вот шпаргалка, в которой собраны ключевые понятия Docker.

Забирайте в закладки ✌️

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1210
Введение в контрольные группы (cgroups) в Linux

Под капотом такие инструменты, как Docker, Kubernetes, systemd и многие другие, используют cgroups для ограничения и учёта использования системных ресурсов — CPU, оперативной памяти и ввода-вывода.

Изучите, как работать с cgroup v2, в этом практическом руководстве:
https://labs.iximiuz.com/tutorials/controlling-process-resources-with-cgroups

👉 DevOps Portal
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 — такими как pods, deployments и services

Забираем здесь 🍯

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍6🔥4
Совет по работе с терминалом в Linux: Как вывести историю Bash без номеров строк

Полезно для копирования команд, документирования и повторного использования команд

history -w /dev/stdout


👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍42🥱2
Изучение контейнеров с нуля

🔹Linux-контейнеры: низкоуровневая реализация

🔹Образы: что это такое и зачем они нужны

🔹Менеджеры: как Docker управляет совместной работой контейнеров на одном хосте

🔹Оркестраторы: как Kubernetes координирует контейнеры в кластере

https://iximiuz.com/en/posts/container-learning-path/

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
Инструменты мониторинга Kubernetes: что это такое, какие метрики отслеживать и как выбрать подходящий инструмент

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

https://www.suse.com/c/observability-kubernetes-monitoring-tools-what-they-are-metrics-to-track-and-how-to-choose-one/

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
Развёртывание Kubernetes-кластера с помощью kubeadm

Этот туториал от Márk Sági-Kazár не просто пошагово объясняет процесс, но и даёт возможность выполнить каждую команду в изолированной песочнице, чтобы убедиться в её корректности.

Изучай Kubernetes на практике:
https://labs.iximiuz.com/tutorials/provision-k8s-kubeadm-900d1e53

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядно про то, как работает команда kubectl apply

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁57🔥4🌚31
Docker Desktop: Самый простой способ отлаживать контейнеры Docker

Расширение Logs Explorer в Docker Desktop — это отличный инструмент для того, чтобы понять, что происходит внутри ваших контейнеров во время выполнения.

https://thenewstack.io/docker-desktop-the-easiest-way-to-debug-docker-containers/

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍6
Путаешься между Dockerfile и Docker Compose?

Это для тебя.

Хотя они дополняют друг друга, их назначение в контейнеризированной среде различается.

Dockerfile — используется для создания и сборки Docker-образов.

Docker Compose — используется для запуска контейнеров как части мультиконтейнерного окружения или с определёнными параметрами выполнения.

🔹 Начиная с версии 1.28.6, Docker Compose по умолчанию ищет compose.yaml или compose.yml. Поддержка docker-compose.yaml/yml сохраняется для обратной совместимости, но если оба файла присутствуют, будет использоваться compose.yaml.

Вот простая схема, чтобы тебе было легче разобраться

👉 DevOps Portal
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
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍5🤝1