Рейтинг:2

Комбинируйте автоматическую установку cloud-init с другими модулями cloud-init.

флаг br
Tom

Я пытаюсь подготовить виртуальную машину с помощью cloud-init и живого образа сервера. (я не использую облачный образ, по инфраструктурным причинам я должен установить из ISO)

Однако всякий раз, когда я пытаюсь объединить автоматическая установка с напр. write_files, write_files часть, кажется, не удается.

Далее устанавливается Ubuntu:

#cloud-config
автоустановка:
  версия: 1
  личность:
    имя хоста: boxy-001
    пароль: "$1$k46kl1..."
    имя пользователя: Алиса
  место хранения:
    макет:
      имя: лвм
  СШ:
    сервер установки: правда
    авторизованные ключи: 
      - "ecdsa-sha2-nistp256 AAAAE2...."
     
записи_файлы:              
- содержание: |              
    cloud_init_has_run    
  путь: /cloud_init_flag  

Но файл не записывается в /cloud_init_flag.

Модулей не хватает? Является ли облачная конфигурация неполной на живых ISO-образах сервера?

Редактировать файл является написано, но это же написано в среде установки! Вместо этого я, вероятно, должен использовать autoinstall.user-данные ключ, чтобы обеспечить данные пользователя для целевой системы.

Andrew Lowther avatar
флаг jp
Ваша конфигурация `write_files` работает для меня, используя установщик живого сервера `20.04`. Работает ли остальная часть «автоустановки»? Как вы подтверждаете, что файл отсутствует?
флаг br
Tom
Итак, при использовании этих пользовательских данных при установке Ubuntu 20.04 LTS с помощью живого установщика действительно создается `/cloud_init_flag`?
Andrew Lowther avatar
флаг jp
Я взял ваш раздел `write_files` и добавил его в свой файл `user-data`. Я начал установку и открыл оболочку в среде установщика. `/cloud_init_flag` был создан с настроенным содержимым. Мои предположения: 1. Ваш файл автоустановки вообще не используется. 2. Ваш файл автоустановки недействителен и не анализируется. 3. вы ожидаете, что файл будет в установленной системе, когда он находится только в среде установки
флаг br
Tom
Ааа, должно быть. Все функции cloud-init выполняются в среде установки? Могу я спросить, как мне запустить cloud-init в _установленной_ системе в сочетании с `autoinstall`?
Рейтинг:3
флаг jp

как мне запустить cloud-init в установленной системе в сочетании с автоустановкой?

Существует данные пользователя конфигурация ключ для автоустановки файл.

Например, если вы хотите, чтобы ваш write_files конфигурация, которая будет использоваться облачная инициализация на установлен system, то этот фрагмент может быть включен как часть файла автоустановки.

#cloud-config
автоустановка:
  версия: 1
  данные пользователя:
    записи_файлы:
    - содержание: |
        cloud_init_has_run
      путь: /cloud_init_flag
...

Как это работает

  • Во время установки подсобность создаст конфигурацию для облачная инициализация в /target/var/lib/cloud/seed/nocloud-net/user-data.
  • При первой загрузке установленной системы облачная инициализация будет использовать этот файл конфигурации для выполнения некоторых задач установки. Примечательно, что именно так создается первый пользователь.
  • Если данные пользователя раздел включен в файл автоустановки, то подсобность будет объединить раздел пользовательских данных в сгенерированный /target/var/lib/cloud/seed/nocloud-net/user-data файл.

Используя приведенный выше фрагмент, объединенная конфигурация привела к содержимому этого файла.

#cloud-config
растущая часть: {режим: 'выкл'}
локаль: en_US.UTF-8
save_hostname: правда
resize_rootfs: ложь
...
записи_файлы:
- {содержимое: 'cloud_init_has_run

    ', путь: /cloud_init_flag}

Во время первой загрузки облачная инициализация действительно создал /cloud_init_flag файл с настроенным содержимым.

флаг br
Tom
Спасибо. Это было бы отличным дополнением к краткой документации по адресу https://ubuntu.com/server/docs/install/autoinstall-reference#user-data.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.