Firezone, или как спрятать свою инфраструктуру от посторонних глаз
Аутсорс-разработка цифровых продуктов — одно из ключевых направлений нашей деятельности. Для доступа в собственные внутренние контуры и защищенные среды клиентов нашим сотрудникам приходилось каждый раз использовать разные связки логинов и паролей. С ростом числа клиентов это становилось неудобным, и перед нами встала непростая задача — обеспечить единую точку входа в разные среды.
Мы решили проблему с помощью сервиса Firezone, и в этой статье я хочу поделиться нашим опытом. Сегодня я расскажу о том, как DevOps-юнит KTS:
⚫️ внедрил виртуальную сеть в существующую инфраструктуру, состоящую из двух k8s-кластеров и нескольких ВМ в разных облаках;
⚫️ обеспечил бесперебойный доступ для более чем 150 сотрудников к веб-сервисам.
https://habr.com/ru/companies/kts/articles/869704/
👉 @devops_star
Аутсорс-разработка цифровых продуктов — одно из ключевых направлений нашей деятельности. Для доступа в собственные внутренние контуры и защищенные среды клиентов нашим сотрудникам приходилось каждый раз использовать разные связки логинов и паролей. С ростом числа клиентов это становилось неудобным, и перед нами встала непростая задача — обеспечить единую точку входа в разные среды.
Мы решили проблему с помощью сервиса Firezone, и в этой статье я хочу поделиться нашим опытом. Сегодня я расскажу о том, как DevOps-юнит KTS:
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
Мы все знакомы с контейнерами и любим их. Контейнеры используют одно и то же ядро хоста, что делает их довольно портативным и легким решением. С другой стороны, мы бы предпочли снизить риск нанесения вреда хост-машине или операционной системе, что можно сделать с помощью технологий песочницы, и gVisor - одна из них.
https://moshe-beladev-mb.medium.com/secure-your-kubernetes-workloads-with-gvisor-f189321792e1
👉 @devops_star
👍1
Практические вопросы для экзамена Certified Kubernetes Security Specialist (CKS)
https://github.com/snigdhasambitak/cks/tree/main
👉 @devops_star
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
#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
GitOps стал чрезвычайно популярным способом управления инфраструктурой и приложениями Kubernetes. Используя Git в качестве единого источника, GitOps позволяет использовать инфраструктуру как код и автоматизировать развертывание приложений в Kubernetes. Этот подход сегодня используют многие компании, поэтому я хотел поделиться нашим путешествием по GitOps в серии постов на эту тему.
https://www.codereliant.io/gitops-guide-argocd-vs-flux/
👉 @devops_star
👍3❤1
Шпаргалка по командам управления Docker
Команды управления Docker используются для управления контейнерами Docker, образами, сетями, томами и многим другим. С помощью этих команд вы можете взаимодействовать с демоном Docker и запускать контейнеры, создавать и распространять образы, управлять сетями и томами, а также выполнять многие другие задачи. Команды управления Docker позволяют разработчикам и системным администраторам управлять ресурсами Docker и автоматизировать различные задачи, связанные с контейнерами.
https://www.linuxteck.com/docker-management-command-cheat-sheet/
👉 @devops_star
Команды управления 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
Доклад руководителя разработки 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
источник
👉 @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
Платформа с открытым исходным кодом 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
С версии 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: эффективные команды
Расшировать параметр секрета.
где db - имя секрета, DB_PASSWORD - один из параметров секрета.
Удалить все поды используя helm.
Удалить все поды в состоянии Evicted.
Скрипт для просмотра занятого пространства образами docker.
Скрипт для для установления соответствия между задеплоеными подами, нодами, где они находятся и зоной в которой располагаются.
👉 @devops_star
Расшировать параметр секрета.
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
👍2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
KubeStalk
KubeStalk обнаруживает Kubernetes и связанную с ним инфраструктуру путем сканирования списка IP адресов.
https://github.com/redhuntlabs/KubeStalk
👉 @devops_star
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
Docker уроки для начинающих от А до Я - что такое docker ?
Установка Docker и Docker-compose на Windows
Установка Docker и Docker-compose на Ubuntu
Docker основные команды
Docker создаем собственный образ
Dockerfile - что это? Первое знакомство
Docker соединение контейнеров между собой
Docker-compose что это? Первое знакомство
Dockerfile и docker-compose.yml больше автоматизации и связь между ними
Docker разница между образом и контейнером
Все видео доступны на youtube
👉 @devops_star
👍7❤1
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
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
Пробная версия учебного курса по основам 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
👍4❤1