Назад | Перейти на главную страницу

Ошибка входа в систему при установке Coreos на голый металл, некоторые директивы зажигания игнорируются

Я новичок в coreos, и последние несколько дней провел, пытаясь устранить различия между устаревшей и новой документацией, пытаясь выяснить, как установить coreos на голую железную систему с двумя сетевыми интерфейсами и четырьмя жесткими дисками. Я пытался установить несколько раз, но у меня осталась система, которая не позволяет мне входить в систему ни с консоли, ни удаленно через ssh.

Вот основные шаги, которые я использовал:

  1. Записал образ ISO coreos версии 1800.4.0 на компакт-диск.

  2. Создал yaml-файл конфигурации зажигания, преобразовал его в json с помощью ct и поместил копию на USB-накопитель.

  3. Вставил флешку в мою голую металлическую систему и загрузился с компакт-диска ISO.

  4. Как только начальная система заработала, я ввел эти команды с консоли:

    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

  5. После завершения установки я вынул компакт-диск, флешку и перезагрузился. перезагрузка

Система загрузилась, и на консоли отобразилось приглашение входа на 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, и мои контейнеры сразу же начали работать там.