Топ ошибок при установке Kubernetes и как их не допускать
Герой этой статьи делится своим личным опытом установки Kubernetes на AWS Cloud с использованием Ubuntu 20.04. В процессе установки автор столкнулся с некоторыми ошибками, но ему удалось устранить неполадки и найти решения для них. И вот как:
https://habr.com/ru/companies/southbridge/articles/729228/
#devops #kubernetes
@DevOPSitsec
Герой этой статьи делится своим личным опытом установки Kubernetes на AWS Cloud с использованием Ubuntu 20.04. В процессе установки автор столкнулся с некоторыми ошибками, но ему удалось устранить неполадки и найти решения для них. И вот как:
https://habr.com/ru/companies/southbridge/articles/729228/
#devops #kubernetes
@DevOPSitsec
❤6👍1🔥1
Try Redis — тренажёр по БД
Redis — это быстрое хранилище данных класса NoSQL, которое хранит и работает с данными типа «ключ — значение». Данная БД известна своей высокой производительностью, простотой и универсальностью.
А потренироваться в использовании вам поможет тренажёр Try Redis, который может генерировать запросы:
https://try.redis.io/
@DevOPSitsec
Redis — это быстрое хранилище данных класса NoSQL, которое хранит и работает с данными типа «ключ — значение». Данная БД известна своей высокой производительностью, простотой и универсальностью.
А потренироваться в использовании вам поможет тренажёр Try Redis, который может генерировать запросы:
https://try.redis.io/
@DevOPSitsec
🔥5❤3👍1
Практические вопросы для экзамена Certified Kubernetes Security Specialist (CKS)
https://github.com/snigdhasambitak/cks/tree/main
#devops #девопс
@DevOPSitsec
https://github.com/snigdhasambitak/cks/tree/main
#devops #девопс
@DevOPSitsec
GitHub
GitHub - snigdhasambitak/cks: Practice questions for Certified Kubernetes Security Specialist (CKS) exam
Practice questions for Certified Kubernetes Security Specialist (CKS) exam - snigdhasambitak/cks
❤3
Основные инструменты для успешного инженера DevOps
Процесс разработки программного обеспечения был преобразован с помощью методологии DevOps, которая объединяет группы разработки и эксплуатации, упрощает процесс разработки и повышает качество программного обеспечения. Инженеры DevOps жизненно важны для внедрения методов DevOps в организации, и их успех в этой роли зависит от их опыта работы с различными инструментами DevOps. В этой статье рассматриваются некоторые важные инструменты DevOps, с которыми должен быть знаком каждый опытный инженер DevOps. Инструменты разделены на восемь разных сессий, но осваивать их все сразу не обязательно. Даже если вы можете использовать один или два, этого достаточно, потому что они работают по одним и тем же принципам. Кроме того, выбор используемых инструментов зависит от предпочтений вашей организации.
https://dev.to/aws-builders/essential-tools-for-a-successful-devops-engineer-4lgl
Процесс разработки программного обеспечения был преобразован с помощью методологии DevOps, которая объединяет группы разработки и эксплуатации, упрощает процесс разработки и повышает качество программного обеспечения. Инженеры DevOps жизненно важны для внедрения методов DevOps в организации, и их успех в этой роли зависит от их опыта работы с различными инструментами DevOps. В этой статье рассматриваются некоторые важные инструменты DevOps, с которыми должен быть знаком каждый опытный инженер DevOps. Инструменты разделены на восемь разных сессий, но осваивать их все сразу не обязательно. Даже если вы можете использовать один или два, этого достаточно, потому что они работают по одним и тем же принципам. Кроме того, выбор используемых инструментов зависит от предпочтений вашей организации.
https://dev.to/aws-builders/essential-tools-for-a-successful-devops-engineer-4lgl
DEV Community
Essential Tools for a Successful DevOps Engineer
Introduction: The software development process has been transformed by the DevOps...
👍4❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Лекции по основам Docker
▪️введение Docker?
▪️термины Docker
▪️клиент-серверная архитектура
▪️ введение в образы
▪️ виртуальные контейнеры
▪️ образ (image)
▪️ контейнер (container)
▪️ слой (layer)
▪️ установка Docker Desktop
▪️ проверка работы Docker
источник
@DevOPSitsec
▪️введение Docker?
▪️термины Docker
▪️клиент-серверная архитектура
▪️ введение в образы
▪️ виртуальные контейнеры
▪️ образ (image)
▪️ контейнер (container)
▪️ слой (layer)
▪️ установка Docker Desktop
▪️ проверка работы Docker
источник
@DevOPSitsec
👍12🔥5❤3🤝1
Вебинар «Реалити-разработка: как создается PT NGFW. Эпизод 1»
27 апреля в 14:00
Positive Technologies запускает реалити-проект о разработке сложного технологичного продукта. Мы подготовили серию вебинаров, на которых шаг за шагом пройдем путь создания межсетевого экрана нового поколения. Участники трансляций смогут не только наблюдать за рождением нового продукта, но и влиять на его развитие.
В первом эпизоде директор по продуктам Positive Technologies Денис Кораблев расскажет об основах разработки и нюансах, влияющих на будущее продукта. Вы узнаете:
• что важно учесть при создании ядра решения, чтобы добиться высокой производительности и стабильности работы;
• почему мы отказались от использования компонентов open source в разработке.
Регистрируйтесь и присоединяйтесь!
Реклама ИНН 7718668887 АО "ПОЗИТИВ ТЕКНОЛОДЖИЗ"
27 апреля в 14:00
Positive Technologies запускает реалити-проект о разработке сложного технологичного продукта. Мы подготовили серию вебинаров, на которых шаг за шагом пройдем путь создания межсетевого экрана нового поколения. Участники трансляций смогут не только наблюдать за рождением нового продукта, но и влиять на его развитие.
В первом эпизоде директор по продуктам Positive Technologies Денис Кораблев расскажет об основах разработки и нюансах, влияющих на будущее продукта. Вы узнаете:
• что важно учесть при создании ядра решения, чтобы добиться высокой производительности и стабильности работы;
• почему мы отказались от использования компонентов open source в разработке.
Регистрируйтесь и присоединяйтесь!
Реклама ИНН 7718668887 АО "ПОЗИТИВ ТЕКНОЛОДЖИЗ"
❤1
DevDocs — все API-документации в одном месте
Главные преимущества DevDocs включают объединение множества официальных документаций по разработке, удобный поиск и быстрый доступ к информации.
Особенно полезным инструмент будет для студентов IT-направлений, но свою пользу смогут найти в нём и работающие специалисты
Из дополнительных плюсов: интуитивно понятный интерфейс, настраиваемые закладки и автодополнение поиска
Стоимость: #бесплатно
#API #документация #code
@DevOPSitsec
Главные преимущества DevDocs включают объединение множества официальных документаций по разработке, удобный поиск и быстрый доступ к информации.
Особенно полезным инструмент будет для студентов IT-направлений, но свою пользу смогут найти в нём и работающие специалисты
Из дополнительных плюсов: интуитивно понятный интерфейс, настраиваемые закладки и автодополнение поиска
Стоимость: #бесплатно
#API #документация #code
@DevOPSitsec
🔥5❤1👍1🥰1
Как, а главное - зачем, дублировать облачную инфраструктуру?
В новой статье Романа, DevOps-инженера компании Nixys, есть ответы на эти вопросы.
В общем-то, не просто ответы, а целая инструкция - как подготовиться к дублированию облачной инфраструктуры и сделать всё максимально безболезненно.
В новой статье Романа, DevOps-инженера компании Nixys, есть ответы на эти вопросы.
В общем-то, не просто ответы, а целая инструкция - как подготовиться к дублированию облачной инфраструктуры и сделать всё максимально безболезненно.
👍4🔥2❤1
5 приемов оптимизации сборки Docker-образов
Прием 1 — уменьшаем количество слоев в образе
Уменьшить количество слоев в образе можно сворачиванием нескольких однородных инструкций в одну. Например, несколько логически связанных инструкций RUN можно объединить в одну инструкцию с помощью конвейера Linux:
RUN apt-get update && apt-get install -y nginx
Прием 2 — удаляем ненужный кэш apt-get
Пакетный менеджер apt-get, обновляя репозиторий, сохраняет кэш, который в большинстве случаев не нужен, и его можно удалить, уменьшив тем самым собираемый образ на 100+ Мбайт. Сделать это совсем несложно, достаточно в инструкции RUN последней командой указать: && rm -f /var/lib/apt/lists/*.
Соединим оба приёма в одну инструкцию:
RUN apt-get update && apt-get install -y nginx && rm -f /var/lib/apt/lists/*
Такая конструкция работает именно в одной инструкции RUN, если вы вынесете rm -f /var/lib/apt/lists/* в отдельный RUN — ничего не сработает, так как кеш будет очищаться в другом слое, а его обновление будет оставаться в предыдущем слое.
Прием 3 — копируем только нужные файлы проекта в образ с помощью .dockerignore-файла
Обычно для копирования проекта в образ используется инструкция COPY с указанием места расположения проекта, как «.», что указывает на текущею директорию. Такой подход имеет один недостаток — будут скопированы все вложенные подкаталоги и файлы, что может значительно увеличить размер образа.
Исправить ситуацию призван .dockerignore-файл, который работает так же как и .gitignore-файл. В этих файлах указываются те папки и файлы, которые «не надо трогать». Gitignore-файл располагается в корневом каталоге копируемого в образ проекта. Обратите внимание на точку в начале названия файла — «.gitignore», так и должно быть.
Рассмотрим пример работы .gitignore-файла. Например, мы работаем с GIT, и в нашем проекте есть GIT-репозиторий. В образе он нам не нужен, поэтому его можно не копировать, а ещё в образе нам не нужен Dockerfile. Укажем эти файлы в .gitignore-файле:
.GIT
Dockerfile
При сборке образа Docker прочтет .dockerignore-файл и не включит в образ указанные в нем папки и файлы.
Приём 4 — используем минималистические Linux-образа Alpine
Как правило, для сборки образов применяются дистрибутивы Debian, Ubuntu, CentOS. Но это оправдано в том случае, если ваш проект будет использовать всё обилие возможностей ядра и пакетов, которые предоставляет выбранный дистрибутив. Если же вам нужно просто создать контейнер с Nginx или иной другой программой — используйте Alpine-сборки.
Alpine-образ весит считанные мегабайты, а не сотни Мбайт как Debian или Ubuntu, при этом в нём есть всё необходимое для запуска большинства приложений. Например, так выглядит dockerfile Nginx-образа на Alpine-сборке, который занимает 7 Мбайт:
FROM alpine
RUN apk add --no-cache nginx && mkdir -p /run/nginx
EXPOSE 80
COPY custom.conf /etc/nginx/conf.d
dockerCOPY . /opt/
CMD ["nginx”,”-g”,”daemon off;”]
Еще один бесспорный плюс Alpine — скорость сборки образа. Она разительно отличается в лучшую сторону по сравнению со скоростью сборки на любом другом дистрибутиве Linux.
Прием 5 — часто изменяемые слои ставим в конец dockerfile
Слоистая структура Docker-образов имеет одно неприятное свойство — при внесении изменения в один из слоев, это слой и все последующие слои будут пересобраны. Поэтому, чтобы сэкономить время на сборке образа — старайтесь ставить инструкции копирования кода проекта и конфигов в конец dockerfile до команды CMD или ENTRYPOINT.
#devops #девопс
@DevOPSitsec
Прием 1 — уменьшаем количество слоев в образе
Уменьшить количество слоев в образе можно сворачиванием нескольких однородных инструкций в одну. Например, несколько логически связанных инструкций RUN можно объединить в одну инструкцию с помощью конвейера Linux:
RUN apt-get update && apt-get install -y nginx
Прием 2 — удаляем ненужный кэш apt-get
Пакетный менеджер apt-get, обновляя репозиторий, сохраняет кэш, который в большинстве случаев не нужен, и его можно удалить, уменьшив тем самым собираемый образ на 100+ Мбайт. Сделать это совсем несложно, достаточно в инструкции RUN последней командой указать: && rm -f /var/lib/apt/lists/*.
Соединим оба приёма в одну инструкцию:
RUN apt-get update && apt-get install -y nginx && rm -f /var/lib/apt/lists/*
Такая конструкция работает именно в одной инструкции RUN, если вы вынесете rm -f /var/lib/apt/lists/* в отдельный RUN — ничего не сработает, так как кеш будет очищаться в другом слое, а его обновление будет оставаться в предыдущем слое.
Прием 3 — копируем только нужные файлы проекта в образ с помощью .dockerignore-файла
Обычно для копирования проекта в образ используется инструкция COPY с указанием места расположения проекта, как «.», что указывает на текущею директорию. Такой подход имеет один недостаток — будут скопированы все вложенные подкаталоги и файлы, что может значительно увеличить размер образа.
Исправить ситуацию призван .dockerignore-файл, который работает так же как и .gitignore-файл. В этих файлах указываются те папки и файлы, которые «не надо трогать». Gitignore-файл располагается в корневом каталоге копируемого в образ проекта. Обратите внимание на точку в начале названия файла — «.gitignore», так и должно быть.
Рассмотрим пример работы .gitignore-файла. Например, мы работаем с GIT, и в нашем проекте есть GIT-репозиторий. В образе он нам не нужен, поэтому его можно не копировать, а ещё в образе нам не нужен Dockerfile. Укажем эти файлы в .gitignore-файле:
.GIT
Dockerfile
При сборке образа Docker прочтет .dockerignore-файл и не включит в образ указанные в нем папки и файлы.
Приём 4 — используем минималистические Linux-образа Alpine
Как правило, для сборки образов применяются дистрибутивы Debian, Ubuntu, CentOS. Но это оправдано в том случае, если ваш проект будет использовать всё обилие возможностей ядра и пакетов, которые предоставляет выбранный дистрибутив. Если же вам нужно просто создать контейнер с Nginx или иной другой программой — используйте Alpine-сборки.
Alpine-образ весит считанные мегабайты, а не сотни Мбайт как Debian или Ubuntu, при этом в нём есть всё необходимое для запуска большинства приложений. Например, так выглядит dockerfile Nginx-образа на Alpine-сборке, который занимает 7 Мбайт:
FROM alpine
RUN apk add --no-cache nginx && mkdir -p /run/nginx
EXPOSE 80
COPY custom.conf /etc/nginx/conf.d
dockerCOPY . /opt/
CMD ["nginx”,”-g”,”daemon off;”]
Еще один бесспорный плюс Alpine — скорость сборки образа. Она разительно отличается в лучшую сторону по сравнению со скоростью сборки на любом другом дистрибутиве Linux.
Прием 5 — часто изменяемые слои ставим в конец dockerfile
Слоистая структура Docker-образов имеет одно неприятное свойство — при внесении изменения в один из слоев, это слой и все последующие слои будут пересобраны. Поэтому, чтобы сэкономить время на сборке образа — старайтесь ставить инструкции копирования кода проекта и конфигов в конец dockerfile до команды CMD или ENTRYPOINT.
#devops #девопс
@DevOPSitsec
👍15🔥5❤1
✔ Подборка учебных материалов по GraphQL
В веб-разработке API играет решающую роль во взаимодействии клиент–сервер. Два популярных подхода к созданию API-интерфейсов являются GraphQL и REST.
REST был доминирующим подходом в течение многих лет, но GraphQL приобрел популярность в последние годы благодаря своей гибкости и преимуществам в производительности. Оба подхода имеют свои сильные и слабые стороны, и выбор между ними зависит от конкретных потребностей приложения.
Делимся подборкой материалов для изучения GraphQL:
— Введение в GraphQL
— Руководство по языку запросов GraphQL для начинающих
— Официальная Документация
— Что же такое этот GraphQL?
— Видеокурс с примерами создания запросов
@DevOPSitsec
В веб-разработке API играет решающую роль во взаимодействии клиент–сервер. Два популярных подхода к созданию API-интерфейсов являются GraphQL и REST.
REST был доминирующим подходом в течение многих лет, но GraphQL приобрел популярность в последние годы благодаря своей гибкости и преимуществам в производительности. Оба подхода имеют свои сильные и слабые стороны, и выбор между ними зависит от конкретных потребностей приложения.
Делимся подборкой материалов для изучения GraphQL:
— Введение в GraphQL
— Руководство по языку запросов GraphQL для начинающих
— Официальная Документация
— Что же такое этот GraphQL?
— Видеокурс с примерами создания запросов
@DevOPSitsec
👍8🔥2❤1
Forwarded from Вокруг Kubernetes в VK
🔔 Nginx Ingress в Kubernetes: настраиваем мониторинг и оповещения
Решили разобраться, как самостоятельно установить и сконфигурировать Ingress-контроллер Nginx, а также настроить оповещения для ключевых метрик Ingress в Kubernetes. Для этого нашли и перевели пошаговую инструкцию.
В статье объясняется, зачем для этого понадобятся Prometheus и Grafana, а также приводятся примеры кода с пояснениями.
* Для работы вам понадобится кластер Kubernetes и менеджер пакетов Helm v3.
Решили разобраться, как самостоятельно установить и сконфигурировать Ingress-контроллер Nginx, а также настроить оповещения для ключевых метрик Ingress в Kubernetes. Для этого нашли и перевели пошаговую инструкцию.
В статье объясняется, зачем для этого понадобятся Prometheus и Grafana, а также приводятся примеры кода с пояснениями.
* Для работы вам понадобится кластер Kubernetes и менеджер пакетов Helm v3.
Хабр
Как настроить мониторинг и оповещения на Nginx ingress в Kubernetes
Команда VK Cloud перевела пошаговую инструкцию о том, как установить и сконфигурировать ingress-nginx, Prometheus и Grafana, а также настроить оповещения для ключевых метрик Ingress. Для работы...
👍6❤4🔥1