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
Эфемерные контейнеры в 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
Docker для новичков

что такое Docker?
термины Docker
клиент-серверная архитектура
готовые образы в интернете
виртуальные контейнеры
образ (image)
контейнер (container)
слой (layer)
установка Docker Desktop
проверка работы Docker
обзор Docker Desktop
запуск контейнера Docker
что такое alpine образы
mapping портов
слои образа
просмотр слоев образа
цепочка образов
просмотр цепочки образов
переменные окружения Windows
открытие терминала
просмотр файлов контейнера
команда docker pull
команда docker run
справка по командам
docker run с параметрами
команда docker container
команда docker exec
верхний слой read/write
хранение данных вне контейнера
типы внешних хранилищ
монтирование bind mount
добавление своих файлов в NGINX

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

👉 @devops_star
👍3