DevOps Star (Звезда Девопса)
2.08K subscribers
191 photos
166 videos
14 files
232 links
Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin

По всем вопросам @evgenycarter
加入频道
Firezone, или как спрятать свою инфраструктуру от посторонних глаз

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

Мы решили проблему с помощью сервиса Firezone, и в этой статье я хочу поделиться нашим опытом. Сегодня я расскажу о том, как DevOps-юнит KTS:

⚫️внедрил виртуальную сеть в существующую инфраструктуру, состоящую из двух k8s-кластеров и нескольких ВМ в разных облаках;
⚫️обеспечил бесперебойный доступ для более чем 150 сотрудников к веб-сервисам.

https://habr.com/ru/companies/kts/articles/869704/

👉 @devops_star
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Защита рабочих нагрузок Kubernetes с помощью gVisor

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

https://moshe-beladev-mb.medium.com/secure-your-kubernetes-workloads-with-gvisor-f189321792e1

👉 @devops_star
👍1
Архитектура Ansible

👉 @devops_star
11👍2
Практические вопросы для экзамена 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