集群运行Kubernetes散步流言与Elastigroup现场实例

阅读时间:5分钟

集装箱编配Kubernetes已成为事实上的标准。然而,安装和维护自己在生产中可能是一个挑战。幸运的是,散步流言创建生产级Kubernetes简化的创建和管理集群公共云平台上。组织正在寻找他们的工作负载转移到公共云会喜欢这个但成本和工作量比例将成为一个关注后迁移。

一个有效的方式来降低成本AWS利用产能过剩情况下被称为现货。用户可以降低成本90%相比,随需应变的实例类型。然而,他们可以终止通知,没有有效的方法来管理工作负载时终止。幸运的是,Elastigroup来帮你。

当Kubernetes集群部署使用散步流言和Elastigroup,节点将被部署到现场实例和你将开始减少运营成本。默认Kubernetes主实例部署multi-demand实例更稳定。

当一个节点基于现货实例将被终止,Elastigroup会回退到另一个地方或按需实例,将其加入到k8集群,并确保排水的豆荚即将中断节点。Elastigroup还允许您利用您的保留的实例开始发射前附加点。除了降低成本,Elastigroup Kubernetes自动定量自动管理Kubernetes基础设施规模来满足您的豆荚的要求。

在这篇文章中,我将讨论如何创建一个集群Kubernetes现场散步流言AWS EC2实例使用Elastigroup并解释它如何规模豆荚和实例容易无需用户干预,这样你就可以花更多的时间和其他任务,而不是管理基础设施。

先决条件

  1. 一个Spotinst账户
  2. 一个AWS账户
  3. 每我们Kubectl和散步流言二进制文件下载并安装文档
  4. Spotinst散步流言壳脚本
  5. AWSCLI
  6. 一个空的S3 bucket用于存储散步流言配置。
  7. 一个AWS Route53子域

配置域

开始散步流言,我们将首先需要配置AWS Route53 sub-hosted区使用AWS CLI使用下面的命令。Kubernetes将使用Route53 sub-hosted区作为一个端点访问集群的创建和访问服务。替代mycluster与集群的名字和你想要的mydomain与你的域名Route53。

上面的命令的输出将显示一个域名服务器列表,需要下一步。创建一个新文件称为子域名。json使用下面的输出:

替代的名字与你的集群名称和ResourceRecords从前面的命令值和域名服务器。保存并退出文件并导入下面的命令:

可能需要几分钟来创建和传播DNS的变化。

创建集群

我们可以创建一个Kubernetes集群之前,我们需要下载并提取Spotinst散步流言壳脚本。提取后,导航到文件夹,使用您最喜欢的文本编辑器来修改00-env。sh脚本。在这个文件中,我们需要为我们的部署配置细节通过修改以下变量:

填上你的AWS访问和秘密密钥。坐落在Spotinst帐户ID我的账户在Spotinst控制台。获得你的Spotinst令牌,点击API部分我的帐户,并产生一个新的令牌。对于KOPS_STATE_STORE,进入一个AWS S3 bucket。如果你没有一个S3 bucket已创建,请这样做。指定的S3 bucket存储集群的状态。最后,对于KOPS_CLUSTER_ZONES,输入AWS地区使用如“us-west-2a”。

在那之后,我们可以创建集群:

这个过程可能需要几分钟才能完成。检查集群的状态,我们可以运行验证脚本:

Kubectl CLI实用程序用于与Kubernetes集群互动。当集群处于就绪状态运行验证脚本后,kubectl将自动配置为连接到集群。

如果你回到Spotinst控制台和集群名称搜索,你可以看到一个Elastigroup创建主节点和一个额外的一个节点。

散步流言节点Elastigroup只有一个实例。随着我们圆荚体增加,Elastigroup将扩大集群中的实例的数量。让我们试一试通过运行一个示例应用程序和扩展到荒谬的数量。

运行示例应用程序

要部署示例应用程序,下载WordPress Kubernetes清单你的电脑,运行以下命令:

这个清单将创建三个舱组成的Nginx, MySQL和PHP-FPM。豆荚的状态可以用以下命令检查:

当所有的豆荚联合国运行状态,我们可以访问WordPress通过URL外部ipNginx的容器:

WordPress配置(可选)

在您的web浏览器中复制粘贴地址开始配置WordPress:

在继续之前,我们需要创建一个WordPress数据库MySQL豆荚里的:

现在您可以返回到WordPress和设置它。

当配置WordPress,使用mysql数据库的主机。MySQL用户名是根,密码是sql。当WordPress配置,我们可以开始集群规模。

扩展Kubernetes

目前,我们只有一个节点Kubernetes集群运行。如果我们现在试着和规模吊舱,它不会因为最大容量设置为一个工作。下行动中,选择管理能力,最大字段设置为10,然后单击更新


现在我们可以规模pods引发Elastigroup缩放事件。让我们扩大Nginx pod 50实例:

(请注意,由于持久性存储不用于本WordPress示例应用程序,您将对WordPress的配置选项卡后每次扩展Nginx pod)。

一分钟左右后,将自动创建新的Kubernetes实例Elastigroup Kubernetes将安排所有50个豆荚运行在节点:

现在让我们回到Spotinst控制台Elastigroup看看:


你现在可以看到总共有4个实例运行很多nginx豆荚。同时,看看储蓄到目前为止,只有一个小时为72.19%。想象如果这是一个生产集群储蓄!

Elastigroup跟踪下缩放事件时间轴选项卡。看看下面的图片,我们可以看到,Elastigroup有三个扩展事件:

按比例缩小

自Elastigroup自主管理底层基础设施,我们可以减少运行实例的数量仅仅通过扩展nginx豆荚的数量低于50 - 10。


几分钟后,您将看到实例的数量减少节点Elastigroup:

结论

在这篇文章中,我走过去如何开始Elastigroup和解释它如何管理你的Kubernetes集群现场实例。与Elastigroup,组织可以显著降低Kubernetes成本利用现货实例与按需使用保留或实例。不用担心底层基础设施,你可以花更多的时间在开发和维护生产应用程序。

Baidu
map