Я пытаюсь подготовить виртуальную машину с cloud-init и живым образом сервера. (Я не использую облачный образ, по инфраструктурным причинам мне приходится устанавливать из ISO)
Однако всякий раз, когда я пытаюсь объединить autoinstall
с, например, write_files
, часть write_files
, похоже, не преуспевает.
Следующая установка Ubuntu:
#cloud-config
autoinstall:
version: 1
identity:
hostname: boxy-001
password: "$1$k46kl1..."
username: alice
storage:
layout:
name: lvm
ssh:
install-server: true
authorized-keys:
- "ecdsa-sha2-nistp256 AAAAE2...."
write_files:
- content: |
cloud_init_has_run
path: /cloud_init_flag
Но файл не записывается в /cloud_init_flag
.
Отсутствуют ли модули? Является ли конфигурация облака неполной на живых ИОУ Сервера?
Edit файл записывается, но он написан в среде установки! Вместо этого я, скорее всего, должен использовать ключ autoinstall.user-data
для предоставления user-data
для целевой системы.
как заставить работать cloud-init в установленной системе в сочетании с автоматической установкой?
Существует ключ user-data
config для файла автоматической установки .
Например, если вы хотите, чтобы ваша конфигурация write_files
использовалась cloud-init
в установленной системе , тогда этот фрагмент может быть включен как часть файл автоустановки.
#cloud-config
autoinstall:
version: 1
user-data:
write_files:
- content: |
cloud_init_has_run
path: /cloud_init_flag
...
Как это работает
cloud-init
по адресу / target / var / lib / cloud / seed / nocloud- net / user-data
. cloud-init
будет использовать этот файл конфигурации для выполнения некоторых задач установки. Примечательно, что так создается первый пользователь. user-data
включен в файл автоустановки, то subiquity объединит раздел пользовательских данных в сгенерированный / target Файл / var / lib / cloud / seed / nocloud-net / user-data
. Используя приведенный выше фрагмент, объединенная конфигурация привела к этому содержимому файла.
#cloud-config
growpart: {mode: 'off'}
locale: en_US.UTF-8
preserve_hostname: true
resize_rootfs: false
...
write_files:
- {content: 'cloud_init_has_run
', path: /cloud_init_flag}
Во время первой загрузки cloud-init
действительно создал файл / cloud_init_flag
с настроенным содержимым.