云配置

云配置

我已经关注GCE 上的 CoreOS 指南

但看起来我无法理解用户数据元数据字段是什么,以及如何读取我的云配置文件。

在包含我的文件的目录中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

没有骰子....

答案1

您的云配置无效。

groups:需要嵌套在该用户下,而不是在顶层。

答案2

您还可以在实际在线发送到服务器之前检查您的 cloud-init 文件。

https://coreos.com/validate/

您也可以使用控制台检查

sudo coreos-cloudinit -validate=true --from-file cloud-init

命令

相关内容