3 довольно неизвестных команды Docker, которые помогут вам в самых различных ситуациях
Если вы какое-то время используете Docker, у вас, вероятно, уже есть адаптированный для вас простой и эффективный рабочий процесс, который включает в себя некоторые из ваших любимых команд Docker (если это технически правильные подкоманды).
https://telegra.ph/3-dovolno-neizvestnyh-komandy-Docker-kotorye-pomogut-vam-v-samyh-razlichnyh-situaciyah-09-26
👉 @devops_star
Если вы какое-то время используете Docker, у вас, вероятно, уже есть адаптированный для вас простой и эффективный рабочий процесс, который включает в себя некоторые из ваших любимых команд Docker (если это технически правильные подкоманды).
https://telegra.ph/3-dovolno-neizvestnyh-komandy-Docker-kotorye-pomogut-vam-v-samyh-razlichnyh-situaciyah-09-26
👉 @devops_star
👍5🫡1
Naml - это инструмент управления конфигурацией для описания конфигурации Kubernetes в Go. Имеет хороший инструмент для преобразования YAML в Go.
Особенности
- Создавайте приложения с помощью 🎉 Go вместо YAML.
- Используйте компилятор Go для проверки синтаксиса.
- Пишите реальные тесты 🤓 на Go для проверки и валидации ваших развертываний.
- Тестируйте свои приложения в Kubernetes с использованием kind.
- Определяйте пользовательскую логику установки. Что произойдет, если она не сработает? А что насчет логических проблем во время выполнения?
- Определяйте пользовательские реестры приложений. Множество приложений одного типа? Нет проблем.
- Используйте последний клиент (тот же клиент, который использует остальная часть Kubernetes).
https://github.com/kris-nova/naml
👉 @devops_star
Особенности
- Создавайте приложения с помощью 🎉 Go вместо YAML.
- Используйте компилятор Go для проверки синтаксиса.
- Пишите реальные тесты 🤓 на Go для проверки и валидации ваших развертываний.
- Тестируйте свои приложения в Kubernetes с использованием kind.
- Определяйте пользовательскую логику установки. Что произойдет, если она не сработает? А что насчет логических проблем во время выполнения?
- Определяйте пользовательские реестры приложений. Множество приложений одного типа? Нет проблем.
- Используйте последний клиент (тот же клиент, который использует остальная часть Kubernetes).
https://github.com/kris-nova/naml
👉 @devops_star
👍3
Как подключиться к контейнеру Docker по ssh
После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.
https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
👉 @devops_star
После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.
https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
👉 @devops_star
👍8🤨3
Вопросы на собеседований
Напишите простой демон для systemd, который будет поддерживать работу процесса и перезапускаться в случае выхода из строя процесса.
👉 @devops_star
Напишите простой демон для systemd, который будет поддерживать работу процесса и перезапускаться в случае выхода из строя процесса.
[Unit]
Description=Test_service
After=postgres.service
StartLimitBurst=5
StartLimitIntervalSec=10
[Service]
Type=simple
Restart=always
RestartSec=1
User=centos
ExecStart=/usr/bin/env python /app/server.py
[Install]
WantedBy=multi-user.target
👉 @devops_star
👍5
Nigel Poulton - The Kubernetes Book.pdf
5.7 MB
The Kubernetes Book
Автор: Nigel Poulton (2020)
Kubernetes - это популярная технология для управления и развёртывания контейнеризированных приложений, в
основном используется в связке с другой популярной технологией - Docker. Это руководство предназначено для опытных разработчиков, уже использовавших Docker и работающих с высоконагруженными приложениями. В книге множество примеров, советов и рецептов по решению сложных ситуаций.
В книге рассматриваются следующие темы:
✔️Установка Kubernetes;
✔️Основные принципы работы и использования;
✔️Работа с контейнерами;
✔️Сервисы;
✔️Деплой приложения с помощью Kubernetes и многое другое.
👉 @devops_star
Автор: Nigel Poulton (2020)
Kubernetes - это популярная технология для управления и развёртывания контейнеризированных приложений, в
основном используется в связке с другой популярной технологией - Docker. Это руководство предназначено для опытных разработчиков, уже использовавших Docker и работающих с высоконагруженными приложениями. В книге множество примеров, советов и рецептов по решению сложных ситуаций.
В книге рассматриваются следующие темы:
✔️Установка Kubernetes;
✔️Основные принципы работы и использования;
✔️Работа с контейнерами;
✔️Сервисы;
✔️Деплой приложения с помощью Kubernetes и многое другое.
👉 @devops_star
👍3
Полное руководство по Docker Secrets
Даже если вы использовали Docker для небольших или локально разработанных программ, вы могли обнаружить, что он может быть довольно трудным для решения более сложных задач. Особенно это касается управления секретами и совместного использования - областей, которые часто упускаются из виду при работе с контейнерными приложениями.
https://earthly.dev/blog/docker-secrets/
👉 @devops_star
Даже если вы использовали Docker для небольших или локально разработанных программ, вы могли обнаружить, что он может быть довольно трудным для решения более сложных задач. Особенно это касается управления секретами и совместного использования - областей, которые часто упускаются из виду при работе с контейнерными приложениями.
https://earthly.dev/blog/docker-secrets/
👉 @devops_star
👍3
Вопросы на собеседований
Сетевое взаимодействие в Kubernetes
С помощью чего можно ограничить в Kubernetes сетевое взаимодействие между подами? Приведите пример. Надо ли отдельно включать данный механизм?
👉 @devops_star
Сетевое взаимодействие в Kubernetes
С помощью чего можно ограничить в Kubernetes сетевое взаимодействие между подами? Приведите пример. Надо ли отдельно включать данный механизм?
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: demo-network-policy
namespace: default
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Ingress
- Egress
ingress:
- from:
- ipBlock:
cidr: 172.16.0.0/16
except:
- 172.16.1.0/24
- namespaceSelector:
matchLabels:
project: demo
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 8080
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5432
👉 @devops_star
👍4
DevOps resources
Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP
https://github.com/bregman-arie/devops-resources
👉 @devops_star
Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP
https://github.com/bregman-arie/devops-resources
👉 @devops_star
👍7
Вопросы на собеседований
Стратегии деплоймента
Сделайте реализацию blue/green стратегии деплоймента для Kubernetes на основе деплойментов, сервиса и ingress’а и опишите как переключать версии.
Стратегии деплоймента
Сделайте реализацию blue/green стратегии деплоймента для Kubernetes на основе деплойментов, сервиса и ingress’а и опишите как переключать версии.
### Конфигурация ingress'а
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: / spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app-service
port:
number: 80
### Сервис
apiVersion: v1
kind: Service
metadata:
name: app-service
spec:
selector:
app: app
color: blue
ports:
- protocol: TCP
port: 80
targetPort: 8080
### Деплоймент синей версии
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-blue
labels:
app: app
color: blue
spec:
replicas: 1
selector:
matchLabels:
app: app
color: blue
template:
metadata:
labels:
app: app
color: blue
spec:
containers:
- name: app
image: docker.registry.io/app:1.0.0
ports:
- containerPort: 8080
### Деплоймент зелёной версии
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-green
labels:
app: app
color: green
spec:
replicas: 1
selector:
matchLabels:
app: app
color: green
template:
metadata:
labels:
app: app
color: green
spec:
containers:
- name: app
image: docker.registry.io/app:1.0.0
ports:
- containerPort: 8080
### Переключение версий осуществляется путём изменения селекторов в сервисе
👉 @devops_star👍1
Kubernetes Security Training Platform - Focussing on security mitigation
Симулятор распределенных систем и инфраструктуры для атак и отладки Kubernetes: симулятор создает для вас кластер Kubernetes в вашем аккаунте AWS; запускает сценарии, которые неправильно конфигурируют его и/или делают уязвимым для компрометации, и обучает вас способам устранения этих уязвимостей.
https://github.com/kubernetes-simulator/simulator
👉 @devops_star
Симулятор распределенных систем и инфраструктуры для атак и отладки Kubernetes: симулятор создает для вас кластер Kubernetes в вашем аккаунте AWS; запускает сценарии, которые неправильно конфигурируют его и/или делают уязвимым для компрометации, и обучает вас способам устранения этих уязвимостей.
https://github.com/kubernetes-simulator/simulator
👉 @devops_star
👍2
Media is too big
VIEW IN TELEGRAM
Обучающий курс «Docker для начинающих» (
0:00 - Вступление и обзор курса
01:58 - Что такое Docker?
10:56 - Что такое контейнер?
19:40 - Docker против виртуальной машины
23:53 - Установка Docker
42:02 - Основные команды Docker
57:15 - Отладка контейнера
1:06:39 - Обзор демонстрационного проекта - Docker на практике
1:10:08 - Разработка с использованием контейнеров
1:29:49 - Docker Compose - запуск нескольких сервисов
1:42:02 - Dockerfile - создание собственного образа Docker
2:04:36 - Частный репозиторий Docker - загрузка нашего созданного образа Docker в частный реестр на AWS
2:19:06 - Развертывание нашего контейнерного приложения
2:27:26 - Docker Volumes - сохранение данных в Docker
2:33:03 - Демонстрация Volumes - настройка персистентности для нашего демонстрационного проекта
2:45:13 - Завершение
👉 @devops_star
язык Eng
)0:00 - Вступление и обзор курса
01:58 - Что такое Docker?
10:56 - Что такое контейнер?
19:40 - Docker против виртуальной машины
23:53 - Установка Docker
42:02 - Основные команды Docker
57:15 - Отладка контейнера
1:06:39 - Обзор демонстрационного проекта - Docker на практике
1:10:08 - Разработка с использованием контейнеров
1:29:49 - Docker Compose - запуск нескольких сервисов
1:42:02 - Dockerfile - создание собственного образа Docker
2:04:36 - Частный репозиторий Docker - загрузка нашего созданного образа Docker в частный реестр на AWS
2:19:06 - Развертывание нашего контейнерного приложения
2:27:26 - Docker Volumes - сохранение данных в Docker
2:33:03 - Демонстрация Volumes - настройка персистентности для нашего демонстрационного проекта
2:45:13 - Завершение
👉 @devops_star
👍6
Gitlab ci/cd
В прод с помощью GITLAB CI/CD. На простом примере. Основы.
GITLAB CI/CD vs JENKINS. Что выбрать для своих CI CD pipeline?
GITLAB CI CD сокращаем код. Gitlab ci include, extends, reference, remote, local
Docker BUILD в GITLAB CI CD и kubernetes. Как правильно? Бонус настройка gitlab runner
источник
👉 @devops_star
В прод с помощью GITLAB CI/CD. На простом примере. Основы.
GITLAB CI/CD vs JENKINS. Что выбрать для своих CI CD pipeline?
GITLAB CI CD сокращаем код. Gitlab ci include, extends, reference, remote, local
Docker BUILD в GITLAB CI CD и kubernetes. Как правильно? Бонус настройка gitlab runner
источник
👉 @devops_star
👍7
Traefik в docker-compose
Быстрый старт с Docker Swarm
DOCKER COMPOSE и как работает сеть в ДОКЕРЕ
Запуск веб сервера Nginx в Docker
Docker Swarm & Gitlab - быстрый деплой для любого проекта
Docker. Основы - Сборка образов и сеть
Основы DOCKER с нуля
источник
👉 @devops_star
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9