Я следил за CoreOS в руководстве GCE.
Но похоже, что у меня проблемы с пониманием того, что такое поле метаданных пользовательских данных, и как получить мой файл облачной конфигурации для чтения ...
В каталоге, в котором есть мои cloud-config.yaml
файл, я выполнил следующую команду:
gcutil --project=my-proj-704 addinstance --image=projects/coreos-cloud/global/images/coreos- stable-410-0-0-v20140902 --persistent_boot_disk --zone=europe-west1-a --machine_type=n1-standard-1 --metadata_from_file=user-data:cloud-config.yaml --permit_root_ssh aa-gce-thing
мой cloud-config.yaml выглядит так ...
#cloud-config
users:
- name: mgm
groups:
- sudo
- docker
ssh-authorized-keys: - ssh-rsa AAAAB3NzaC1yc2EAAAABJQ ... mgm
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAA.... core
- ssh-rsa AAAAB3NzaC1yc2EAAAA.... mgm
coreos:
etcd:
# generate a new token for each unique cluster from https://discovery.etcd.io/new
discovery: https://discovery.etcd.io/44216d6f1z...
# multi-region and multi-cloud deployments need to use $public_ipv4
addr: $private_ipv4:4001
peer-addr: $private_ipv4:7001
fleet:
public-ip: $public_ipv4
metadata: region=europe-west1-a
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: format-ephemeral.service
command: start
content: |
[Unit]
Description=Formats the ephemeral drive
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/wipefs -f /dev/disk/by-id/scsi-0Google_PersistentDisk_docker-storage-1
ExecStart=/usr/sbin/mkfs.btrfs -f /dev/disk/by-id/scsi-0Google_PersistentDisk_docker-storage-1
- name: var-lib-docker.mount
command: start
content: |
[Unit]
Description=Mount ephemeral to /var/lib/docker
Requires=format-ephemeral.service
After=format-ephemeral.service
Before=docker.service
[Mount]
What=/dev/disk/by-id/scsi-0Google_PersistentDisk_docker-storage-1
Where=/var/lib/docker
Type=btrfs
В системе CoreOS ничего не делается, ни монтирования, ни сервисы, и т. Д.
Любые идеи?
Даже попробовал очень простой файл ...
coreos:
etcd:
# generate a new token for each unique cluster from
https://discovery.etcd.io/new
discovery: https://discovery.etcd.io/7cb8b85dea06c5041720
# multi-region and multi-cloud deployments need to use $public_ipv4
addr: $private_ipv4:4001
peer-addr: $private_ipv4:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
Никаких кубиков ....
Вы также можете проверить файл cloud-init, прежде чем отправлять его на сервер онлайн.
Также вы можете проверить это на консоли с помощью
sudo coreos-cloudinit -validate=true --from-file cloud-init
команда
Ваша облачная конфигурация недействительна.
groups:
должен быть вложен под этого пользователя, а не на верхний уровень.