云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名交易_怎么做服务器_评分榜

小七 141 0

consur自动加入云元数据

我们在一个分布式系统的世界里工作,这些系统在快速变化的环境中运行。服务器来来去去去,它们在地区和通讯组之间移动,不知怎么的,它们需要彼此通信和连接。为了解决这个问题,HashiCorp创建了consur,它支持服务注册和服务发现。以发现应用程序的依赖实例和consur实例。由于consur本身是一个分布式系统,这就产生了一个鸡毛蒜皮的问题——如何提高服务发现的效率。»自动化挑战如何发现服务发现?传统上,这对分布式系统来说是一个挑战。该技术通常涉及在一个操作中旋转集群,然后在已知IP地址将节点连接在一起之后执行第二个操作。这种两步走的方法不仅使自动化具有挑战性,而且还提出了丢失节点时系统行为的问题。自动缩放可以使另一个节点联机,但操作员仍需要手动将该节点加入集群。»EC2的领事自动加入consur0.7.1引入了新功能,允许它使用云元数据发现其他代理。这篇博客文章探讨如何利用AWS元数据自动加入和自动扩展consur集群。consur的最新文档显示了我们可以在consur配置文件或启动参数中指定的新选项。-retry-join-ec2-tag-key-要筛选的amazonec2实例标记键。当与-retry-join-ec2-tag-value一起使用时,consur将尝试在启动时使用给定的标记键和值连接ec2实例。-retry-join-ec2-tag-value-要筛选的amazonec2实例标记值。-retry-join-ec2-region-(可选)要使用的amazonec2区域。如果未指定,consur将使用本地实例的EC2元数据端点来发现区域。新特性需要读取AWS实例状态的权限,并且可以使用多种选项来授予这些权限。静态凭据(来自配置文件)环境变量(AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY)共享凭据文件(~/.aws/credentials或aws_Shared_credentials_file指定的路径)ECS任务角色元数据(容器特定)EC2实例角色元数据AWS实例的启动过程如下:实例引导并安装converInit系统启动consur,配置通过EC2元数据连接开始时,consur使用EC2:DescribeInstances查询EC2元数据服务,以列出所有实例标记consur从元数据中提取具有配置的标记名和标记值的其他EC2实例的私有IP地址consur在这些私有IP地址上运行consur join我们在本例中使用的方法是EC2角色元数据。通过将ec2:DescribeInstances权限分配给instances IAM角色,我们可以在不泄露对AWS帐户的任何其他控制的情况下授予consur此权限。{"Version":"2012-10-17","声明":[{"Effect":"允许","Action":"ec2:描述实例","资源":"*"}]}»自动加入动作存储库位于https-join-auto-consult-example/https-hub-consult/包括一个Terraform配置来演示此功能。要启动和引导集群,请修改文件地形.tfvars要添加AWS凭据和默认区域,然后运行terraform计划,terraform apply创建集群。aws_region="欧盟西部1"aws_access_key="[aws_access_key]"aws_secret_key="[aws_secret]"一旦这些都启动并运行,您将看到Terraform的一些输出,其中显示了创建的代理和服务器的IP地址。输出:客户端=[34.253.136.132,34.252.238.49]服务器=[34.251.206.78,34.249.242.227,34.253.133.165]在配置之后,可以使用Terraform输出的IP地址通过SSH登录到其中一个客户机节点。$宋承宪ubuntu@34.251.206.78集群应该是自动联接的,因为实例共享相同的自动联接标记值。运行consulmembers命令将显示集群的所有成员及其状态(客户机和服务器)。$领事会员节点地址状态类型生成协议DCconsur-blog-client-0 10.1.1.189:8301活动客户端0.7.5 2 dc1consur-blog-client-1 10.1.2.187:8301活动客户端0.7.5 2 dc1consur-blog-server-0 10.1.1.241:8301活动服务器0.7.5 2 dc1consur-blog-server-1 10.1.2.24:8301活动服务器0.7.5 2 dc1consur-blog-server-2 10.1.1.26:8301活动服务器0.7.5 2 dc1这个集群在没有人工干预的情况下自动引导,但是失败的情况呢?如果没有auto-join功能,扩展consur服务器可能会很有挑战性,而且常常需要运营商的参与。有了新的自动连接功能,缩放(向上或向下)非常容易。这很容易,我们什么都不用做。要演示这一点,请编辑地形.tfvars归档并将实例数增加到5,然后重新运行terraform plan和terraform apply。$地形图计划:2表示添加,0表示更改,0表示销毁。$terraform应用申请完成!资源:添加了2个,更改了0个,销毁了0个。基础结构的状态已保存到路径下面。修改和销毁基础设施,所以要保证安全。检查完整状态使用"terraform show"命令。状态路径:地形.tfstate输出:客户端=[34.253.136.132,34.252.238.49]服务器=[34.251.206.78,34.249.242.227,34.253.133.165,34.252.132.0,34.253.148.148]在新服务器完成配置后再次运行consul成员。新服务器可能需要几秒钟才能加入群集,但它们将在成员列表中可用:节点地址状态类型生成协议DCconsur-blog-client-0 10.1.1.189:8301活动客户端0.7.5 2 dc1consur-blog-client-1 10.1.2.187:8301活动客户端0.7.5 2 dc1consur-blog-server-0 10.1.1.241:8301活动服务器0.7.5 2 dc1consur-blog-server-1 10.1.2.24:8301活动服务器0.7.5 2 dc1consur-blog-server-2 10.1.1.26:8301活动服务器0.7.5 2 dc1consur-blog-server-3 10.1.2.44:8301活动服务器0.7.5 2 dc1consur-blog-server-4 10.1.1.75:8301活动服务器0.7.5 2 dc1在缩小规模时也是如此——只要我们保持在最初配置的最小服务器数量(本例中为3个)之上,就不需要手动删除节点。要演示此功能,请减少地形.tfvars再次归档并运行terraform plan和terraform apply。取消配置的服务器节点将在成员列表中显示为失败,但群集将完全运行。节点地址状态类型生成协议DCconsur-blog-client-0 10.1.1.189:8301活动客户端0.7.5 2 dc1consur-blog-client-1 10.1.2.187:8301活动客户端0.7.5 2 dc1consur-blog-server-0 10.1.1.241:8301活动服务器0.7.5 2 dc1consur-blog-server-1 10.1.2.24:8301活动服务器0.7.5 2 dc1consur-blog-server-2 10.1.1.26:8301活动服务器0.7.5 2 dc1consur-blog-server-3 10.1.2.44:8301服务器0.7.5 2 dc1故障consur-blog-server-4 10.1.1.75:8301服务器0.7.5 2 dc1故障»摘要consur EC2 auto-join功能通过利用云元数据实现consur集群的无缝引导和自动伸缩。这篇文章展示了使用awsec2的功能,但是googlecloud也可以使用相同的功能,consur的路线图包括在将来添加对其他云提供商的支持。我们希望您喜欢这个新功能,并期待未来的改进。