Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
Khikmat

Хикмат Абдунабиев

  • 38
    вклад
  • 15
    вопросов
  • 61
    ответ
  • 20%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как можно поменять ip адрес мастер и воркер нод кластера Kubernetes?

    bankinobi @bankinobi
    Легче пересоздать кластер. Поднять второй и перенести нагрузку на него.
    Если адреса еще из тойже подсети, то можно исхитриться: выводится нода из кластера - вводится с новым адресом. Желательно сделать переустаровку операционки. Тоже самое с мастерами.
    Если подсети разные, то возникают трудноразрешимые вопросы с сетевым плагином: фланель понимает только плоские сети, с калико можно поиграть с параметром cross-subnet.
    Но самое простое и быстрое - это пересоздание.
    Ответ написан более года назад
    1 комментарий
    1 комментарий
  • Как осуществить доступ через внешний IP на свои ресурсы, находящиеся внутри сети?

    dimonchik2013
    Dimonchik @dimonchik2013
    non progredi est regredi
    маршрутизатор + маркировка пакетов

    марш может быть микротиком, любым другим, сервером с линуксом и т.п.
    Ответ написан более трёх лет назад
  • Нужно ли хранить путь к картинке в БД?

    yayashitoya @yayashitoya
    Если картинка ровно 1 на пост и лежит всегда в одном месте - то не нужно.
    Если картинок много, но лежат они в одном месте - то путь не нужен, только имя файла.
    Если картинка может лежать в разных местах, то нужно и путь хранить.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как организовать zerodowntime обновление СУБД?

    Melkij
    Melkij @Melkij
    PostgreSQL DBA
    Вы должны разрабатывать и деплоить приложение соответствующим образом. Так, чтобы старая версия приложения могла работать с новой версией схемы базы. Или наоборот, новая версия приложения могла работать со старой схемой базы.
    То есть удаление таблички: сначала деплоите приложение, которое уже не работает с этой таблицей, потом удаляете таблицу
    Новая табличка: сначала миграция, затем приложение
    Новое поле в таблице с default значением: сначала поле, затем приложение
    Новое поле без default: сначала новое поле с default null, затем релиз приложения которое обязано писать новое поле, но ещё не читать его (либо приводить null к нужному если это возможно на приложении), затем миграция с проставлением нужного значения (и, блин, не одним update по всей большой таблице), drop default, set not null, деплой приложения со всей логикой
    И так далее. Во время разработки думаем, а как, когда и в сколько итераций это можно будет задеплоить.

    Ну и, разумеется, DBA (или заменяющий его обязанности человек) думает над тем, как именно вносить нужную миграцию в базу
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как правильно сгенерировать и подключить ssl сертификат в nginx?

    Артем @ber_enot
    Веб-разработчик, Vue.js / Node.js
    Проще всего получить сертификат от Let's Encrypt.
    Инструкция здесь: https://certbot.eff.org
    Выбираете сервер (nginx) и ОС, открывается инструкция.

    Вот пример для debian 9:
    https://certbot.eff.org/lets-encrypt/debianstretch...

    А вот конфигурация хоста:
    server {
        listen 443 ssl default_server;
        server_name my-domain;
        
        ssl_certificate /etc/letsencrypt/live/my-domain/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/my-domain/privkey.pem;
      
        # ...
    }


    Это упрощенно. Работать будет, но почитайте еще про настройку HTTPS в nginx.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Переполнен /dev/md2/. Что делать?

    pfg21 @pfg21
    ex-турист
    поставить и запустить ncdu
    посмотреть где что лишнего валяется.
    в нем же можно и удалить лишнее, но осторожно.
    /var/cache, var/log, и много где чего лишнего может лежать.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Почему у меня не тот сайт открывается?

    Softer
    Softer @Softer
    server_name дожен быть разным.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • В чем отличие описание деплой в docker-compose command и ENTRYPOINT?

    qq1 @qq1
    ENTRYPOINT определяет команду которая будет выполнятся при старте контейнера.
    CMD определяет аргументы которые будут переданы в ENTRYPOINT.
    Докер по-умолчанию имеет ENTRYPOINT равный /bin/sh -c
    В свою очередь, command параметр в docker-compose.yml переопределяет CMD из докерфайла.
    Вот и все различия.
    По поводу лаконичности, то что имеет отношение к самому контейнеру и то что не зависит от окружения в котором запускается контейнер логичнее убрать в Dockerfile/entrypoint.sh дабы избежать дублирования в случае нескольких docker-compose.yml
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как запустить контейнер, если Docker говорит, что нет свободного места, а df показывает, что есть?

    luxter @luxter Автор вопроса
    Вопрос решил тем, что почистил директорию /run , ибо проблема была в недостаточном кол-ве места в ней.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как сделать отказоустойчивый кластер PostgreSQL?

    Melkij
    Melkij @Melkij
    PostgreSQL DBA
    Мультимастер СУБД - это такая замечательная штука, которую все хотят и ни у кого пока не получилось.
    Потому что есть такая штука как CAP теорема, весьма мешающая сделать серебряную пулю.

    Ладно, ближе к делу.
    Самая большая проблема с автоматическим failover СУБД - решить, что уже пора переключаться. Для чего необходимо выяснить, а что вообще происходит, не развалилась ли сеть, не вернётся ли через пару секунд мастер обратно - если в сети в результате окажется два мастера, то нет никакого разумного способа определить, где данные актуальны. Худшее что можно представить - это split brain: когда часть приложений ходит в один мастер, часть в другой и данные стремительно расходятся в разные стороны. Есть такая байка про гуглдиск "у нас всё отказоустойчиво, все данные хранятся в 4 экземплярах. Правда, у нас была авария и мы теперь понятий не имеем, какая из копий актуальная"
    Переключение мастера на 90% - решение административное и человеческое. Автоматика же добавляет головной боли. Зачастую - больше головной боли, чем без неё. Особенно если железо адекватное серверное, которое "вдруг" выпадает очень редко.

    Обычно автоматики нет, и есть детальная инструкция по переключению мастера БД, по которой и в ночи можно переключиться.

    Если всё ещё хочется походить по граблям - посмотрите patroni. Есть пара кластеров с ним на поддержке, при наличии мониторинга особых проблем не припоминаю. До split brain по крайней мере не придумал как довести, вроде все варианты прикрыты. В худшем случае в readonly уходит.
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Django orm - как осуществить выборку по нескольким значениям одного поля?

    Konstantin18ko
    Konstantin Malyarov @Konstantin18ko
    Стоматолог
    Model.object.filter(color__in=["red","green","yellow"])
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Можно ли открыть порт в Dockerfile?

    ZiggiPop
    Ziggy Pop @ZiggiPop
    Linux Admin / Frontend Developer
    Из документации:
    EXPOSE <port> [<port>/<protocol>...]
    VOLUME ["/data"]

    То есть в докерфайле ничего нет о том, куда пробрасываются из контейнера порты и откуда маунтятся тома. Все это указывается при создании контейнера, так как от докерфайла не должна зависить инфраструктура вне контейнера.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как пересоздать MySQL бд в docker-compose?

    yellow79
    Andrey Tsvetkov @yellow79
    Senior Software Engineer
    Удалите то, что лежит в db_data
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как посмотреть какой docker контейнер грузит систему?

    Nirail
    Вячеслав @Nirail
    Дайте мне повод и я во все решу
    Если мы говорим о Docker на Linux, то все процессы контейнеров будут отображаться в ps auxf в виде обычных процессов, из этого списка можно найти тот процесс который грузит систему, после чего по иерархии можно найти идентификатор контейнера, по нему конкретный контейнер.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Какая разница между версиями Linux для VPS?

    CityCat4
    CityCat4 @CityCat4
    Жил-был у бабушки серенький троллик...
    Разница между дистрибами конечно есть. Но для VPS она никакого рояля не играет. Если не знаете ни один - ставьте тот, по которому проще будет проконсультироваться.
    На самом деле, когда нет каких-то жестких критериев типа "этот софт работает только в дистрибе N" (вариант - есть пакет только под дистриб M), выбор обычно делают из личных предпочтений :) Как они складываются? Ну вот как получилось, что моим первым дистрибом стал CentOS? На прежней работе сказали - нам все равно что это будет за дистриб, если это будет CentOS :D
    Вся разница проявится при админстве системы и установке программ - у каждого дистриба свой пакетный менеджер и свои приколы в этой области - в работе сайта разницы не будет никакой.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Вопрос по docker. Как работают команды docker create and docker run?

    index0h
    index0h @index0h
    PHP, Golang. https://github.com/index0h
    1)Что делает команда docker create ubuntu ?

    Распаковывает образ и создает на его основании контейнер
    2)Что делает команда docker run ?

    Распаковывает образ и создает на его основании контейнер и запускает его
    3)И для чего нужна команда docker start ?

    Запускает ранее созданный контейнер
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Для чего 2 строка,this.fullName = fullName;?

    Stalker_RED
    Stalker_RED @Stalker_RED
    var vasya = new User("Василий Попкин"); // создется новый оъект класса "User" при этом в конструттор передается параметр "Василий Попкин"
    
    function User(fullName) {
      this.fullName = fullName; // этот параметр записывается в поле объекта
      // ...
    }
    Ответ написан более трёх лет назад
    11 комментариев
    11 комментариев
  • Какие это права?

    Alexander Movchan @Alexander1705
    Не обязательно запоминать номера для каждого флага:
    chmod u=rwx,g=rs,o=rx /usr/bin/crontab
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Управление несколькими линукс серверами?

    moropsk
    moropsk @moropsk
    Краткая шпаргалка по tmux (менеджеру терминалов)
    https://habrahabr.ru/post/126996/

    От screen к tmux + конфиг
    muhas.ru

    Приручаем Tmux для повседневных нужд 
    https://habrahabr.ru/post/165437/

    запустить сеанс с разделёнными окнами
    https://webhamster.ru/mytetrashare/index/mtb0/1384...

    How to Install and Configure latest version of Ansible on Ubuntu Linux
    https://www.cyberciti.biz/faq/how-to-install-and-c...

    Установка и настройка Ansible в Unix/Linux
    https://linux-notes.org/ustanovka-i-nastrojka-ansi...
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как управлять полем сериализатора Django Rest Framework?

    Ilya Chichak @ilya_chch Автор вопроса
    Как выяснилось, самый простой и надежный способ - Сделать второй сериализатор, который бы отдавал все объекты. а в представлении переопределить метод get_serializer, который бы подсовывал нужный сериализатор
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • Следующие →
Самые активные сегодня
  • vabka
    Василий Банников
    • 8 ответов
    • 0 вопросов
  • Drno
    • 8 ответов
    • 0 вопросов
  • nedosekinstanislav
    Stanislav
    • 5 ответов
    • 0 вопросов
  • aryzhanki
    • 2 ответа
    • 3 вопроса
  • Kuzm1ch88
    Кузьмич
    • 4 ответа
    • 0 вопросов
  • Rsa97
    Rsa97
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации