牧场主和Spotinst -集成是如何工作的

阅读时间:3分钟

在Spotinst,我们与牧场主使您能够运行容器现场实例。

在这种集成,您将定义牧场主环境而Spotinst底层基础设施供应。这就是为什么你需要写一个命令(在我们启动服务器的启动脚本),注册实例作为一个主机在牧场主。对重要的细节见下文。集成使用牧场主的标签功能。

注:利用本机集成Spotinst &牧场主你必须运行牧场主版本牧场主/服务器:v0.46.0-rc1或以上。

步骤1:创建一个API密匙在牧场主

  1. 登录到你的牧场主UI。
  2. 下拉菜单,选择API密钥。
    1 _apikeysmenu
  3. 创建新的密钥和存储访问密钥和秘密密钥。
    2 _rancherapikey
  4. 生成一个命令注册一个节点去牧场- >主机- >添加主机- >选择自定义
    3 _rancher-add-custom-host
  5. 那么——遵循指令和复制主机注册命令
    7 _rancher-add-custom-host-2

步骤2:创建一个Elastigroup Spotinst之内

  1. 在用户数据部分,而不是使用命令你复制前一节:
    运行sudo码头工人- d——特权- v /var/run/docker.sock: / var /运行/码头工人。袜子牧场主/代理:v0.8.2 http://rancher.spotinst.com/v1/scripts/1F68A2DE49C324F22ABE: 1447257600000: v4W9vNzpG3GYr0mF6o4

  2. 修改如下:
    1. 添加这个标志将标签牧场主主机:
      - e CATTLE_HOST_LABELS = " spotinst。instanceId = curl http://169.254.169.254/latest/meta-data/instance-id”
    2. 最后一个命令在用户数据部分,您应该看到如下:
      # !/bin/bash #如果不存在,安装码头工人wget问:https://get.docker.com/ |上海#开始牧场主代理#“spotinst设置CATTLE_HOST_LABELS。instanceId”Spotinst集成所需的工作。sudo码头工人- e CATTLE_HOST_LABELS = " spotinst运行。instanceId = curl http://169.254.169.254/latest/meta-data/instance-id”- d——特权- v /var/run/docker.sock: / var /运行/码头工人。袜子牧场主/代理:版本http://rancher.domain.com: 8080 / v1 /脚本/令牌
    3. 如果你想添加多个标签的主机我们这样:
      sudo码头工人- e CATTLE_HOST_LABELS = " spotinst运行。instanceId = curl http://169.254.169.254/latest/meta-data/instance-id &tagkey = name&tagkey2 =名称”- d——特权- v /var/run/docker.sock: / var /运行/码头工人。袜子牧场主/代理:版本http://rancher.domain.com: 8080 / v1 /脚本/令牌
    4. 注意:如果您使用的是牧场主OS:您可能想要使用以下cloud-init脚本:
      # cloud-config write_files:路径:/etc/rc.本地权限:“0755”老板:根内容:| # !/bin/bash因为我在{1 . .20}做码头工人信息& &休息睡眠1 #开始牧场主代理完成#“spotinst设置CATTLE_HOST_LABELS。instanceId”Spotinst集成所需的工作。sudo码头工人- d - e CATTLE_HOST_LABELS = " spotinst运行。instanceId = wget问:——http://169.254.169.254/latest/meta-data/instance-id”——特权- v /var/run/docker.sock: / var /运行/码头工人。袜子牧场主/代理:v0.8.2 http://rancher.domain.com: 8080 / v1 /脚本/(令牌)

  1. 4 _userdata

    请注意:如果你的亚马逊图像不包含码头工人,请添加一个命令安装码头工人。

  1. 第三方部分选择牧场主输入以下:
    1. 牧场主人——你的牧场主url(例如。http://myRancher.myDomain: 8080 / v1)
    2. 访问密钥和秘密密钥(您刚刚创建的在上面的前一步- >在步骤1中)
      5 _rancher3rdparty
    3. 实例启动时您应该看到他们贴上“spotinst.instanceId”。
      6 _labeledhosts

从安全原因,请确保牧场主人安全组开放专门为白名单Spotinst avilable服务器IP地址:Spotinst Whitelabeled IPs

这是所有人!

现在,每当Spotinst将执行替换一个实例,它会自动与牧场主API

  • 运行容器搬迁到不同的主机。
  • 删除和清除失败的主机。

当然,如果你有任何问题,请不要犹豫与我们萍在cs@spotinst.com

Baidu
map