Всего сообщений: 9
У меня давно настроен Kubernetes+CoreOS на одной машине и это позволяет мне экспериментировать с разработкой распределенных приложений дома и запускать разные сервисы вроде торрентов и транскодинга в условиях жесткой изоляции среды и ресурсов.
Я решил попробовать устроить себе среду разработки, которая будет соответствовать определенным критериям
Чтобы эксперимент был чистым все это тестируется на ASUS Chromebit со стоковой ChromeOS, 2 ГБ памяти и ARM Rockchip Quad-Core RK3288C, которая размером с большую флешку и воткнута в телевизор LG 49LB550V. Потому шрифты могут быть чуть больше чем обычно, чтобы было лучше видно на телевизоре. Устройство очень маломощное, но работает быстро потому что в ChromeOS нету дискового swap, только RAM+zRAM и если что-то не влезает, то выгружается.
Скриншоты
Изначально CoreOS машина разворачивается сама по iPXE на голый диск. Если система уже была установлена, то она просто загружается. После этого по SSH необходимо загрузить ключи и некоторый набор базовых сервисов Kubernetes. Теперь кластером можно пользоваться удаленно через kubectl. Я запустил там локальный docker реестр, потому вы видите localhost в названии некоторых контейнеров. На моей машине различные сервисы работают на Alpine Linux, Ubuntu или CentOS в зависимости от того, на чем было проще настроить конкретное приложение. Если разницы нету, то я использую Alpine, так как тогда контейнеры наиболее компактны.
Цепочка загрузки такая
В качестве сервера использую старый Dell ноутбук с Core i7-2630QM, 8GB RAM и сломаной батареей, ибо нечего ему пылиться с таким процессором.
Если я захочу подключить второй сервер, то мне нужно сделать два действия: сделать для второго сервера облегченный конфиг без части Kubernetes демонов и придумать как монтировать диски удаленно. Пока что персистентные каталоги монтируются в хост систему, что не будет работать если сервисы будут случайно мигрировать между машинами. Но если я это сделаю, то полностью програмная виртуальная сеть на flannel будет работать полностью прозрачно и контейнеры на разных будут общаться друг с другом так же просто как и раньше. Из того что можно настроить дома поддерживаются GlusterFS+Heketi, Ceph и NFS
Среди дополнительных удобств на сервере есть связка Transmission+Plex, интерфейсы которых тоже доступны глобально. Потому я могу пойти в гости, поставить torrent дома с телефона, а потом транскодированый и оптимизированый фильм можно посмотреть на телевизоре например через Chromecast, AppleTV, PS4, XBox, Android, Windows Phone или другой способ отобразить браузер с компьютера на телевизор.
В качестве заключения скажу что мне понравился такой способ настройки домашнего сервера. Использование Docker контенеров позволяет уравнять в легкости настройки опакеченый софт из дистрибутивов и софт, который устанавливается скриптом сборки на github. Они оба могут быть завернуты в контейнер на любом дистрибутиве и потом когда более не нужны могут быть аккуратно удалены. Kubernetes очень облегчил работу с виртуальными хостами, шифрованием, перенаправлением портов, изоляцией ресурсов, перезапуском упавших сервисов и проверкой их здоровья.
>>> Просмотр (1920x1080, 1069 Kb)
Вполне готово для десктопа, даже проприетарщина в лице flash и кодеков mp3, mp4 и т.п. заработала. Самое то для легкого непринужденного серфинга в нете.
Помимо нативных приложений можно емержить гентушные пакеты, или пускать полноценный Линукс в чруте с помощью crouton.
Т.к. система собирается из исходников, легко запиливаются нужные хотелки, которых не хватает в проприетарной Chrome OS. Тоже самое с адаптацией под железо - необязательно иметь хромбук.
Собирал по этой инструкции https://gist.github.com/gnidorah/8ca4f7db3af38b1622a8
>>> Просмотр (1920x1200, 1799 Kb)
Наверное уже все знают, что Chrome OS — дистрибутив от Google, который основан на базе Gentoo Linux и занимает сейчас около 12% рынка ноутбуков. Общим слоганом наверное следует назвать ультраминимализм, так как базовый набор приложений ограничивается браузером, файловым менеджером и просмотрщиком картинок. Функционал можно существенно расширить с помощью дополнений браузера Chrome. По умолчанию файлы предлагается хранить в Google Drive, также довольно несложно подключить Dropbox. Сломать систему неопытным пользователям будет довольно трудно, что дает определенное преимущество. Например, эмулятор терминала спрятан , и доступ к нему можно получить только воспользовавшись документацией. IMHO — отличная ОС для несложных задач и технически неподкованных пользователей.
>>> Просмотр (1920x1080, 447 Kb)
Купил себе для решения описанных в этой теме задач ASUS Chromebook C201 на RK3288 вместо процессора и с предустановленной Chrome OS вместо операционной системы.
( читать дальше... )
>>> Просмотр (1366x768, 109 Kb)
Решил потестить Chrome OS. Оказалось, что там всё весьма неплохо.
Без systemd, плавная прокрутка наконец добралась и до браузера, само DE без излишеств мягко говоря. Юзать это можно, но я пока останусь на арче, ибо тут пока ещё много чего нет и наверное уже не будет.
>>> Просмотр (1366x768, 681 Kb)
Chromium 38.0.2101.1 (Сборка для разработчиков 284616)
Платформа 6083.0.2014_07_23_0122 (Developer Build - buildbot) developer-build x86-generic
Blink 537.36 (@178616)
JavaScript V8 3.28.28.2
Flash 11.5.31.137
Ноут - HP Compaq nc2400. УМВР, всё шустро и прекрасно.
>>> Просмотр (1280x800, 1338 Kb)