Как стать автором
Обновить
60
0
Геннадий @h1g

Пользователь

Отправить сообщение

Kubernetes-HA. Разворачиваем отказоустойчивый кластер Kubernetes c 5 мастерами

Время на прочтение17 мин
Количество просмотров55K

В данный момент инсталяция по данному мануалу работать не будет. Из за больших изменений API Kubemaster, в данный момент я готовлю новый цикл статей где будут рабочие версии мануалов
Первая из статей habr.com/ru/post/462473


Здравствуйте!

В данной публикации я хотел бы рассказать о кластере Kubernetes с высокой доступностью (HA).

image

Оглавление:

  1. Вступление
  2. Список используемого софта
  3. Список и назначение хостов
  4. Принцип работы и развертывания
  5. Подготовка ОС к развертыванию. Установка docker, kubeadm, kubelet и kubectl
  6. Подготовка конфигурационного скрипта
  7. Создание etcd кластера
  8. Инициализация мастера с помощью kubeadm
  9. Настройка CIDR
  10. Инициализация остальных мастернод
  11. Настройка keepalived и виртуального IP
  12. Добавление рабочих нод в кластер
  13. Установка ingress-nginx
  14. Дополнительно

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии19

Cтриминг видео для iPad/iPod/iPhone на Bash-е — дёшево и сердито

Время на прочтение6 мин
Количество просмотров8.1K
Здравствуйте, уважаемые хаброжители!

В этой короткой статье я хочу поделиться опытом создания системы онлайн-вещания для устройств «одной фруктовой компании» :).



Читать дальше →
Всего голосов 80: ↑70 и ↓10+60
Комментарии65

Несколько полезных конфигов для debian

Время на прочтение9 мин
Количество просмотров2.7K
Публикую часть своих конфигурационных файлов, а если быть точным — заготовок конфигов, чтобы их не забыть/не потерять, и возможно помочь кому-либо. Все данные конфиги подготовлены для debian squeeze (на настоящий момент testing), но, по преемственности должны работать в ubuntu.
Данные конфигурационные файлы включают:
Настройку основных, достоверных репезиториев для debian (в конфиге приведен репозиторий yandex)
Конфигурационный файл сети, включая готовое решение для организации wifi ad-hoc сети (wifi на базе atheros, с madwifi есть некоторые особенности)
Конфигурацию для работы с dns серверами, включая дополнительные резервные.
Конфигурацию dhcp сервера, адаптированную для работы с двумя сетевыми картами
Скрипт позволяющий запускать iptables как любой другой демон (сам конфиг iptables отсутствует).

Читать дальше →
Всего голосов 23: ↑13 и ↓10+3
Комментарии7

Масштабирование MySQL в реальном времени

Время на прочтение2 мин
Количество просмотров1.5K
imageНа написание этого поста меня натолкнул топик glix. Итак вкратце:
Amazon теперь предоставляет сервис отказоустойчивой масштабируемой базы данных, т.е. наш MySQL теперь в облаке. Более подробно можно прочитать в самой статье, так что пересказывать её не буду.

Единственный минус подобного решения — цена. Не скажу, что услуги Amazon заоблачно :) дороги, но при работе сервера 24 часа в сутки, это может влететь в копеечку. Сидя на DevConf'е у меня родилась идея, как этого можно избежать.
читать дальше
Всего голосов 12: ↑11 и ↓1+10
Комментарии21

Eucalyptus – «облако» своими руками

Время на прочтение5 мин
Количество просмотров4.5K
Существующие технологии «облачных вычислений» позволяют не только использовать публичные сервисы, на подобии Amazon, но и самостоятельно разворачивать «облачные» инфраструктуры, как на базе предприятий, так и в домашних условиях. Существуют свободно распространяемые системы для таких частных облаков. Эти системы доступны каждому, но их установка может стать непростой задачей. Опыту установки одной из наиболее известных таких систем и посвящена данная статья.

Eucalyptus — это разработка сотрудников University of California, Santa Barbara, распространяемая по лицензии GPL v3. Архитектурно Eucalyptus состоит из нескольких основных элементов:
  • Cloud Controller – контроллер «облака», принимает запросы от пользователей на создание виртуальных машин;
  • Walrus – хранилище пользовательских данных и образов виртуальных машин;
  • Cluster Controller – контролер кластера, распределяет задачи по запуску виртуальных машин между узлами;
  • Node Controller – контролер узла, управляет жизненным циклом виртуальных машин.


image

Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии10

Amiga 1200, максимальный апгрейд

Время на прочтение8 мин
Количество просмотров22K
Расскажу о компьютере Amiga 1200, а так же о том как ее можно почти максимально проапгрейдить.

Amiga 1200 — это бюджетный компьютер из семейства Amiga, выпускался с 1992 года.
Данная амига имеет чипсет AGA, это последнее поколение Амиг выпущенное Commodore перед банкротством.



Читать дальше →
Всего голосов 116: ↑110 и ↓6+104
Комментарии96

Коллекция описаний алгоритмов

Время на прочтение1 мин
Количество просмотров868
Искал способ быстрого поиска строки по нескольким подстрочкам. Наткнулся на сайт с подборкой описаний алгоритмов. Спешу поделиться — думаю многим может пригодиться. Сам завис там на пару часов.

Заодно вопрос к уважаемым Хабражителям: какой бы алгоритм Вы посоветовали бы для быстрого поиска записи (название) по нескольким фрагментам (отрывки слов в названии) расположенным в случайном порядке не так как в искомой записи.
Массив информации — около 1.5 миллионов записей, требуемая скорость — 300-1000 одновременных запросов в секунду на простом железе (не-супер-пупер-многопроцессорный вычислительный комплекс).

Мне пока приходит в голову только мысль о том, чтобы сделать индекс поиска на базе какого-то хеш-алгоритма, но пока не придумал как совместить хеш с неполными словами в различных комбинациях и непредскауемым порядком их появления в запросе.
Всего голосов 32: ↑21 и ↓11+10
Комментарии20

Аналог ip unnumbered в Linux системах или экономим IP адреса

Время на прочтение4 мин
Количество просмотров18K
Не так давно я столкнулся с проблемой аналога ip unnumbered на Linux, которая с легкостью реализовывается на оборудование Cisco.
При использование такого вида маршрутизации, не придется делить сеть глобально маршрутизируемых ip адресов на небольшие с маской /30 или /31. Достаточно присвоить, например, интерфейсу loopback сеть класса C ( /24 ), а клиентским интерфейсам указать на то, что вся обработка IP пакетов будет осуществляется с адресом присвоенным loopback interface. Тем самым вы получаете рациональное использование IP адресов.
Рассмотрим теперь выше сказанное на практике.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии13

Как устроен типичный ISP (Internet Service Provider)

Время на прочтение3 мин
Количество просмотров30K
Многие задаются вопросом как устроена сеть провайдера или как им самим строить сеть, в данной статье я покажу как спроектирована и работает сеть у меня, на логическом уровне. Хотя не считаю свою структуру за идеальную, можно было сделать и лучше, но это мое имхо :) ибо истина “спроси у 2-х провайдеров как строить сеть – получишь 3 разных варианта “

Теперь подробнее о том как это работает
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии15

directadmin + nginx и о том как их подружить

Время на прочтение4 мин
Количество просмотров1.4K
Как известно, apache хорошая штука, но его тяжеловестность, сильно ограничивает возможности.
Для решения проблемы используется связка frontend + backend. В качестве backend сервера выступает apache, а в качестве frontend сервера, любой другой легковестный. В статье мы рассмотрим связку, в которой nginx выступает в роли вронт-энд сервера.
В интернете полно статей, о том, как настроить nginx, но я не столкнулся ни с одной, как заставить работать nginx вместе с панелью управления directadmin.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии11

Помогите выбрать ОС для тонкого клиента.

Время на прочтение2 мин
Количество просмотров13K
Этот топик–вопрос является логическим продолжением предыдущих:



У меня появился некоторый опыт работы с тонкими клиентами. Я перепробовал несколько различных вариаций, однако оптимальный вариант так и не был найден.

Под катом описание опробованных тонких и полутолстых клиентов, а также сам вопрос.
Читать дальше →
Всего голосов 65535: ↑32767.5 и ↓32767.50
Комментарии22

Интересные приемы программирования на Bash

Время на прочтение6 мин
Количество просмотров129K
Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
В данной статье они были пересмотрены и дополнены.
Читать дальше →
Всего голосов 181: ↑175 и ↓6+169
Комментарии67

Deploy с помощью Salt

Время на прочтение8 мин
Количество просмотров33K

До сих пор во многих компаниях deploy создает большие проблемы и может занимать дни, недели и в особо запущенных случаях месяцы. Но ситуация не безнадежна. Существует много инструментов и практик, способных помочь в этом нелегком деле. Вот только эти инструменты чаще всего за один-два дня не освоишь, а сроки горят.

Чего обычно хочется:
  • Возможность поднять проект локально на машине разработчика. Весь или хотя бы частями. Причем очень хочется, чтобы Dev конфигурация отличалась от Prod в минимуме параметров. Это позволит избежать “work on my machine” багов. Да и вообще, когда один разработчик работает на OS X, другой на Windows, а продакшен на Debian, то жди беды, это не считая того, что каждый делает работу по настройке окружения.
  • Dev конфигурацию хочется разворачивать на любой машине и ОС в пару команд в консоли. Это опять же позволит уменьшить фактор “work on my machine” багов. А еще позволит привлекать других разработчиков в проект за минимальное время (vagrant up и поехали).
  • Конфигурация должна быть понятна и программисту, и админу.

Всего этого мы добьемся на связке Salt + Vagrant на примере Django проекта. Но большинство техник будут полезны разработчикам не только на Python, но на других языках.
Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии34

Непрерывная интеграция на примере Hudson

Время на прочтение10 мин
Количество просмотров33K
Все мы прекрасно понимаем, что тестирование является неотъемлемой частью жизненного цикла разработки ПО. Чем чаще мы тестируем наш код, тем быстрее мы сможем обнаружить ошибку, вкравшуюся в него в ходе разработки, и быстрее её исправить. При этом стоит понимать, что тестирование крайне желательно проводить в окружении, максимально близком к боевому (ОС, ПО, Hardware, Нагрузка), что бы иметь возможность обнаружить ошибки, которые не проявляются на сервере разработки, но могут появиться в бою. Компануя два вышесказанных тезиса вместе мы получаем концепцию, называемую Continuous Integration.

Суть CI заключается в постоянной (например, после каждого commit'а) сборке и тестировании разрабатываемого ПО в максимально приближенной к боевой среде с целью как можно более раннего обнаружения ошибок и оповещения о них разработчиков. Сама идея CI принадлежит Martin Fowler, подробно описавшему её в своей статье.

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

Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии21

Ubuntu, почтовый клиент для MS Exchange 2007

Время на прочтение3 мин
Количество просмотров54K

Введение


Используя Ubuntu в качестве основной ОС на работе, столкнулся с проблемой подключения к MS Exchange 2007. Протоколы POP и IMAP у нас отключены, единственной лазейкой была OWA — веб-интерфейс. Итак, попробуем рассмотреть возможные варианты решения этой проблемы. В качестве подопытной операционной системы используется Ubuntu 11.04.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии19

Кластер, который всегда с собой

Время на прочтение5 мин
Количество просмотров39K
lxcЗахотелось странного.
Во-первых, взгромоздить кучу виртуальных машин прямо на свой ноутбук.
А во-вторых, раскурить одну виртуализацию внутри другой.

Речь пойдет про использование контейнеров LXC, причем внутри другой виртуальной машины.

WTF! На кой это нужно?
Всего голосов 131: ↑126 и ↓5+121
Комментарии58

Инструменты командной строки для веб-разработчика

Время на прочтение3 мин
Количество просмотров39K
Жизнь веб-разработчика омрачена сложностями. Особенно неприятно, когда источник этих сложностей неизвестен. То ли это проблема с отправкой запроса, то ли с ответом, то ли со сторонней библиотекой, то ли внешний API глючит? Существует куча различных прилад, способных упростить нам жизнь. Вот некоторые инструменты командной строки, которые лично я считаю бесценными.
Читать дальше →
Всего голосов 227: ↑217 и ↓10+207
Комментарии30

Обзор php-frontend'а системы мониторинга Zabbix

Время на прочтение5 мин
Количество просмотров17K
Здравствуйте, хабраюзеры!

Я думаю, каждый уважающий себя системный администратор локальной сети установит систему мониторинга, чтобы быть в курсе всех изменений и событий. Я хочу рассказать про систему мониторинга Zabbix, а точнее про его php-frontend. Здесь только мой личный опыт полученный на реальной локальной сети.
Читать дальше →
Всего голосов 47: ↑39 и ↓8+31
Комментарии51

Gearman – фреймворк для распределения задач, введение

Время на прочтение6 мин
Количество просмотров37K


    В этой статье, мне бы хотелось рассмотреть один из необычных способов оптимизации приложения, а именно использование проекта Gearman для распределения задач. Gearman является фреймворком для построения таких систем. Примеров кода в статье нет, статья больше вводная, хоть и содержит в себе достаточно практической информации.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+48
Комментарии40

Случайно удалили продакшн базу? Что дальше?

Время на прочтение6 мин
Количество просмотров14K
Недавно в RSS пришла статья, которую хотел оформить переводом — So you just deleted your production database — what now?. Однако комментарии к статье, да и последний абзац заставили задуматься — а на сколько просто восстановить удаленную базу данных.
И дабы не плодить непроверенной информации — перевод перевоплотился в исследование метода восстановления информации из случайно удаленной базы MySQL.
Подробности подкатом...
Всего голосов 109: ↑100 и ↓9+91
Комментарии66

Информация

В рейтинге
Не участвует
Откуда
Севастополь, Республика Крым, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

DevOps
Intern