Я новичок в coreos, и последние несколько дней провел, пытаясь устранить различия между устаревшей и новой документацией, пытаясь выяснить, как установить coreos на голую железную систему с двумя сетевыми интерфейсами и четырьмя жесткими дисками. Я пытался установить несколько раз, но у меня осталась система, которая не позволяет мне входить в систему ни с консоли, ни удаленно через ssh.
Вот основные шаги, которые я использовал:
Записал образ ISO coreos версии 1800.4.0 на компакт-диск.
Создал yaml-файл конфигурации зажигания, преобразовал его в json с помощью ct и поместил копию на USB-накопитель.
Вставил флешку в мою голую металлическую систему и загрузился с компакт-диска ISO.
Как только начальная система заработала, я ввел эти команды с консоли:
sudo su ping google.com # для проверки сетевого lsblk # для проверки, что мой USB-накопитель находится по адресу: / dev / sde1 mkdir / mnt / sde1 mount / dev / sde1 / mnt / sde1 coreos-install -d / dev / sda -i /mnt/sde1/ignition.json
После завершения установки я вынул компакт-диск, флешку и перезагрузился. перезагрузка
Система загрузилась, и на консоли отобразилось приглашение входа на localhost. Войти в консоль с помощью пользователя, указанного в файле зажигания, не удается, он не принимает пароль. При удаленном входе в систему через ssh также не удается распознать пароль. (Значение password_hash файла зажигания было создано с помощью команды «openssl passwd -1». Значение ssh_authorized_keys было создано с помощью команды «ssh-keygen -t rsa».)
Также игнорировались статические сетевые адреса, указанные в конфигурации зажигания, похоже, вместо этого использовался DHCP.
Вот моя конфигурация yaml перед преобразованием в json:
# This config is meant to be consumed by the config transpiler, which will
# generate the corresponding Ignition config. Do not pass this config directly
# to instances of Container Linux.
storage:
files:
- filesystem: "root"
path: "/etc/hostname"
mode: 0644
contents:
inline: coreos1
disks:
- device: /dev/sda
wipe_table: true
partitions:
- label: root1
type_guid: be9067b9-ea49-4f15-b4f6-f36f8c9e1818
number: 1
size: 120GiB
- label: reserve1
type_guid: a19d880f-05fc-4d3b-a006-743f0f84911e
number: 2
- device: /dev/sdb
wipe_table: true
partitions:
- label: root2
type_guid: be9067b9-ea49-4f15-b4f6-f36f8c9e1818
number: 1
size: 120GiB
- label: reserve2
type_guid: a19d880f-05fc-4d3b-a006-743f0f84911e
number: 2
- device: /dev/sdc
wipe_table: true
partitions:
- label: store1
type_guid: a19d880f-05fc-4d3b-a006-743f0f84911e
- device: /dev/sdd
wipe_table: true
partitions:
- label: store2
type_guid: a19d880f-05fc-4d3b-a006-743f0f84911e
raid:
- name: "root_array"
level: "raid1"
devices:
- "/dev/sda1"
- "/dev/sdb1"
- name: "reserve_array"
level: "raid1"
devices:
- "/dev/sda2"
- "/dev/sdb2"
- name: "store_array"
level: "raid0"
devices:
- "/dev/sdc1"
- "/dev/sdd1"
filesystems:
- name: "ROOT"
mount:
device: "/dev/md/root_array"
format: "ext4"
label: "ROOT"
- name: "RESERVE"
mount:
device: "/dev/md/reserve_array"
format: "ext4"
label: "RESERVE"
- name: "STORE"
mount:
device: "/dev/md/store_array"
format: "ext4"
label: "STORE"
networkd:
units:
- name: static.network
contents: |
[Match]
Name=eno1
[Network]
DNS= *snipped*
Address=10.0.0.178/24
Gateway=10.0.0.1
- name: 00-enp2s0.network
contents: |
[Match]
Name=enp2s0
[Network]
DNS= *snipped*
Address=10.0.0.179/24
Gateway=10.0.0.1
passwd:
users:
- name: "user1"
password_hash: "$1$Fe8..."
ssh_authorized_keys:
- ssh-rsa AAAAB3N...
groups:
- "sudo"
- "docker"
Проведя еще один день в поисках дополнительных подсказок относительно того, что я сделал не так, я, кажется, исчерпал все другие предложения.
Если у вас есть опыт работы с coreos, дайте мне знать, что я делаю не так. Моя цель - установить coreos на голое железное оборудование с двумя сетевыми картами и четырьмя жесткими дисками в рейд-массивах и иметь возможность входить в систему по указанным статическим адресам.
FYI для тех, кто нашел этот вопрос: я наконец отказался от попыток установить coreos на голое железо, это просто не позволило мне войти в систему. Перешел на базовый Ubuntu Server 18.04, и мои контейнеры сразу же начали работать там.