gladilov.org.ru gladilov.org.ua

Новая виртуальная ОСь — 27.09.2018

 Container Linux 1855.4.0 (Rhyolite)

Дистрибутив GNU/Linux на основе пакетной базы  Федоры, бывший  CoreOS. Обеспечивает достаточно лёгкую организацию кластеров и свободное мигрирование служб по узлам этих кластеров для «размазывания» нагрузки. По идее — незаменимая вещь для крупных компаний, владеющих огромным количеством bare-metal серверов или тем, кто хочет обладать своим PaaS. При количестве более тысячи хостов привычные средства оркестрации, такие, как Puppet, Chef, Salt становятся менее эффективны. Особенности системы: корень ФС и /usr доступны только для чтения, отсутствует пакетный менеджмент, нет возможности запустить что-либо не в изолированном контейнере, который объявляется декларативно через Dockerfile, нельзя что-либо поломать своими-же костылями. Изменена сама парадигма деплоя и системного администрирования. На борту Systemd для управления локальными службами на машинах кластера, Docker для обеспечения изоляции служб, Etcd для распределенного хранения конфигурации кластера, Fleet обеспечивает распределенное управление службами (как «надстройка» над systemd).

Так как пакетный менеджмент отсутствует как класс, я не смог поставить графический сервер в хостовой-системе (в контейнере — не вопрос). Поэтому привожу чисто текстовый скрин.

 ContainerLinux

Подробности установки: Показать

Установил в виртуальной машине  ВиртуалБокса. Процесс установки: на другой системе генерирую ключи для SSH (они потом пригодятся для входа в поставленную систему):

core@otherOS:~ $ ssh-keygen -t rsa -b 2048 -f /tmp/coreos
core@otherOS: ~$ cat /tmp/coreos.pub

Гружусь с CD, получаю IP и меняю пароль юзера core:

$ ip a
$ sudo -s
# passwd core
# exit

Затем логинюсь по ssh core@<IP виртуалки> и все действия выполняю через ssh-клиент (т. к. в нём поддерживается copy-paste):

scp core@otherOS:/tmp/coreos* .
rm coreos
wget https://raw.githubusercontent.com/coreos/init/master/bin/coreos-install -O coreos-install.sh
chmod +x coreos-install.sh
cat << EOF >> cloud-config.yaml
#cloud-config

# Set Hostname
hostname: CoreOS

# Set SSH Keys
ssh_authorized_keys:
EOF
echo -n '- ' >> cloud-config.yaml && cat coreos.pub >> cloud-config.yaml
cat << EOF >> cloud-config.yaml

coreos:
  etcd:
    # generate a new token for each unique cluster from https://discovery.etcd.io/new
EOF
echo -n '    discovery: ' >> cloud-config.yaml && wget https://discovery.etcd.io/new -O ->> cloud-config.yaml
sudo ./coreos-install.sh -d /dev/sda -C stable -c cloud-config.yaml

После корректной установки выполняю gdisk /dev/sda, в этой утилите нажатием клавиши W чиню перезаписываю GPT-таблицу, затем перегружаю виртуалку.

После загрузки в свежую систему можно зайти со второй машины:

ssh -i /tmp/coreos core@coreos

и делать с ней всё, что захочу...

Источники:
https://coreos.com/os/docs/latest/installing-to-disk.html
http://www.appcontainers.com/installing-coreos-on-a-bare-metal-or-virtual-server/
https://habr.com/post/256107/
https://habr.com/post/244585/

Популярное
Наверх