Category Archives: DevOps
Для того чтобы позволить приложениям запрашивать хранилище в кластере Kubernetes без необходимости иметь дело со спецификой инфраструктуры, были введены два новых ресурса. Это постоянный том (PersistentVolume) и заявка на постоянный том (PersistentVolumeClaim). Эти имена могут вводить в заблуждение, поскольку, как вы видели в предыдущих томах, даже обычные тома Kubernetes могут использоваться для постоянного хранения данных. Использовать постоянный том PersistentVolume внутри модуля немного сложнее, чем использовать обычный том модуля, на рисунке показано каким образом связаны между собой модули, заявки на постоянный том PersistentVolumeClaim, постоянные тома PersistentVolume и фактическое базовое хранилище.
Часто при запуске программы 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-сервера
В этом руководстве объясняется, как можно заменить SSH-аутентификацию на основе пароля аутентификацией на основе ключа, которая более безопасна, поскольку входить в систему могут только пользователи, которым принадлежит ключ. В этом примере мы используем PuTTY в качестве нашего SSH-клиента в системе Windows.
Сгенерируйте пару закрытого и открытого ключей
Откройте PuTTYgen.exe, нажмите кнопку сгенерировать, наведите курсор мыши. Как только ключи будут сгенерированы, введите ключевую фразу-пароль (выберите «трудно угадываемую»). Сохраните открытый ключ. Сохраните закрытый ключ.
Генератор ключей PuTTY
Настройте свой Linux-сервер (создайте пользователя, сохраните открытый ключ)
Для этого руководства давайте предположим, что ваше обычное имя для входа usr (замените его на то, которое вы используете регулярно). (далее…)
Чтобы создать службу 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 используются для подключения к службам, находящимся за пределами кластера. Иногда через функционал служб Kubernetes требуется обеспечить доступ к внешним службам, чтобы она перенаправляла подключения на внешние IP-адреса и порты, что позволяет использовать преимущества и балансировки нагрузки служб и обнаружения служб. Клиентские модули, работающие в кластере, могут подключаться к внешней службе так же, как и к внутренним службам.
Службы (Service) не связываются с модулями напрямую. Вместо этого между ними находится ресурс конечных точек (Endpoints). Ресурс Endpoints – это список IP-адресов и портов, предоставляющих доступ к службе. Ресурс конечных точек похож на любой другой ресурс Kubernetes, поэтому можно вывести его основную информацию с помощью команды kubectl get:
$ kubectl get endpoints kubia
Если создать службу без селектора модулей, то Kubernetes не создаст ресурс конечных точек. Поэтому, необходимо вручную создать ресурсы Service и Endpoints и указать список конечных точек для службы. (далее…)
0