Ошибка входа в систему при установке Coreos с нуля, некоторые директивы зажигания игнорируются
Я новичок в Coreos и провел последние несколько дней, пытаясь разрешить различия между устаревшей и новой документацией, пытаясь выяснить, как установить coreos на голую железную систему с двумя сетевыми интерфейсами и четырьмя жесткими дисками. Я пытался установить несколько раз, но у меня осталась система, которая не позволяет мне входить ни с консоли, ни удаленно через ssh.
Вот основные шаги, которые я использовал:
Записанный образ ISO coreos версии 1800.4.0 на CD.
Создал файл конфигурации зажигания yaml, преобразовал его в json с помощью ct и поместил копию на флэш-накопитель USB.
Вставил флешку в мою голую металлическую систему и загрузился с CD 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
После завершения установки я вынул CD, флешку и перезагрузил компьютер. перезагружать
Система загрузилась и отобразила приглашение входа в систему с локального хоста на консоли. Вход в консоль с использованием пользователя, указанного в файле зажигания, завершается неудачно, пароль не принимается. Удаленный вход в систему из 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 на железное железо с двумя сетевыми картами и четырьмя жесткими дисками в raid-массивах и иметь возможность входить по указанным статическим адресам.
1 ответ
К сведению тех, кто нашел этот вопрос: я, наконец, прекратил попытки установить coreos на голое железо, он просто не позволил бы мне войти. Перешел на базовый Ubuntu Server 18.04, и в это время мои контейнеры работали там.