Telegram Web
Собираем docker и деплоим из GitHub Actions

Я приведу краткую инструкцию, как быстро собирать проект и деплоить docker. Времена докера никуда не ушли, все мелкие проекты мы до сих пор делаем на обычных докерах, а также там, где всё on-premise и не дают облака с Kubernetes. Сопровождать Kubernetes самим - то еще удовольствие, особенно, когда заказчики не выделяют бюджеты на "золотых" (Ваня, привет!) devops-еров.

Флоу будет очень простым: одним job мы собираем образ (с указанием тэга или ветки) и кладем в приватный репозиторий образов GitHub, а другим job деплоим оттуда. Это удобно, когда есть несколько сред и мы один раз собираем и контейнер запускаем из него с разными переменными среды. И важное условие: мы не устанавливаем docker-compose или github runner на сервер с docker.

https://habr.com/ru/articles/824526/

👉 @devops_star
👍2
Sveltos: Kubernetes add-on controller

Это дополнительный контроллер Kubernetes, который упрощает развертывание и управление дополнениями и приложениями на нескольких кластерах. Он запускается на управляющем кластере и может программно развертывать и управлять дополнениями и приложениями на любом кластере в парке, включая сам управляющий кластер. Sveltos поддерживает различные форматы дополнений, включая диаграммы Helm, необработанный YAML, Kustomize, Carvel ytt и Jsonnet.

https://github.com/projectsveltos/addon-controller

👉 @devops_star
👍1
Какую функцию выполняет ReplicaSet?

Функция ReplicaSet (RS) в Kubernetes заключается в обеспечении стабильного количества экземпляров подов в кластере. RS является основным компонентом Kubernetes, который используется для развертывания Stateless-приложений. Он обеспечивает непрерывную доступность приложения, автоматически запуская новые экземпляры подов в случае их выхода из строя. Без использования RS такие поды пришлось бы запускать вручную, что затруднило бы поддержание доступности приложения для пользователей.

Что такое пространство имен (namespaces)? Почему не стоит использовать одно namespace для всех приложений?


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

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

Еще один случай, когда несколько пространств имен могут пригодиться, — это ситуация, когда несколько команд работают с одним кластером.

👉 @devops_star
2👍1
Kubernetes Full Course In 10 Hours | Kubernetes Tutorial For Beginners

Это видео Edureka Kubernetes Full Course поможет вам понять и изучить основы Kubernetes. Этот курс по Kubernetes идеально подходит как для новичков, так и для профессионалов, которые хотят освоить основы Kubernetes.В этом видео рассматриваются следующие темы:

Introduction
Introduction to Containers
Need for Kubernetes
What is Kubernetes and What it's not
Kubernetes vs Docker Swarm
Use-Case: Kubernetes
Introduction to Namespaces
Types of Namespaces
Container Design Patterns
Introduction to Docker
Kubernetes Installation Steps
Kubernetes Architecture
Kubernetes Dashboard
Types of View in Kubernetes Dashboard
Kubernetes Cluster
Pods, Services & Ingress Networks
Case Study
Hands-On
Replication Controller & ReplicaSet
Deployment Controllers
Deployment Use-Cases
Kubernetes Multiple Schedulers
Set up a Multi-Master cluster using kubeadm
Network Failures
Cluster Troubleshooting

https://www.youtube.com/watch?v=y3WTwzx5ABk

👉 @devops_star
👍3
В чем разница stateful и stateless?

Stateful-приложение сохраняет данные внутри себя во время работы, например, сессии пользователей на сервере. Ответ на запрос пользователя зависит от состояния сессии. Такие приложения сложнее масштабировать горизонтально, так как для развертывания нескольких экземпляров необходимо переносить состояния на новые машины и синхронизировать их.

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

👉 @devops_star
👍3
RedisInsight

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

https://github.com/RedisInsight/RedisInsight

👉 @devops_star
👍2
Docker

01- Основы. Принцип работы. Почему docker. Сравнение с виртульной машиной. Применение.
02- Установка Docker в Linux и Windows.
03- Основные команды. Управление портами. Port Mapping.
04- Переменные. Environment Variables.
05- Volumes. Постоянные данные. Persisting Data.
06- Сети в докер. Network: bridge, host, none, macvlan, ipvlan
07- Dockerfile. Создаем СВОИ контейнеры.
08- Docker-COMPOSE. Простой запуск контейнеров.
09- Portainer. Управлять Docker ПРОСТО. Обзор, установка, настройка.
10- Watchtower. Автоматизация: обновление Docker контейнеров.

источник

👉 @devops_star
👍5
Назовите главные компоненты архитектуры Kubernetes.

Master-ноды (master node, control plane) координируют все операции кластера: управляют распределением и резервированием ресурсов, контролируют состояние контейнеров, управляют масштабированием и выполняют обновления. Компоненты мастер-нод включают:

kube-apiserver — точка доступа к панели управления мастер-ноды, обеспечивает взаимодействие между мастер- и рабочими узлами, отслеживает состояние рабочих узлов и информирует мастер о важных изменениях;
kube-scheduler — отвечает за распределение нагрузки на рабочие узлы, постоянно мониторит доступные ресурсы и используемые ресурсы на каждом узле, принимает решение о запуске нового Pod;
Controller Manager — управляет работой контроллеров, таких как Deployment, ReplicaSet, StatefulSets, DaemonSet, Jobs, CronJob;
ETCD — хранит информацию о настройках и состоянии кластера, его метаданные, представляет собой распределенную базу данных в формате ключ-значение.

Nodes (рабочие узлы) — на них запускаются поды с контейнерами. На каждой worker ноде Kubernetes работают:

kubelet — процесс, который управляет запуском, удалением и обновлением подов с контейнерами;
kube-proxy — настраивает сетевые правила на рабочих узлах.



Как в Kubernetes устроена работа с хранилищами?

Kubernetes имеет различные типы хранилищ, включая встроенный emtyDir. Некоторые из них являются stateless, что означает, что они существуют только во время работы пода. Данные, которые хранятся там, также имеют такой же срок жизни.

Для statefull-приложений используются постоянные хранилища, называемые Persistent Volumes (PV). PV — это запас хранилища, выделенный администратором кластера Kubernetes. Это могут быть локальные диски, СХД или внешние диски. Они не зависят от жизненного цикла подов.

Persistent Volume Claim (PVC) — это запрос на выделение PV с определенными характеристиками, такими как тип хранилища, объем и тип доступа. Для описания доступных PV используются Storage Classes.

В процессе работы под отправляет запрос PVC, который затем обращается к PV и передает его поду.

👉 @devops_star
👍3
Media is too big
VIEW IN TELEGRAM
Docker с 0 до 100%. Всё, что нужно знать.

00:00:00 | Intro
00:01:35 | Основы Docker.
00:19:30 | Установка Docker в Linux и Windows.
00:25:40 | Основные команды.
00:54:55 | Управление портами: Port Mapping.
01:08:55 | Переменные в Docker: Environment Variables.
01:20:20 | Постоянные данные: Docker Volumes.
01:48:41 | Сети в Docker. Network.
02:30:11 | Создание своих контейнеров. Dockerfile.
03:40:59 | Docker Compose. Применение.
04:32:28 | Portainer – Web UI для управления Docker.

источник

👉 @devops_star
🔥4👍1
2025/10/23 04:03:46
Back to Top
HTML Embed Code: