Category Archives: DevOps

Тома PersistentVolume и заявки PersistentVolumeClaim

Автор Itworkroom

Для того чтобы позволить приложениям запрашивать хранилище в кластере Kubernetes без необходимости иметь дело со спецификой инфраструктуры, были введены два новых ресурса. Это постоянный том (PersistentVolume) и заявка на постоянный том (PersistentVolumeClaim). Эти имена могут вводить в заблуждение, поскольку, как вы видели в предыдущих томах, даже обычные тома Kubernetes могут использоваться для постоянного хранения данных. Использовать постоянный том PersistentVolume внутри модуля немного сложнее, чем использовать обычный том модуля, на рисунке показано каким образом связаны между собой модули, заявки на постоянный том PersistentVolumeClaim, постоянные тома PersistentVolume и фактическое базовое хранилище.

PersistentVolumeClaim (далее…)

Устранение ошибки в Linux «Could not get lock /var/lib/dpkg/lock»

Автор Itworkroom

Часто при запуске программы Linux apt или apt-get выходит ошибка в терминале:

E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable)

Формулировка ошибки и путь к lock-файлу могут отличаться в зависимости от конкретного случая, но если речь идет о невозможности заблокировать файл dpkg, все они будут устраняться схожими методами.

По сути, ошибка связана с тем, что файл менеджера пакетов dpkg уже заблокирован — то есть, уже выполняется какой-то процесс, который его использует, или выполнение процесса было завершено некорректно.

В первую очередь рекомендуем подождать несколько минут и попробовать запустить apt снова. Вполне возможно, что выполняемый процесс через пару минут автоматически завершится, и вы сможете продолжить работу.

Если же проблема сохраняется, ее можно решить следующими способами. (далее…)

Как настроить аутентификацию по SSH ключам с помощью PuTTY и Linux-сервера

Автор Itworkroom
PuTTY

Как настроить аутентификацию по SSH ключам с помощью PuTTY и Linux-сервера
В этом руководстве объясняется, как можно заменить SSH-аутентификацию на основе пароля аутентификацией на основе ключа, которая более безопасна, поскольку входить в систему могут только пользователи, которым принадлежит ключ. В этом примере мы используем PuTTY в качестве нашего SSH-клиента в системе Windows.

Сгенерируйте пару закрытого и открытого ключей
Откройте PuTTYgen.exe, нажмите кнопку сгенерировать, наведите курсор мыши. Как только ключи будут сгенерированы, введите ключевую фразу-пароль (выберите «трудно угадываемую»). Сохраните открытый ключ. Сохраните закрытый ключ.
putty-ssh-key-auth
Генератор ключей PuTTY
Настройте свой Linux-сервер (создайте пользователя, сохраните открытый ключ)
Для этого руководства давайте предположим, что ваше обычное имя для входа usr (замените его на то, которое вы используете регулярно). (далее…)

Создание службы NodePort в Kubernetes

Автор Itworkroom
NodePort

Чтобы создать службу NodePort, необходимо описать его в манифесте: kubia-svc-nodeport.yaml. В файле задается тип NodePort и указывается порт узла, к которому должна быть привязана эта служба на всех узлах кластера, при этом указание порта не является обязательным. Если его не указать, Kubernetes выберет случайный порт.

apiVersion: v1
kind: Service
metadata:
name: kubia-nodeport
spec:
type: NodePort
ports:
– port: 80
targetPort: 8080
nodePort: 30123
selector:
app: kubia

(далее…)

Конечные точки служб (Endpoints) Kubernetes

Автор Itworkroom
Endpoints

Конечные точки служб (Endpoints) Kubernetes используются для подключения к службам, находящимся за пределами кластера. Иногда через функционал служб Kubernetes требуется обеспечить доступ к внешним службам, чтобы она перенаправляла подключения на внешние IP-адреса и порты, что позволяет использовать преимущества и балансировки нагрузки служб и обнаружения служб. Клиентские модули, работающие в кластере, могут подключаться к внешней службе так же, как и к внутренним службам.
Службы (Service) не связываются с модулями напрямую. Вместо этого между ними находится ресурс конечных точек (Endpoints). Ресурс Endpoints – это список IP-адресов и портов, предоставляющих доступ к службе. Ресурс конечных точек похож на любой другой ресурс Kubernetes, поэтому можно вывести его основную информацию с помощью команды kubectl get:

$ kubectl get endpoints kubia

Если создать службу без селектора модулей, то Kubernetes не создаст ресурс конечных точек. Поэтому, необходимо вручную создать ресурсы Service и Endpoints и указать список конечных точек для службы. (далее…)