厨师是一个功能强大的自动化平台,允许您管理成千上万的服务器。
的最大挑战之一使用云中的厨师在使用向上和向下扩展的动态工作负载。
而随需应变的实例可以停止优雅和担保运行无限,现货情况下,更有可能随着时间的推移和厨师服务器终止不知道现货实例中断,造成一个“僵尸”场景和潜在的错误。
我们的厨师集成利用厨师API调用触发注册和注销操作实例,通过Spotinst旋转起来。这可以确保无论实例终止和Spotinst旋转新的替代品,厨师将充分认识到。
配置
- 创建一个安全组
- AWS帐户,创建一个安全组,专门从Spotinst服务器允许入站流量
- 可用的IP地址在这里:Spotinst Whitelabeled IPs
- 港口:
80、443、9683
- AWS帐户,创建一个安全组,专门从Spotinst服务器允许入站流量
- 创建一个用户
- 厨师服务器上,创建一个用户服务集成,用户必须被授予“删除”和“更新”权限。
- 配置实例注册
# !/bin/bash chef_role = "角色" chef_environment =“env chef_organization”=“org”chef_server_ip =“12.34.56.78 chef_version”=“11.4.4”chef_validation_client_name = chef_validation_key =“spotinst-user RSA私钥- - - - - - - - - - -开始MIIEpQIBAAKCAQ .....69 qqjc / 564 = - - - - -端RSA私钥——“回声”spotinst_chef:安装Python 2.7”(apt-get安装Python金桥curl - y - q | | yum安装Python使用curl金桥- y) 2 > / dev / null curl https://bootstrap.pypa.io/get-pip sl。py python curl https://s3.amazonaws.com/spotinst-labs/integrations/chef/v1/init.sh -fsSL | | \ SPOTINST_TOKEN = " $ SPOTINST_TOKEN " \ CHEF_VERSION = " $ CHEF_VERSION " \ CHEF_ROLE = " $ CHEF_ROLE " \ CHEF_ENVIRONMENT = " $ CHEF_ENVIRONMENT " \ CHEF_SERVER_IP = " $ CHEF_SERVER_IP " \ CHEF_VALIDATION_KEY = " $ CHEF_VALIDATION_KEY " \ CHEF_VALIDATION_CLIENT_NAME = " $ CHEF_VALIDATION_CLIENT_NAME " \ EC2_INSTANCE_ID = $ (curl - s http://169.254.169.254/latest/meta-data/instance-id) \ bash
4所示。配置实例取消登记:
- 在创建你的Elastigroup,计算机屏幕上,你会发现一个“第三方集成”部分
- 检查厨师集成和输入以下数据
-
-
API服务器——公共DNS记录或公共IP(例如ec2 - 52 - 206 - 204 - 15. - 1.计算- - - - - - - amazonaws.com或52.206.204.1)。组织组织名称(例如,myOrg)版本——厨师使用的版本。我们需要这些信息来发送正确的API调用用户——请输入用户的名称在步骤2中创建Pem关键——请输入新用户的关键
-
就是这样。你的厨师集成所有设置。