• Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    Программист-прагматик
    совсем не следит за состоянием самих нод - если одна ООМится


    Уже пофиксили через HEALTHCHECK / STOPSIGNAL в Dockerfile. Да и давно работает стандартый OOM.

    Как я понимаю, эту проблему решает кубернетс - это некая надстройка(??)


    Нет, кубер это в первую очередь средство управления ресурсами, причём любыми...
    Так как есть CRD и custom controller'ы, c Operator Framework'oм.

    ComCast, например, управляет железом для стриминга и соответствующим SDN полностью в рамках K8S.

    Для кубера придумали довольно много всякого (говна в том числе), что бы упростить деплой и способ описания жизненного цикла приложений.

    Пока ничего лучше Operator Framework поверх Argo / Spinnaker не знаю.

    Есть для "простых" - rancher.


    Rancher сам по себе только деплоит Kubernetes класстер на пачку серверов, мониторит его, а также позволяет немного бэкапить, накатывать простенькиие Helm Chart'ы.

    Потому в 99% случаев всё сводиться к "Terraform'у ручками" и к самописным Custom Node Driver'ам.

    Вот что реально можно и стоит автоматизировать на Rancher'e так это Cluster Nodes Autoscaling, когда ранчер сам в Node Pool добавляет / удаляет машин по текущим метрикам и делает соответствующий rebuild всякого...

    Практической пользы от rancher'a в случае использования Kubernetes as a Service хостингов не много, если часто не приходиться клонить / обновлять / удалять пачки кластеров и переносить всё с одного хостинга на другой, ну там с подвала в GCP / AWS и наоборот.

    Мне хочется избавиться от проблемы докера (особенно когда сворм все запихивает на одну оставшуюся ноду), и попрпобовать что-то новое.


    Можно жить в проде и без докера - он используется только для сборки образов.

    Пробуйте Kata Containers под gVisor в Kubernetes (получается довольно секурно).
    Сам Kubernetes можно запустить например не в докере а в Nomad'e (так делает Sony).

    И есть ли адекватные gui для управления кубером?


    Кроме ранчера не видел больше ничего ...
    Сам пишу им конкурента сейчас.
    Ответ написан
  • Как сделать ссылку на сайте, чтобы открыть Телеграмм?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Вариант для РФ (ибо домены t.me и telegram.me заблокированы)
    <a href="https://tele.click/{username}">{username}</a>


    UPD 08.04.2019
    Любые альтернативы t.me добавляют со временем рекламу и редиректы на сторонние сайты.
    Пришлось запилить собственное решение https://github.com/tgrm/tgrm.github.io
    Ответ написан
    Комментировать
  • Wordpress в docker, хорошая ли мысль?

    mihdan
    @mihdan
    WordPress-евангелист, ведущий РНР - разработчик
    Несколько лет используем докеры для разворачивания сайтов на WordPress - просто, понятно, удобно и в песочнице и самое главное окружение локальное, тестовое и продуктовое полностью совпадает.

    Деплой отлично строится автоматически на основе GitHub + TravisCI.

    Нет поганой виртуализации как при испльзовании Vagrant, нет зависимостей от Virtualbox.

    Вижу только плюсы.
    Ответ написан
    6 комментариев
  • Best practice в написании Ansible Playbook?

    Best Practices

    1. Если у вас плейбук не монолит, вы планируете его переиспользовать на множестве разных хостоах и плейбуках - дробите его на самостоятельные роли
    2. Для разных групп хостов лучше использовать отдельный плейбук, состоящий из импорта других плейбуков и ролей
    3. Никак. У каждой группы хостов свой плейбук.
    4. ??? Кто топит? Кого?
    Ответ написан
    1 комментарий
  • Объясните как работает php-fpm?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала почитайте что такое SAPI. Затем представьте что apache + mod_php разделили на web-сервер, который проксирует запросы на php-fpm и отдает статику, и собственно отдельный web-сервер который имплементит SAPI и выполняет запросы связанные только с php. То есть статику отдавать мы можем только через php. Суть примерно та же что и у apache2 + prefork + mod_php но оптимизированный только для работы с php. Так же можно поставить на фронт более быстрый и легковесный сервер который умеет проксировать запросы.

    То есть php-fpm это эдакий fast-cgi сервер который постоянно держит готовые для работы пул-процессов (сколько в пуле процессов настраивается, так же как и от какого пользователя их запускать и все такое прочее). Каждый новый запрос уходит в какой-либо процесс из пула, запрос отрабатывает, возвращаем результат тому кто попросил (web-серверу обычно). Если процесс падает (fatal допустим) - поднимаем новый.

    Принципиальной разницы между apache2+mod_php нету, просто упрощается инфраструктура. Наш web-сервер должен только уметь проксировать запросы и отдавать статику, а php-frpm вообще может быть на разных машинах (балансировщиком можно раскидывать запросы). Ну и сами понимаете, nginx + php-fpm будет быстрее обрабатывать запросы чем apache2+mod_php какой бы мы менеджер процессов не использовали в апаче. Минусов по сравнению с apache+mod_php я даже не могу предложить.

    А php-runtime не зависит от этого. Он один на всех, CLI, FPM, mod_php...
    Ответ написан
    7 комментариев
  • Как снизить к минимуму точки отказа?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Два балансировщика с одинаковыми адресами (по паре в кластере, итого четыре), каждый из которых расположен в разных субъектах страны, каждый балансировщик подключен двумя ногами к разным маршрутизаторам по EBGP. Бэки балансировщиков в постоянной синхронизации (heartbeat). Добавляем резерв по виртуализации (vmotion + fault tolerance), по питанию (два независимых ввода + ИБП + ДГУ). Статистически измеряем недоступность + время восстановление + длительность профилактических работ и масштабируем решение по вышеприведенной схеме, дотягиваем доступность до нужного уровня)

    У нас некоторые узлы, где есть риск политических волнений в транзитных странах, ещё по двум спутниковым каналам включены.
    Ответ написан
    Комментировать
  • Можно ли дать ссылку, чтобы на нее могли зайти только 1 раз?

    leni_m
    @leni_m
    ЧупаКобрус
    надо куда-то записать смотрели ли документ хотя бы один раз, что-то вроде
    <?php
        if ($смотрели) {
            echo "Доступ ограничен";
        } else {
            показываем страницу;
            делаем $смотрели = true;
        }
    ?>
    Ответ написан
    Комментировать
  • Можно ли дать ссылку, чтобы на нее могли зайти только 1 раз?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Лучше, ограничить время действия ссылки после первого визита и/или привязать клиентское устройство (установить куки, fingerprint2.js, etc.), с которого он сможет смотреть сколько хочет.
    Но если он отправит ссылку другому - получатель ссылки уже не сможет её открыть, т.к. куки ставятся только один раз: при первом визите.

    или на какой-то ресурс, посмотрев который он уже не сможет зайти туда еще раз.
    Только wrapper через свой хостинг без раскрытия ссылки.
    Ответ написан
    Комментировать
  • Можно ли дать ссылку, чтобы на нее могли зайти только 1 раз?

    Можно организовать связку content + token

    Заходим по определенному адресу с определенным параметром точена;
    Смотрим соответствие контента данному токену;
    Отдаём контент;
    Удаляем связку;
    Ответ написан
    3 комментария
  • Можно ли дать ссылку, чтобы на нее могли зайти только 1 раз?

    gobananas
    @gobananas
    finishhim.ru
    Конечно можно, генерируете URL, записываете в БД, когда происходит переход - ставите флаг что визит был. При остальных переходах флаг считаете. Если 0 - пускаете, если 1 - нет.
    Ответ написан
    4 комментария
  • Vestacp: стоит устанавливать?

    Sanes
    @Sanes
    Чтобы настроить сервер до вменяемого состояния надо потратить немало времени.
    При установки панели эти телодвижения автоматизированы.

    Связка nginx+php-fpm ничем не быстрей nginx+apache. Разница будет заметна на высоконагруженных проектах. И то не факт.

    p.s. От весты отказался 2 года назад. Пользуюсь или ISPman или Plesk.
    Ответ написан
    7 комментариев
  • Vestacp: стоит устанавливать?

    angrydev
    @angrydev
    По вопросам:
    1. Стоит ли устанавливать на личный сервер? Да, если это не dev-сервер или если вы не собираетесь постоянно компилить nginx, устанавливать сложные связки каких-нибудь пакетов, играться с расширениями (модулями) пакетов.
    2. На счёт связок apache+nginx+php-fcgi или apache+php-fcgi - не советую, об этом ниже в блоке "личный опыт".
    3. Стоит ли сносить апач, пых, мускуль при установке Весты? Да стоит, это советуют на офф. форуме.
    4. Стоит ли ставить на чистую систему? Не обязательно, но лично я - рекомендую.

    ---

    Совет:
    • При работе с конфигами доменов - работайте только с шаблонами которые предусмотренные логикой Весты. Т.е. создавайте, модифицируйте, удаляйте шаблоны как хотите, но домены должны иметь конфиг в шаблоне. Тем самым при очередном обновлении или пересоздании настроек для домена - Вам не будет печально.
    • Закройте доступ к панели по-паролю.
    • Вынесите панель на отдельный домен третьего уровня + установите для неё бесплатный сертификат.
    • В шаблоне настроек домена - закомментируйте подключение конфигов, которые дадут доступ к phpMyAdmin, RoundCube и прочим. Для того, чтобы на эти сервисы не могли лазить с других доменов, кроме домена панели (придётся создать минимум два шаблона для сайтов и для панели). Так же сервисы можно тоже закрыть паролем.
    • Настройте бэкап, например на Y.Disk, тем самым при ЧП у Вас останутся конфиги и данные сайтов на руках.
    • Один домен - один пользователь.

    ---

    Личный опыт:
    Есть пара организаций, с которыми я сотрудничаю, они постоянно клепают какие-то говносайтики и общее количество доменов у обоих превышает сотню. "Программисты" у них не знают как работать с SSH, по этому вкорячил им сначала ispconfig, но он оказался для них очень сложным. Поставил Весту, больше полутора лет - полёт нормальный.
    С тех пор - ставлю её всем под "текучку", т.е. обычные сайты.
    Недавно даже "жуткую блондинку" научил ставить Весту и заводить на неё домены. Т.е. система более чем доступна для понимания.

    Теперь по связке apache+nginx+php-fcgi, неоднократно убедился в том, что nginx+php-fpm быстрее.
    Делал сравнение до и после, VDS, ОС, железо - без изменений, оптимальные настройки для ресурсов, но последняя ссвязка - всё равно быстрее.
    Тут хочу уточнить то, что я не считал у проектов не скорость работы php-кода microtime(true), а количество страниц в секунду которые отдаст сервер до появления первой ошибки.

    Любые сайты, самописы, CMS, везде где мне приходилось переводить на новую связку - прирост в среднем более чем в 4 раза. Если же версию php повысить до 7.* - то прирост будет ещё больше и "узким горлышком" останется только MySQL.
    Так что советую nginx+php-fpm. Но если вы собираетесь устанавливать версию php5.6, то Вам придется слегка переделать установочный скрипт (перебить вхождения php на php5.6) и подключить репозиторий для старой версии перед выполнением скрипта:
    apt -y install software-properties-common && 
    add-apt-repository -y ppa:ondrej/php && 
    apt update
    Ответ написан
    4 комментария
  • Vestacp: стоит устанавливать?

    SlavikF
    @SlavikF
    1) С панелью или без?
    Если можно обойтись без панели - то лучше без неё:
    - панель увеличивает attack surface. В прошлом году, в VestaCP нашли дыру, и они просили всех обновиться в срочном порядке, потому что серверы с VestaCP хакали в массовом порядке
    - панель, которая вроде бы должна упрощать администрирование, добавляет сложности. Вы потеряет возможность тюнить конкретные конфиги, потому что Vesta (или другая панель) будут их создавать заново каждый раз, когда вы редактируете настройки из UI. А в UI может и не оказаться того, что вам надо

    2) apache + nginx
    Оно вам надо? Апач и без nginx справляется с 90% задач.
    У меня стоял вот такой VestaCP с Apache + Nginx. Проблемы:
    - веб-статистика сайта была искажённой, потому что я сразу не разобрался какие веб логи использовать. В тех, которые я настроил было правильное кол-во хитов, но но все приходили с одного IP.
    - поменялся IP сервера. Оказалось, что это целая проблема - привязаться к новому IP
    - как-то слетела конфигурация и перестали работать PHP скрипты. Разобраться так и не смог. Снёс всё...
    Ответ написан
    5 комментариев
  • Возможно ли в сайт встроить картинку, на которой поверх нужно кое-что нарисовать?

    IceRD
    @IceRD
    В PHP для работы с графикой есть GD php.net/manual/ru/book.image.php
    Если требуется интерактивное, в таком случае можно посмотреть leafletjs.com
    пример psousa.net/demos/zoom-images
    Ответ написан
    Комментировать
  • Возможно ли в сайт встроить картинку, на которой поверх нужно кое-что нарисовать?

    Stalker_RED
    @Stalker_RED
    Если прямо в браузере, то canvas умеет и рисовать линии/круги/прямоугольники/что угодно
    и склеивать, и накладывать картинки.
    Пример: https://jsfiddle.net/Stalk/0gc4x7qw/ (кликните на кота)
    Библиотек для работы с canvas хватает, на них даже игрушки делают.

    Если на сервере, то GD умеет много всякого делать с картинками, а если вдруг его возможностей не хватит, то есть ImageMagick.
    Ответ написан
    Комментировать
  • Стоит ли все "запихивать" в Docker?

    @askhat
    Если всё запихать в докер, это не даст безопасность по дефолту. Магии нет, безопасность зависит только от вас.

    На вопрос «стоит ли запихивать в докер всё», я отвечаю положительно. Потому что это даст удобство. (1) Общение между контейнерами будет осуществляться через интерфейс докера, что значительно облегчит конфиги. (2) Управление средой станет централизированым и унифицированым, а главное явным. (3) Масштабирование, с помощью докера можно легко запустить дополнительный процесс контейнера, или развернуться на других машинах с помощью докер сворм.

    Контейнеры действительно не должны быть зависимы от стейта, однако приложения в нутри них могут. Для большинства приложений, как СУБД, это вообще не избежно. И тут докер предоставляет удобные средства: вы всегда можете просто замапать директорию контейнера на директорию хоста, или воспользоваться беспроцессным дата контейнером, или создать вольюм, и даже подключить удалёный вольюм через nfs.

    В общем, да—пихайте всё в докер.
    Ответ написан
    2 комментария
  • Стоит ли все "запихивать" в Docker?

    @vortx
    IT-инженер, Web-разработчик, MicroChip-dev
    Докер может вам дать инструмент для возврата в точку X, а именно в начало. Тоесть если вас ломанули вы всегда сможете вернуться в точку начала X. Но это лиш малая часть его возможностей, я думаю вам следует еще праз прочеть доки про Докерс. Скорее всего вы не раскрыли весь потенциал.
    Ответ написан
    Комментировать
  • Какой SSD выбрать для Ubuntu Server?

    Jump
    @Jump Куратор тега Твердотельные накопители
    Системный администратор со стажем.
    • В данном конкретном случае подойдет любой недорогой SSD от известного производителя.
    • Версия SATA не важна и ни на что не влияет.
    резонно ли покупать SSD? Или может выбрать нормальный HDD за те же деньги?
    Зависит от задач, если скорость работы ОС не важна, а требуется много места для хранения, то разумнее будет взять HDD.

    Если вы будете отдавать предпочтение какому-то из SSD, то можете, пожалуйста, описать почему?
    Кратко тут не скажешь, долго объяснять.
    Intel - стабильное качество.
    Samsung - лидер в области SSD.
    WD - компания крупная и известная полного шлака точно не будет, но в плане SSD компания является новичком, и ждать от нее чего-то стабильного не стоит.
    Kingston -дешево, стабильно.
    Я бы выбрал Kingston - он далеко не лучший, но в данной ситуации наиболее оптимален.
    Ответ написан
    Комментировать
  • Какой SSD выбрать для Ubuntu Server?

    @Xilian
    Программист 1С, сетевые технологии, SQL
    Любой SSD на порядок увеличивает скорость по сравнению с HDD. Между разными ssd уже не такая видная на глаз разница. Samsung evo 850 - пока лидер по цена/качество, главное СУБД на него не ставить.
    Ответ написан
    5 комментариев
  • Как заработать школьнику на программировании?

    Будем честны друг с другом, не каждый опытный программер может реально зарабатывать фрилансом.
    На питоне заказов мало. В России фриланс это в 30% кидалово, в 50% мозгоебство на уровне профи.
    Тебе это надо? Чтобы за половину от реальной зарплаты джуна тебе все мозги выносили?

    Будь я сейчас в школе я бы занялся тремя вещами:
    1. Спорт
    2. Девушки
    3. Подготовка в нормальный вуз(берлинский технический например).

    От того что ты будешь зарабатывать 10 - 20 тысяч в твоей жизни ничего не изменится. Я думал что закончу универ, буду получать зп 20 и всё будет в шоколаде. Я получаю сейчас примерно в 2 раза больше моих хотелок. За год устал пропивать их, уже купил все ништяки что хотел. На что-то большее не хватит, квартиру и авто купить хорошую нужно или годами так же сидеть и себя ущемлять, либо получать зп в разы больше.

    В итоге отрывайся и учись, забудь о работе. Я тоже так думал в 15, сайты клепал, языки учил. Толку вышло конечно больше чем у окружающих, но вот в 25 нихера себя счастливым и обеспеченным не чувствую. От того насколько много ты получаешь или какие ты купил ништяки, счастье надолго не прибавляется.

    Сорян если огорчаю.

    Но программирование и электроника это реально профессии будущего, которые даже в РФ будут нормально получать.

    Если хочешь учиться и получать опыт, то ищи наставника, он и работу будет подкидывать и стажировать. Если деньги не так важны, то советую открывать сайты универов, искать направление которое нравится и писать преподам по этому направлению(не ниже к.т.н), обычно очень положительно относятся к тем кто со школы начинает грызть направление.

    Я вот в школе когда был напросился ходить в универ на интересные лекции . Учился потихоньку, сверстники смотрели как на сумашедшего=))))
    Ответ написан
    1 комментарий