首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cloud-config未被读取

cloud-config未被读取
EN

Stack Overflow用户
提问于 2016-03-09 19:22:22
回答 1查看 512关注 0票数 1

我正在使用vagrant使用coreos设置一个简单的集群,我有一种感觉,我的cloud-init文件没有被读取。这是因为当我在机器中使用ssh时,我希望它启动的服务并没有启动。

Vagrantfile:

代码语言:javascript
复制
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.

require 'yaml'
require 'fileutils'

# Look for user-data file to configure/customize CoreOS boxes
# # Be sure to edit user-data file to provide etcd discovery URL
USER_DATA = File.join(File.dirname(__FILE__), "user-data")

servers = YAML.load_file('servers.yml')

Vagrant.configure(2) do |config|
  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://atlas.hashicorp.com/search.
  config.ssh.insert_key = false
#  config.ssh.private_key_path = "~/.ssh/id_rsa"
  config.ssh.forward_agent = true
#  config.ssh.password = "vagrant"

  servers.each do |servers|
          config.vm.define servers["name"] do |srv|
                  srv.vm.box_check_update = false
                  srv.vm.hostname = servers["name"]
                  srv.vm.box = servers["box"]

                  srv.vm.network "private_network", ip: servers["priv_ip"]
                  srv.vm.network "public_network", bridge: "vlan0", ip: servers["pub_ip"]

                   if srv.vm.box == "coreos-stable"
                                 srv.vm.provision :file, :source => "#{USER_DATA}", :destination => "/tmp/vagrantfile-user-data"
                                 srv.vm.provision :shell, :inline => "mv /tmp/vagrantfile-user-data /var/lib/coreos-vagrant/", :privileged => true
                                srv.vm.synced_folder ".", "/vagrant", disabled: true
                   end 
                   
end
  end
end

cloud-config.yml

代码语言:javascript
复制
coreos:
  etcd:
    # iedere unieke cluster heeft een nieuwe token nodig. Makkelijk te verkrijgen via https://discovery.etcd.io/new
    discovery: https://discovery.etcd.io/054daef60b25b0384350be326fb40bf1
    addr: $public_ipv4:4001
    peer-addr: $public_ipv4:7001
  fleet:
    public-ip: $public_ipv4
  units:
    - name: "etcd.service"
      command: "start"
    - name: "fleet.service"
      command: "start"
    - name: docker-tcp.socket
      command: start
      enable: true
      content: |
        [Unit]
        Description=Docker Socket voor de API

        [Socket]
        ListenStream=2375
        BindIPv6Only=both
        Service=docker.service

        [Install]
        WantedBy=sockets.target

servers.yml:

代码语言:javascript
复制
- name: arya
  box: yungsang/coreos
  ram: 512
  vcpu: 1
  priv_ip: 192.168.254.101
  pub_ip: 172.16.5.11
- name: sansa
  box: yungsang/coreos
  ram: 512
  vcpu: 1
  priv_ip: 192.168.254.102
  pub_ip: 172.16.5.12
- name: rickon
  box: yungsang/coreos
  ram: 512
  vcpu: 1
  priv_ip: 192.168.254.103
  pub_ip: 172.16.5.13

当我通过ssh进入其中一台机器并尝试systemctl status etcd和/或fleet时,它们处于非活动状态。我还是个初学者,我是不是做错了什么?提前感谢

EN

回答 1

Stack Overflow用户

发布于 2016-03-10 14:56:50

您的云配置需要从行#cloud-config开始。此外,您还可以通过https://coreos.com/validate/运行文件

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35890190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档