Category Archives: DevOps

Метки в Kubernetes

Автор Itworkroom
k8s

Метки представляют собой функциональное средство для организации не только модулей, но и других ресурсов Kubernetes. Метка – это произвольная пара «ключ-значение», присоединяемая к ресурсу, которая затем используется при отборе ресурсов с помощью селекторов меток (ресурсы фильтруются на основе того, включают они метку, указанную в селекторе, или нет). Ресурс может иметь несколько меток, если ключи этих меток уникальны в пределах данного ресурса. Метки обычно прикрепляются к ресурсам при их создании, но можно также добавлять дополнительные метки или даже изменять значения существующих меток позже без необходимости повторного создания ресурса.

Модуль обозначается с помощью 2 меток:

app, указывает, к какому приложению, компоненту или микросервису принадлежит модуль;
rel, показывает, является ли приложение, запущенное в модуле, стабильной, бета- или канареечной версией.

Канареечный релиз – это новая версия приложения рядом со стабильной версией, только небольшая часть пользователей попадает в новую версию, чтобы увидеть, как она себя ведет, прежде чем развернуть ее для всех пользователей. Это препятствует доступу слишком большого числа пользователей к плохим релизам.
Добавив эти две метки, вы, по существу, организовали свои модули в двух измерениях (горизонтально по приложениям и вертикально по релизам). (далее…)

Создание модулей (POD) из дескрипторов YAML или JSON

Автор Itworkroom
pod k8s

Создание модулей (POD).

Существуют неуправляемые модули, создаваемые напрямую и управляемые модули, которые создаются и управляются контроллерами репликации (ReplicationController) или развертываниями (Deployment).
Модули и другие ресурсы Kubernetes обычно создаются путем публикации манифеста JSON и YAML в конечной точке API REST Kubernetes или командой kubectl run. Определение объектов Kubernetes из файлов YAML позволяет хранить их в системе управления версиями.

Команда для получения полного определения дескриптора YAML существующего модуля:

$ kubectl get po имя_модуля -o yaml

Структура файла YAML развернутого модуля:
apiVersion: v1 [Версия API Kubernetes, используемая в этом дескрипторе YAML]
kind: Pod [Тип объекта/ресурса Kubernetes]
metadata: [метаданные – включают имя, пространство имен, метки и другую информацию о модуле]
(далее…)

Удаление образов, контейнеров и томов Docker

Автор Itworkroom
docker

Использование этого руководства:

  • Это руководство в формате полезных советов

Синтаксис замены команды command $(command), используемый в командах, доступен во многих популярных оболочках, включая bash, zsh и Windows Powershell.

Очистка всех неиспользуемых или не связанных с контейнерами образов, контейнеров, томов и сетей

В Docker имеется команда, очищающая все не связанные с контейнерами ресурсы, в том числе образы, контейнеры, тома и сети:

$ docker system prune

Чтобы удалить все остановленные контейнеры и неиспользуемые образы (а не только образы, не связанные с контейнерами), добавьте в эту команду флаг -a:

$ docker system prune -a (далее…)

Установка в Docker-Compose WordPress на Nginx и PHP под Ubuntu

Автор Itworkroom

Ubuntu, Docker-Compose, WordPress, Nginx, PHP, MariaDB, PhpMyAdmin

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.

Docker-Compose — это средство командной строки для определения и управления Multi-контейнером и docker-контейнерами как единой системой. Compose написан на Python и может быть установлен командой Python pip. Благодаря Compose, мы можем запустить несколько контейнеров docker с помощью одной команды. Это позволяет создать контейнер в качестве сервиса, который отлично подходит для разработки, тестирования и промежуточной среды.

Вы узнаете, как создать контейнер из docker образов и управлять всеми контейнеров с Docker-Compose. Мы развернем CMS WordPress в nginx, PHP, MariaDB, PhpMyAdmin. Каждая служба имеет свой собственный контейнер, и мы будем использовать образы из докер-реестра. (далее…)

Доступ через SSH и работа с ключами (доступ ssh по ключам)

Автор Itworkroom
ssh

Хорошая практика при использовании SSH использовать ключи шифрования, повышается безопасность за счет использования ключей и удобство за счет отключения функции ввода пароля. Для этого необходимо сгенерировать ключи шифрования открытый (публичный) и закрытый (приватный), скопировать публичный ключ на удаленный целевой хост, добавит этот ключ в хранилище и отключить авторизацию по паролю в службе sshd.

Сгенерируем RSA пару ключей на локальном компьютере:

(далее…)