DevOps Star (Звезда Девопса) – Telegram
DevOps Star (Звезда Девопса)
2.16K subscribers
240 photos
192 videos
19 files
290 links
Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin

По всем вопросам @evgenycarter
Download Telegram
Практические вопросы для экзамена Certified Kubernetes Security Specialist (CKS)

https://github.com/snigdhasambitak/cks/tree/main

👉 @devops_star
👍3🔥1
Media is too big
VIEW IN TELEGRAM
Docker от Ивана Глазкова

#1. Зачем оно нужно? Установка и первый запуск контейнера.
#2 Открываем порты для доступа в контейнер.
#3. Что такое слои в образе, как они получаются и как выглядят.
#4. Базовые принципы сборки образа.
#5. Volume и монтирование в контейнер
#6. Multi Stage Build из исходников и ENV в dockerfile

источник

👉 @devops_star
👍4🔥2
Руководство по GitOps: ArgoCD против Flux

GitOps стал чрезвычайно популярным способом управления инфраструктурой и приложениями Kubernetes. Используя Git в качестве единого источника, GitOps позволяет использовать инфраструктуру как код и автоматизировать развертывание приложений в Kubernetes. Этот подход сегодня используют многие компании, поэтому я хотел поделиться нашим путешествием по GitOps в серии постов на эту тему.

https://www.codereliant.io/gitops-guide-argocd-vs-flux/

👉 @devops_star
👍31
Шпаргалка по командам управления Docker

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

https://www.linuxteck.com/docker-management-command-cheat-sheet/

👉 @devops_star
👍2
Media is too big
VIEW IN TELEGRAM
Стандарты безопасности в Kubernetes (Константин Аксенов, VK Kubernetes Conf 2023)

Доклад руководителя разработки Deckhouse Kubernetes Platform (https://deckhouse.ru/) Константина Аксенова на VK Kubernetes Conf 2023. Автор рассказывает про рецепты и лучшие практики безопасности в Kubernetes, разбирает, какие из них действительно необходимы.

(0:00) Intro
(0:36) Безопасность в Kubernetes и как она влияет на доставку
(3:10) О стандартах безопасности
(5:08) Общая идея всех стандартов
(6:28) Пять шагов к безопасности в Kubernetes
(7:03) Шаг 1: корректная конфигурация кластера
(9:58) Шаг 2: сканирование образов
(11:48) Шаг 3: сетевая безопасность
(15:09) Шаг 4: контроль над запускаемыми приложениями
(18:08) Шаг 5: аудит и регистрация событий
(25:27) Итоги
(26:37) Q&A

⚫️Текстовый обзор доклада: https://habr.com/ru/companies/vk/articles/730158/
⚫️Презентация: https://speakerdeck.com/flant/standarty-biezopasnosti-v-kubernetes

источник

👉 @devops_star
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Kubefirst

Платформа с открытым исходным кодом Kubefirst

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

Мы поддерживаем локальные облака, облака AWS и Civo. Запустив наши команды cli в пустой среде, вы получите экосистему облачного управления и доставки приложений GitOps с автоматизированными рабочими процессами Terraform, управлением секретами Vault, интеграцией GitLab или GitHub с Argo, а также демонстрационными приложениями, демонстрирующими, как все это работает вместе.

Документация https://docs.kubefirst.io/

https://github.com/kubefirst/kubefirst

👉 @devops_star
👍3
Эфемерные контейнеры в Kubernetes

С версии Kubernetes 1.16 была добавлена возможность запуска эфемерных контейнеров (Ephemeral Containers). Эта функция позволяет запускать временные контейнеры в рамках существующих Pod'ов, чтобы помочь в диагностике и отладке проблем, а также для выполнения различных задач в рамках существующего окружения.

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

Rus https://habr.com/ru/companies/timeweb/articles/720510/

Eng https://iximiuz.com/en/posts/kubernetes-ephemeral-containers/

👉 @devops_star
👍2
Kubernetes: эффективные команды

Расшировать параметр секрета.
kubectl get secret/db -o yaml | grep DB_PASSWORD | sed 's/.*DB_PASSWORD:\s//' | base64 --decode
где db - имя секрета, DB_PASSWORD - один из параметров секрета.

Удалить все поды используя helm.
helm ls --all --short | xargs -L1 helm delete

Удалить все поды в состоянии Evicted.
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod

Скрипт для просмотра занятого пространства образами docker.
#!/usr/bin/env bash
for container in `kubectl get pods --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'`
do
echo -e "$container\t\t $(docker image ls `kubectl get pod $container -o jsonpath='{.spec.containers[0].image}'` --format='{{println .Size}}')"
done


Скрипт для для установления соответствия между задеплоеными подами, нодами, где они находятся и зоной в которой располагаются.
#!/usr/bin/env bash

set -euo pipefail

PODZONES=()
for POD in $(kubectl get pods -o custom-columns=NAME:.metadata.name --no-headers)
do
NODE=$(kubectl get pod ${POD} -o=jsonpath='{.spec.nodeName}')
ZONE=$(kubectl get nodes -o json | jq -r --arg NODE "${NODE}" '.items[].metadata | {name, labels} | select(.name==$NODE) | .labels."topology.kubernetes.io/zone"')
PODZONES+=(${ZONE})
echo -e "${POD}\t${NODE}\t${ZONE}"
done

CPODS=$(kubectl get pods -o custom-columns=NAME:.metadata.name --no-headers | wc -l)
CNODES=$(kubectl get nodes -o custom-columns=NAME:.metadata.name --no-headers | wc -l)
CZONES=$(kubectl get nodes -o json | jq -r '.items[].metadata.labels."topology.kubernetes.io/zone"' | sort | uniq -c)
echo "----------ИТОГО:----------"
echo -e "Всего подов:\t${CPODS}"
echo -e "Всего нод:\t${CNODES}"
echo -e "Количество зон нод:\n${CZONES}"
echo "Количество подов в зонах:"
printf "%s\n" "${PODZONES[@]}" | sort | uniq -c


👉 @devops_star
👍21
This media is not supported in your browser
VIEW IN TELEGRAM
KubeStalk

KubeStalk обнаруживает Kubernetes и связанную с ним инфраструктуру путем сканирования списка IP адресов.

https://github.com/redhuntlabs/KubeStalk

👉 @devops_star
👍2
Media is too big
VIEW IN TELEGRAM
Dev.DevOps: Docker уроки от А до Я

Docker уроки для начинающих от А до Я - что такое docker ?
Установка Docker и Docker-compose на Windows
Установка Docker и Docker-compose на Ubuntu
Docker основные команды
Docker создаем собственный образ
Dockerfile - что это? Первое знакомство
Docker соединение контейнеров между собой
Docker-compose что это? Первое знакомство
Dockerfile и docker-compose.yml больше автоматизации и связь между ними
Docker разница между образом и контейнером

Все видео доступны на youtube

👉 @devops_star
👍71
44 совета по Ansible: рекомендации и Best Practices

Ansible — один из наиболее часто используемых программных инструментов с открытым исходным кодом для управления конфигурацией, предоставления программного обеспечения и развертывания приложений в облачных и локальных средах. В этой статье мы поделимся Practices по настройке Ansible, предложим интересные подходы для эффективной работы с внутренними компонентами продукта.

Rus https://habr.com/ru/companies/southbridge/articles/725788/

Eng https://medium.com/spacelift/44-ansible-best-practices-to-follow-tips-tricks-e59dde29228f

👉 @devops_star
👍2👎1🔥1
Курсы: Школа DevOps v.1.0

Пробная версия учебного курса по основам DevOps. В рамках курса мы рассмотрим философию девопс и её концепции, и набор базовых инструментов: Ansible, Docker, Gitlab CI

[1-1] Школа DevOps: Жизненный цикл разработки ПО и методологии работы
[1-2] Школа DevOps: Что такое DevOps
[1-3] Школа DevOps: Знакомство с Git, GitLab и BitBucket
[1-4] Школа DevOps: Continuous Integration и CICD Workflow
[1-5] Школа DevOps: Автоматическая сборка и тестирование
[1-6] Школа DevOps: Continuous Delivery и Continuous Deployment

источник

👉 @devops_star
👍41
K8s ASA: Интерфейс хранения данных

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

https://danielmangum.com/posts/k8s-asa-the-storage-interface/

👉 @devops_star
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Простой CI/CD на Ansible Semaphore

CI/CD стал неотъемлемой частью процесса разработки ПО, как в крупных, так и в небольших компаниях и проектах, в том числе open source.

Самыми популярными CI/CD-системами является GitLab и Jenkins. Обе эти системы являются мощными, расширяемыми и включают множество дополнительных возможностей. С помощью этих систем можно построить CI/CD любой сложности. Далее

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

👉 @devops_star
👍6👎1
Что такое DevSecOps?

DevSecOps возник как естественная эволюция практик DevOps с акцентом на интеграцию безопасности в процессы разработки и развертывания программного обеспечения. Термин "DevSecOps" объединяет практики разработки (Dev), безопасности (Sec) и операций (Ops), подчеркивая важность безопасности на протяжении всего жизненного цикла разработки программного обеспечения.

Диаграмма выше показывает важные концепции в DevSecOps:

1. Автоматизированные проверки безопасности
2. Непрерывный мониторинг
3. Автоматизация CI/CD
4. Инфраструктура как код (IaC)
5. Безопасность контейнеров
6. Управление секретами
7. Моделирование угроз
8. Интеграция с обеспечением качества (QA)
9. Сотрудничество и коммуникация
10. Управление уязвимостями


👉 @devops_star
👍2
Курсы: Школа DevOps v.1.0

Пробная версия учебного курса по основам DevOps. В рамках курса мы рассмотрим философию девопс и её концепции, и набор базовых инструментов: Ansible, Docker, Gitlab CI

[2-1] Школа DevOps: Введение в контейнеризацию
[2-2] Школа DevOps: Docker: докерфайлы, основные команды, базовые образы
[2-3] Школа DevOps: Docker: добавляем docker в пайплайн
[2-4] Школа DevOps: Практика с Docker-Compose

источник

👉 @devops_star
👍5