Установка BAYRELL CLoud OS на Raspberry PI

Данная инструкция описывает процесс установки BAYRELL Cloud OS альфа версии 0.3. Репозиторий с ОС доступен на гихабе.

Базовая настройка и установка Docker

1) Установите и настройте Raspberry PI как описано в инструкции.

2) Обновите систему

apt-get update
apt-get upgrade

3) Установите Docker

curl -sSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker
apt-get install docker-compose

4) В файл /etc/iptables/rules.v4 добавьте строчки перед -A ALLOW-INPUT -j RETURN

# Разрешить Docker Swarm
-A ALLOW-INPUT -p tcp -m tcp --dport 2376 -j ACCEPT
-A ALLOW-INPUT -p tcp -m tcp --dport 2377 -j ACCEPT
-A ALLOW-INPUT -p tcp -m tcp --dport 7946 -j ACCEPT
-A ALLOW-INPUT -p udp -m udp --dport 7946 -j ACCEPT
-A ALLOW-INPUT -p udp -m udp --dport 4789 -j ACCEPT

# Разрешаем входящие соединения DNS
-A ALLOW-INPUT -i docker0 -p udp -m udp --dport 53 -j ACCEPT
-A ALLOW-INPUT -i docker0 -p tcp -m tcp --dport 53 -j ACCEPT
-A ALLOW-INPUT -i docker_gwbridge -p udp -m udp --dport 53 -j ACCEPT
-A ALLOW-INPUT -i docker_gwbridge -p tcp -m tcp --dport 53 -j ACCEPT

После перезагрузки данные команды применятся

5) В файле /etc/docker/daemon.json пропишите.

{
  "log-driver": "journald",
  "dns": ["172.17.0.1"]
}

Это нужно для хранения логов рекомендуется journald, чтобы автоматически происходила ротация логов. А также, чтобы контейнеры использовали dnsmasq.

6) В крон через команду sudo crontab -e пропишите команду, которая будет автоматически очищать контейнеры

0 0 * * * yes | docker container prune > /dev/null

7) Создайте кластер

docker swarm init

Если у вас несколько IP адресов у распы, то нужно указать конкретный IP адрес, по которому должен создаваться кластер, например так:

docker swarm init --advertise-addr 192.168.1.25

Важно, что сменить IP адрес потом будет нельзя.

После инициализации кластера, команда выдаст ключ подключения к Docker swarm. Если вы забыли Token, то введите команду docker swarm join-token manager на primary node. Подключитесь к остальным серверам и выполните команду, для того чтобы их подключить к кластеру.

docker swarm join --token TOKEN IP-АДРЕС-ГЛАВНОГО-СЕРВЕРА

Если вы забыли токен, его можно узнать командой:

docker swarm join-token manager

8) Выдайте всем нодам в кластере уникальные имена

Узнать ID нод можно командой

docker node ls

Назначить имя можно командой:

docker node update --label-add name=docker0 raspa1

Рекомендуется первый сервер назвать именем docker0, т.к. это имя далее указано в конфигах Cloud OS.

Проверить назначенные label можно командой

docker node inspect self --pretty

9) Добавьте пользователя ubuntu в группу docker

usermod -a -G docker ubuntu

10) Перезагрузите распу

init 6

Установка BAYRELL Cloud OS

Под пользователем ubuntu выполните:

1) Обновите время

sudo ntpdate -s time.nist.gov

2) Запустите облачную ОС

git clone https://github.com/bayrell-os/cloud_os
cd cloud_os

Скачайте образы

./cloud_os.sh download

и установите ОС

./cloud_os.sh setup

Подождите пока выполнится скрипт установки. Он также вас попросит ввести логин администратора, и в конце создаст и выведет на экран его пароль.

3) Скачайте десктоп клиент https://github.com/bayrell-os/desktop_client и подключитесь к Облачной ОС через него

4) Установка завершена!

При создании новых сервисов в yaml нужно прописать:

dns:
   - 172.18.0.1

 

Остались вопросы?

Если вы хотите получить консультацию или оставить комментарий, заполните форму ниже:
Укажите ваше имя:
Укажите вашу почту, чтобы я смог вам ответить:
Напишите ваш вопрос или комментарий: