Свежие записи

Kubernetes dasboard. Не все так просто...

Dashboard в kubernetes. Изначально планировал показать подключение дашборда в рамках предыдущего видео. И обычно, для доступа к нему достаточно двух команд в командной строке, но не в случае kubespray 2.12.

Установка последнего дашборда, права доступа и прочие мелочи.

Читать далее →

Kubernetes добавление, удаление node

Добавление, удаление ноды в кубернетес.

Добавляем при помощи kubespray. Удаляем руками.

В начале видео было заявлено включение дашборда. Но “в жизни все не так как на самом деле”. Пришлось разбираться с глючным дашбордом, ставить новый и править доступы. Все это заняло достаточный кусок времени. Пришлось выносить в отдельное видео.

Читать далее →

Вакансии Системный администратор Linux

В дружественной компании открыты вакансии Сисадминов Linux. Компания надежная. Работа удаленная, т.е. кандидат может проживать в любом регионе России. Работы много, кризис на работу не влияет, даже увеличил её (работы) количество.

Системный администратор Linux

Обязанности:

  • Администрирование и поддержка информационных систем: микросервисы, WEB приложения.
  • Участие в релизах, выполнение регламентных работ (несколько раз в месяц работы могут быть после 20:00 по Москве)

Требования:

  • Уверенные знания принципов работы сетей TCP/IP (как минимум умение пользоваться базовыми программами типа tcpdump, traceroute и прочих. Понимание возможных ошибок и путей их устранения).
  • Хорошие знания nginx (настройка, поиск неисправностей, мониторинг ошибок).
  • Понимание работы приложений java (настройка запуска, мониторинг, умение читать java логи, понимание основных ошибок).
  • Грамотная речь и письмо.
  • Способность к обучению, инициативность.
  • Плюсом при собеседовании являются знания:
    • ansible, haproxy, docker, prometheus, elasticsearch, git, kubernetes.
    • Понимание процессов DevOps.
    • Базовые знания PostgreeSQL (выполнение простых SQL запросов).

Условия:

Читать далее →

Elasticsearch и ошибка "failed to parse field [time] of type [date]"

В один прекрасный день, elastic может сойти с ума. Перестать принимать информацию в индекс и начать кидать в логи ошибки типа:

failed to parse field [time] of type [date]

Проблема в автоматическом распознавании содержимого полей. Особенно это касается поля, в котором содержится дата и время. Тот самый прекрасный день настал, когда наши программеры немножечко изменили формат даты. И этот формат не стал совпадать с форматом, который эластик использует по умолчанию.

Какой формат используется можно увидеть в mapping интересующего вас индекса:

Читать далее →

OpenVPN and OpenLDAP, not MD5 hash password

Собственно коронавирус, пользователи стаями потянулись на удалёнку. Пришла пора VPN серверов.

Достаточно стандартное решение OpenVPN + OpenLDAP позволяет управлять доступом пользователей к vpn серверу. Конфигурируется незамысловато, в интернет есть куча готовых советов как это делать. У меня в старой wiki была статейка как приготовить OpenVPN. Предупреждаю, статейка старинная, но еще рабочая.

Но в процессе настройки нашел забавную особенность:Если в OpenLDAP для хеширования пароля используется не MD5, то плагин openvpn-auth-ldap будет давать ошибку.

Читать далее →

Нашел награды Деда.

image

На сайте “Память народа” постепенно выкладывают сканы архивных документов. Регулярно туда заходил, но данных про деда Плетнёва Ивана Сергеевича не находилось.

Сегодня повторил поиск и нашел сразу три награды.

image

image

image

https://pamyat-naroda.ru/heroes/podvig-chelovek_nagrazhdenie80172804

image

Медаль “За оборону Кавказа”

image

image

image

Орден “Отечественной войны” I степениОсталось найти: Второй орден “Красной звезды” и медаль “За боевые зазлуги”

image

image

Добавил на “Память народа”личную страницу деда.

Читать далее →

Hibernate, Spring и имена таблиц, полей базы данных.

Эх, давно не брал я в руки шашку. (с) Василий Иванович

Пришлось и мне встать на тропу микросервисов. Поскольку java основной язык программирования, то в качестве платформы был выбран Spring. Начинаю потихоньку копать этот фреймворк.

Досталась мне в наследство базёнка, в которой имена таблиц и полей начинаются с большой буквы. Типа: Notes, NotesIndex и т.п.

Настраиваю spring JPA, все как в примере работы с MySQL. Только в отличии от примера использую готовую таблицу. Проверку опять же:

Читать далее →

Kubernetes, включение RBAC на namespace

Создадим namespace artur, доступ к которому будем разрешать пользователю artur:

# kubectl create namespace artur

Как создавать пользователя было описано тут.

Создаём файл с описанием role и rolebindig - 01. yaml следующего содержания:

---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      namespace: artur # namespace к которому применяются огранияения
      name: artur-role
    rules:
    - apiGroups: [""] # "" indicates the core API group
      resources: ["pods", "services", "replicationcontrollers"]
      verbs: ["create", "get", "update", "list", "delete"]
    - apiGroups: [""]
      resources: ["pods/log"]
      verbs: ["get", "list"]
    - apiGroups: [""]
      resources: ["pods/exec"]
      verbs: ["create"]
    - apiGroups: ["apps"]
      resources: ["deployments","daemonsets","replicasets","statefulsets"]
      verbs: ["create", "get", "update", "patch", "list", "delete", "deploy"]
    - apiGroups: ["autoscaling"]
      resources: ["horizontalpodautoscalers"]
      verbs: ["create", "get", "update", "list", "delete"]
   - apiGroups: ["batch"]
     resources: ["jobs","cronjobs"]
     verbs: ["create", "get", "update", "list", "delete"]
--- apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
 name: artur-rb
 namespace: artur
subjects:
- kind: User
  name: artur
  apiGroup: rbac.authorization.k8s.io
roleRef:
 kind: Role
 name: artur-role
 apiGroup: rbac.authorization.k8s.io

Создаем роли и биндинги в кубернетес.

Читать далее →