Админизм

заметки об администрировании и программировании (python, ruby, php). Траблшутинг в «примерах» и HOWTO.

😎 О себе | 📚 Литература и ресурсы | ⚡ Все посты | 📮 E-mail

Ansible: получить имя ОС, релиза или номера релиза

При написании сценариев для ansible, может потребоваться узнать версию ОС, ее кодовое имя, номер релиза. Для этого, можно использовать следующие внутренние переменные:


- hosts: localhost
  gather_facts: yes
  become: false
  tasks:
  - name: System details
    debug: msg="{{ item }}"
    with_items: 
    - "{{ ansible_distribution }}"
    - "{{ ansible_distribution_version }}"
    - "{{ ansible_distribution_major_version }}"


источник

Добавить ноду в кластер с Kubernetes

Для получения данных для присоединения ноды в класер kubernetes на master-ноде выполняем следующую команду


kubeadm token create --print-join-command


В ответ нам приходит команда с данными для присоединения новой ноды. Что-то типа такого


kubeadm join 1.0.1.1:7443 --token xxxxxxxxxxxxxxxx     --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Создание пользователя PostgreSQL с правами Read Only

Создание пользователя PostgreSQL с правами Read Only

Для доступа к одной из баз данных, потребовалось создать пользователя с правами readonly, решение для PostgreSQL 9.6+ было найдено на stackoverflow


CREATE USER Read_Only_User  WITH ENCRYPTED PASSWORD 'STRONG_PASSWORD';
GRANT USAGE ON SCHEMA public to Read_Only_User;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO Read_Only_User;

GRANT CONNECT ON DATABASE DATABASE_TO_READ to Read_Only_User;

\c DATABASE_TO_READ

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO Read_Only_User;
GRANT USAGE ON SCHEMA public to Read_Only_User; 
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;


DATABASE_TO_READ — база данных, куда нужно дать доступ на чтение
Read_Only_User — пользователь используемый для доступа
STRONG_PASSWORD — пароль пользователя Read_Only_User
Источник

Найти диск в системе по серийному номеру

В системе вылетел диск, для поиска вылетевшего диска по s/n можно использовать команду


sudo lsblk --nodeps -no name,serial,type,tran


Она его может и не отобразить вообще, если диск вылетел совсем-совсем и не виден в системе

 Нет комментариев    25   21 д   disk   linux   lsblk   s/n

Error: listen EADDRINUSE :::PORT

После деплоя приложения на nodejs в логах возникла ошибка Error: listen EADDRINUSE :::8888
Исходя из данной ошибки — прошлый экземпляр приложения подвис и не отпускал порт, и новый не мог запуститься. Поэтому необходимо помочь ему завершиться. Пример ниже

Узнаем PID исходя из порта


user@backend:~$ sudo lsof -i :8888
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
service  20507  pm2   12u  IPv6 12804495      0t0  TCP *:8888 (LISTEN)


Убиваем процесс с найденным PID


user@backend:~$ sudo kill -9 20507


 Нет комментариев    16   21 д   kill   lsof   nodejs   port
Ранее Ctrl + ↓