DevOps 360° – Telegram
DevOps 360°
399 subscribers
50 photos
61 videos
4 files
156 links
Привет! 🌟

Добро пожаловать! Здесь ты узнаешь о новых фичах в мире DevOps, получишь помощь в рабочих задачах и освоишь профессию без токсичного комьюнити. Подключайся и общайся со мной @kubernetesman! ❤️
Download Telegram
🌟 GitFlic: для госкомпаний 🌟

В современном мире разработки программного обеспечения важность инструментов для управления версиями трудно переоценить. Одним из самых популярных решений становится GitFlic — российская альтернатива GitLab, которая активно используется в государственных корпорациях. 🤖

GitFlic предлагает мощный функционал для командной работы, обеспечивая надежность и безопасность данных. В условиях возросшего интереса к вопросам защиты информации, этот инструмент пришелся как нельзя кстати. 🇷🇺 Он сочетает в себе все лучшие практики международных аналогов, таких как GitLab, и адаптирован под реалии российских организаций.

🛡 Почему GitFlic? ПОТОМУ ЧТО СПАСИБО ФСТЭК и ИБ

Одним из ключевых преимуществ GitFlic является его ориентация на безопасность. В условиях, когда компании сталкиваются с угрозами кибератак, использование платформы, которая разрабатывается и поддерживается на территории России, гарантирует более высокий уровень защиты данных. 💻🔒

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

🚀 Функциональные возможности GitFlic

GitFlic не только обеспечивает возможность работы с репозиториями, но и предлагает множество дополнительных функций: интеграция CI/CD, управление проектами и задачами, возможность настройки процессов разработки под конкретные нужды команды. Это позволяет разработчикам сосредоточиться на написании кода, а не на управлении инструментами. 🛠

Кроме того, GitFlic поддерживает интеграцию с различными популярными инструментами, такими как Jira и Confluence, что позволяет создавать гибкие и эффективные рабочих процессы. Это делает платформу удобной и для небольших команд, и для крупных организаций!

🤝 Сообщество и поддержка

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

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

💪 Заключение

Совсем не удивительно, что GitFlic находит свое применение в крупных государственных корпорациях и не только. Этот инструмент становится настоящим помощником для разработчиков, предлагая надежные и безопасные решения для управления проектами. Если вы еще не знакомы с GitFlic, обязательно попробуйте — возможно, именно этот инструмент станет вашим верным спутником в мире разработки программного обеспечения! 🤗

🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🚀 УРАААААА! Встречайте openHalo — революционный инструментарий для миграции с MySQL на PostgreSQL! 🎉

это день, который многие разработчики ждали с нетерпением! Наконец-то представлен openHalo — мощный инструментарий, который значительно упрощает перенос приложений, изначально созданных для MySQL, на платформу PostgreSQL. 🌐

Что такое openHalo? Это проект, выполняющий роль прокси-сервера, который позволяет безболезненно трансформировать запросы из одной СУБД в другую. Он прозрачно интерпретирует команды, отправляемые в MySQL, и переводит их в понятный для PostgreSQL формат. А что самое главное, он также обрабатывает ответы, возвращая их в том виде, в котором разработчики привыкли их видеть. Все это реализовано с использованием языка программирования Си и доступно под лицензией GPLv3. 💻

Интересно, что openHalo полностью поддерживает SQL-диалект и коммуникационный протокол MySQL. Это означает, что для миграции приложений, использующих MySQL, потребуется минимальное количество изменений, а в идеале — их не потребуется вовсе! 🤩 С openHalo разработчики могут продолжать использовать свои любимые утилиты, команды и драйверы MySQL, что значительно облегчает процесс перехода.

В условиях растущей популярности PostgreSQL, этот проект становится настоящим спасением для тех, кто стремится качественно модернизировать свои приложения, сохранив при этом максимальную совместимость. 🔄

Если вы хотите узнать больше о проекте и начать свой путь к миграции, обязательно посетите официальные сайты: [openHalo](https://www.openhalo.org) и [PostgreSQL](https://www.postgresql.org/about/news/openhalo-project-is-now-released-3048/). Давайте вместе шагать в будущее, где возможности переезда на новые платформы станут доступнее, чем когда-либо! 🌟

Не пропустите возможность попробовать openHalo и поднять свои проекты на новый уровень! 💪🚀

🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Хотите быстро развернуть фронтенд на Node.js с Nginx в Docker? Давайте сделаем это в пару шагов!

---

### 📂 1. Структура проекта
Предполагаем, что у вас есть:
frontend-project/  
├── src/ # Исходники (React/Vue/Next.js)
├── server.js # Node.js-сервер (если SSR)
├── package.json
└── nginx.conf # Конфиг Nginx


---

### 🐋 2. Dockerfile для Node.js + Nginx
Создаем Dockerfile в корне:

# 🔨 Шаг 1: Сборка фронтенда
FROM node:18-alpine as builder

WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build # React/Vue: `build`, Next.js: `next build`

# 🚀 Шаг 2: Запуск Nginx
FROM nginx:alpine

# 📦 Копируем собранный фронтенд
COPY --from=builder /app/dist /usr/share/nginx/html

# ⚙️ Копируем конфиг Nginx
COPY nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]


---

### ⚙️ 3. Пример `nginx.conf`
Настроим Nginx для статики и API:

server {
listen 80;
server_name localhost;

# 📂 Раздача статики
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}

# 🔄 Прокси на бэкенд
location /api/ {
proxy_pass http://backend:3000; # Имя сервиса из docker-compose
proxy_set_header Host $host;
}
}


---

### 🎛 4. Запуск через `docker-compose.yml`
Добавляем docker-compose.yml:

version: '3.8'

services:
frontend:
build: .
ports:
- "80:80"
depends_on:
- backend # Если есть бэкенд

backend: # Опционально (Node.js API)
image: node:18-alpine
command: npm start
volumes:
- ./server:/app
ports:
- "3000:3000"


---

### 🚀 5. Сборка и запуск
docker-compose build  # 🛠 Собираем  
docker-compose up # 🚀 Запускаем

Теперь фронт доступен по http://localhost!

---

### 📌 Итог
- Node.js → собирает фронтенд.
- Nginx → раздает статику + проксирует API.
- Docker → упаковывает все в контейнер.

💡 Оптимизация для продакшена:
- Используйте multi-stage сборку (как в примере).
- Добавьте кеширование `node_modules`.
- Используйте `alpine`-образы для уменьшения размера.

🔔 Нужен HTTPS или балансировка? Пишите в комментарии! 👇

Теперь ваш фронтенд готов к деплою! 🎉

🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
### 🔥 DevSecOps + ИИ: Как защитить будущее разработки?


🚀 ИИ меняет правила игры в DevSecOps — теперь безопасность не тормозит разработку, а ускоряет её!

---

### 🔍 Что такое DevSecOps?
Раньше безопасность проверяли в конце разработки (и все её ненавидели 😤). DevSecOps встраивает защиту в каждый этап:
✔️ Раннее обнаружение уязвимостей — экономит время и деньги.
✔️ Культура безопасности — ответственность всех, а не только "этих ребят из SOC".

---

### 🤖 Как ИИ прокачивает DevSecOps?
1️⃣ Автоматическое сканирование кода
ИИ ищет уязвимости (типа SQL-инъекций) в миллионах строк кода — быстрее человека.

2️⃣ Прогнозирование угроз
ML-модели предсказывают атаки до их появления. Как Minority Report, но для багов!

3️⃣ Мониторинг в реальном времени
ИИ ловит аномалии в трафике и блокирует угрозы автоматически.

4️⃣ Проверка на соответствие (GDPR, PCI DSS)
Больше никакой рутины — ИИ сам сверяет код с требованиями.

---

### ⚠️ Проблемы внедрения
🔸 Качество данных — ИИ учится на них. Мусор на входе = ошибки на выходе.
🔸 Смещение моделей — алгоритмы могут унаследовать человеческие предубеждения.
🔸 Ресурсы — ИИ требует мощностей (облако в помощь!).

---

### 🚀 Лайфхаки для внедрения
Начните с конкретных задач (например, автоматическое сканирование кода).
Инвестируйте в данные — чем чище, тем точнее ИИ.
Объедините команды — разработчики + безопасность + data science.
Баланс автоматизации и человека — ИИ предлагает, эксперт решает.

---

### 🔮 Будущее
Скоро ИИ не только найдёт баг, но и сам его исправит! Компании, внедрившие AI-Driven DevSecOps, получат:
⚡️ Быстрые релизы
🛡 Меньше рисков
💡 Конкурентное преимущество

Вывод: ИИ + DevSecOps = безопасность без тормозов. Вперёд, в будущее! 🚀

💬 А ваш проект уже использует ИИ для безопасности? Делитесь в комментах! 👇

🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🔐 Jump-хосты: ваш надёжный "телохранитель" для серверов ДАЮ 1000000 процентов , что единицы это делают)

### 🛡 Что такое jump-хост?
Jump-хост (Jump Server) — это специальный прокси-сервер, через который осуществляется доступ к защищённым системам. Он выступает в роли "единой точки входа", изолируя основные серверы от прямого доступа из интернета.

### 📌 Схема работы:
[Ваш ПК] → (VPN/2FA) → [Jump-хост] → [Внутренние серверы]  

1. Вы подключаетесь к jump-хосту с обязательной аутентификацией (например, SSH + 2FA).
2. С jump-хоста получаете доступ к другим серверам в защищённой сети.
3. Основные серверы не имеют публичного доступа — атаковать их извне почти невозможно.

### 🔥 Зачем это нужно?
Защита от прямых атак – злоумышленники не могут сканировать или атаковать серверы напрямую.
Централизованный контроль – все подключения проходят через одну точку, их легче логировать и контролировать.
Снижение рисков – даже если компрометируют ваш ПК, без доступа к jump-хосту взломать серверы не получится.
Гибкость настроек – можно настроить разные уровни доступа для разных пользователей.

### ⚙️ Где применяется?
- Облачные инфраструктуры
- Корпоративные сети с критичными серверами
- DevOps-среды, где важно ограничить доступ к production

💡 Вывод: Jump-хост — это не просто "лишний сервер", а важный элемент безопасности. Он снижает риски, упрощает аудит и делает инфраструктуру устойчивее к атакам. 🚀

#Кибербезопасность #DevOps #СистемноеАдминистрирование


🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
# 🔧 Оптимизация фронтенд-сервиса: Nginx + Kubernetes + Vite

Привет, коллеги! 👋 Сегодня хочу поделиться интересным кейсом по оптимизации деплоя фронтенд-сервиса на Node.js + Vite, который должен работать не просто через yarn build, а через Nginx в Kubernetes.

Почему Nginx? 🚀
- Быстрее отдача статики (Nginx заточен под это, а Node.js — нет).
- Меньше нагрузки (не тратим ресурсы Node на раздачу файлов).
- Гибкость конфигурации (роутинг, кэширование, сжатие).

Но возникла проблема: как прокинуть `VITE_API_BASE_URL` на всех этапах сборки?

---

## 🛠 Проблема и решение

Сервис работает в Kubernetes, и нам нужно:
1. Собрать фронтенд с правильным VITE_API_BASE_URL.
2. Запустить его через Nginx (не через yarn start).
3. Настроить Ingress для доступа.

### 🔹 1. Докерфайл для фронтенда (Vite + Node.js)

Раньше было так:
FROM node:18  
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install
COPY . .
RUN yarn build
CMD ["yarn", "start"] # Неоптимально!


Теперь так:
# Шаг 1: Сборка  
FROM node:18 as builder
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install
COPY . .
ARG VITE_API_BASE_URL # 🔑 Динамическая переменная!
RUN yarn build

# Шаг 2: Запуск через Nginx
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]


Что изменилось?
- Сборка проходит с ARG VITE_API_BASE_URL.
- Статика отдается через Nginx, а не Node.js.

---

### 🔹 2. Настройка Nginx

Файл nginx.conf:
server {  
listen 80;
server_name localhost;

location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}

# Проксируем API-запросы
location /api {
proxy_pass ${API_BASE_URL}; # 🔄 Берем из переменных
proxy_set_header Host $host;
}
}


---

### 🔹 3. Запуск в Kubernetes (Ingress + ConfigMap)

Deployment:
apiVersion: apps/v1  
kind: Deployment
metadata:
name: frontend
spec:
replicas: 2
template:
spec:
containers:
- name: frontend
image: my-frontend-image
env:
- name: VITE_API_BASE_URL # 🎯 Важно для сборки!
value: "https://api.example.com"


Ingress:
apiVersion: networking.k8s.io/v1  
kind: Ingress
metadata:
name: frontend-ingress
spec:
rules:
- host: my-app.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: frontend
port:
number: 80


---

## 📊 Схема работы

graph TD  
A[Vite Build] -->|Передает статику| B[Nginx]
B -->|Отдает файлы| C[Клиент]
C -->|API-запросы| D[Backend]
D -->|Ответ| C


---

## 💡 Вывод

Nginx быстрее раздает статику, чем Node.js.
Kubernetes + Ingress дают гибкость маршрутизации.
Динамические переменные (VITE_API_BASE_URL) можно прокидывать на этапе сборки.

Как у вас настроен фронтенд в Kubernetes? Делитесь в комментах! 👇

🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
# 🚀 Разворачиваем Kubernetes в Yandex Cloud и деплоим NGINX через Terraform

Привет, облачные маги и кубернетические волшебники! Давно хожу вокруг да около , моей таске уже больше года на работке и я до сих пор до нее не добрался , чтобы с 1 кнопки запускать всю инфру - делюсь маааааленьким кусочком с вами 🌩

Сегодня разберём полный цикл:
1️⃣ Развернём Kubernetes-кластер в Yandex Cloud с помощью Terraform.
2️⃣ Задеплоим NGINX на нодах, используя YAML-манифесты прямо из кода IAC.

Никаких ручных kubectl apply – только чистая автоматизация! 🤖

---

## 🔹 Шаг 1: Поднимаем Kubernetes в Yandex Cloud

Для начала нам нужен рабочий K8s-кластер. Сделаем это через Terraform!

### 1. Настройка провайдера Yandex Cloud

provider "yandex" {
token = "ВАШ_OAUTH_ТОКЕН"
cloud_id = "ВАШ_CLOUD_ID"
folder_id = "ВАШ_FOLDER_ID"
zone = "ru-central1-a"
}


### 2. Создаём Managed Kubernetes (Yandex Managed Service for Kubernetes)

resource "yandex_kubernetes_cluster" "my_k8s" {
name = "my-awesome-cluster"
network_id = yandex_vpc_network.k8s-network.id

master {
regional {
region = "ru-central1"
location {
zone = "ru-central1-a"
subnet_id = yandex_vpc_subnet.k8s-subnet.id
}
}
version = "1.24"
public_ip = true # Чтобы был доступ извне
}

service_account_id = yandex_iam_service_account.k8s-admin.id
node_service_account_id = yandex_iam_service_account.k8s-nodes.id
}

resource "yandex_vpc_network" "k8s-network" {
name = "k8s-network"
}

resource "yandex_vpc_subnet" "k8s-subnet" {
name = "k8s-subnet"
zone = "ru-central1-a"
network_id = yandex_vpc_network.k8s-network.id
v4_cidr_blocks = ["10.10.0.0/16"]
}


### 3. Добавляем ноды (Node Group)

resource "yandex_kubernetes_node_group" "k8s_nodes" {
cluster_id = yandex_kubernetes_cluster.my_k8s.id
name = "k8s-workers"

instance_template {
platform_id = "standard-v2"
resources {
cores = 2
memory = 4
}

network_interface {
nat = true
subnet_ids = [yandex_vpc_subnet.k8s-subnet.id]
}
}

scale_policy {
fixed_scale {
size = 2 # Две ноды для отказоустойчивости
}
}
}


### 4. Получаем kubeconfig для доступа

После terraform apply добавляем конфиг в ~/.kube/config:

yc managed-kubernetes cluster get-credentials my-awesome-cluster --external


Кластер готов! Проверим:

kubectl get nodes


---

## 🔹 Шаг 2: Деплоим NGINX через Terraform

Теперь, когда кластер работает, запустим в нём NGINX – и всё через Terraform!

### 1. Настраиваем провайдер Kubernetes

provider "kubernetes" {
config_path = "~/.kube/config" # Используем полученный конфиг
}


### 2. Вариант 1: Деплой через встроенный YAML

resource "kubernetes_deployment" "nginx" {
metadata {
name = "nginx"
}
spec {
replicas = 2
selector {
match_labels = {
app = "nginx"
}
}
template {
metadata {
labels = {
app = "nginx"
}
}
spec {
container {
name = "nginx"
image = "nginx:latest"
port {
container_port = 80
}
}
}
}
}
}

resource "kubernetes_service" "nginx" {
metadata {
name = "nginx-service"
}
spec {
selector = {
app = kubernetes_deployment.nginx.spec.0.template.0.metadata.0.labels.app
}
port {
port = 80
target_port = 80
}
type = "LoadBalancer" # Чтобы получить внешний IP
}
}


### 3. Вариант 2: Подключаем внешний YAML-файл

Если у вас уже есть манифест nginx-deployment.yaml:

resource "kubernetes_manifest" "nginx" {
manifest = yamldecode(file("nginx-deployment.yaml"))
}


---

## 🔥 Что получилось?
- Полностью автоматизированный кластер в Yandex Cloud.
- NGINX, развернутый через Terraform без ручных операций.
- Готовый LoadBalancer с внешним IP (проверьте через kubectl get svc).

---
👍3
## 🎯 Почему это круто?
Один инструмент для всей инфраструктуры – от облака до подов в K8s.
Идемпотентность – Terraform сам следит за состоянием.
Можно добавить CI/CD (GitLab, GitHub Actions) для полного автоматизма.

Попробуйте и пишите в комменты, как прошло! 🚀

#DevOps #YandexCloud #Kubernetes #Terraform #Automation

🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
docker_rus.pdf
3.1 MB
Всем хорошей рабочей недели ⌨️ ведь работать всего 3 дня
Вот вам полезненькая шпаргалка по Docker которая существенно облегчит некоторые ваши моменты

Завтра вас ждет общая инфа по запуску практики ⌨️

В Среду максимально крутая статья про наш мини мир K8s🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️

🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳3👍2👀1
🚀 ОГОНЬ-НОВОСТЬ! 12 МАЯ — ДВА ПОТОКА DEVOPS ПРАКТИКУМА! 🚀

Друзья, этот день вы ждали! 🔥 12 мая стартует долгожданный DevOps-практикум — и сразу в 2-х потоках! 🎉

🔥 Почему это круто?
✔️ Командные задания — будет веселее и продуктивнее вместе! 🎮💡
✔️ Поддержка чата — помогаем друг другу, делимся лайфхаками! 💬🤝
✔️ Стоимость = оплата серверов (Яндекс.Облако) + чуть-чуть на развитие комьюнити 💸
✔️ Розыгрыш мерча уже через ~5 дней после старта! 🎁👕

📌 Вся инфа — в закреплённом посте:
👉 [https://news.1rj.ru/str/DevOps360/163](https://news.1rj.ru/str/DevOps360/163)

💡 Хочешь больше контента?
Забивай в Google ti_khnvs и выбирай удобную площадку! 🌍🔍

🎯 Кто с нами? Ставьте огонечек на тот пост в закрепе, Ждём именно тебя! 🚀

---
🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
# 📚 PV & PVC в Kubernetes: Полный Гайд + Секреты Хранения! 🚀

Привет, DevOps-энтузиасты! 👋 Сегодня разберём персистентные тома (PV) и их запросы (PVC) в Kubernetes — без воды, только практика! 🔥

А ещё расскажем, почему RWX (ReadWriteMany) — это редкий зверь 🦄 и где его искать (спойлер: в основном на AWS/Azure).

📌 P.S. Скоро выйдет детальное видео на эту тему! Следи за соцсетями — будет мега-полезно! 🎥

---

## 🔹 PV & PVC: Что Это и Зачем?
В Kubernetes данные в подах (Pods) по умолчанию не сохраняются после перезапуска. Persistent Volume (PV) и Persistent Volume Claim (PVC) решают эту проблему!

- PV (Persistent Volume) — это "диск" в кластере (как AWS EBS, NFS, Local Storage).
- PVC (Persistent Volume Claim)запрос пода на выделение PV (как аренда хранилища).

### 📌 Простая схема работы:
  
Pod → PVC → PV → Реальное хранилище (EBS, NFS, Local Disk и т. д.)



---

## 🔹 Типы PVC (Access Modes) — Какой Выбрать?
У PVC есть три режима доступа, и не все провайдеры их поддерживают!

| Тип 🏷 | Описание 📝 | Где работает? 🌍 |
|------------|----------------|---------------------|
| RWO (ReadWriteOnce) | Только одна нода может писать | Все облака (AWS, GCP, Yandex Cloud, Local) |
| ROX (ReadOnlyMany) | Много подов только для чтения | NFS, Ceph, GlusterFS 🗂 |
| RWX (ReadWriteMany) | Много подов пишут и читают | Только AWS EFS, Azure Files, GCP Filestore 🦄 |

### 💡 Важно!
- RWX — редкость! В Яндекс.Облаке и многих других его нет (только через NFS вручную).
- RWO — самый популярный, работает везде.

---

## 🔹 Как Создать PVC? (Пример для RWO)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce # ⚠️ Только одна нода!
resources:
requests:
storage: 10Gi # 💾 Размер тома
storageClassName: standard # � Класс хранилища (зависит от облака)



---

## 🚀 Выводы: Что Запомнить?
RWOосновной режим, работает везде.
⚠️ RWXтолько в AWS/Azure/GCP, в российских облаках нет (кроме ручного NFS).
📹 Скоро будет видео! Разберём на практике + лайфхаки!

---
ТЕКСТ ПАСХАЛКА ДЛЯ ООООЧЕНЬ ВНИМАТЕЛЬНЫХ :
ОЧЕНЬ И ОЧЕНЬ МНОГИЕ ЗАБЫВАЮТ ПРО 4 ТИП

💡 Что особенного в RWOP?
Это более строгая версия RWO — том привязывается не просто к ноде, а к конкретному поду.


Идеально для:

Stateful-приложений, где том должен быть строго у одного пода (например, БД).

Защиты от случайного мульти-монтирования (если Pod пересоздаётся).

Пример PVC с RWOP:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-exclusive-pvc
spec:
accessModes:
- ReadWriteOncePod # 🔒 Только один Pod!
resources:
requests:
storage: 10Gi
storageClassName: fast-ssd

[ Pod A ] --(RWOP)--> [ PVC ] --> [ PV ] --> (Диск в облаке)  
[ Pod B ] --(RWO)--> [ PVC ] --> [ PV ] --> (Диск в облаке)
[ Pod C+D ] --(RWX)--> [ PVC ] --> [ PV ] --> (NFS/EFS)


🔥 Остались вопросы? Пиши в комменты! Делимся опытом! 👇

🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала

Поддержи канал и автора миской супа и на развитие мерча!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3