介绍
牧场主2.倍是一个开源的产品,简化了Kubernetes的部署和管理集群。牧场主可以提供Kubernetes从一个云提供商托管或on-prem数据中心,提供计算节点和部署Kubernetes,或继承现有Kubernetes集群,而管理相同的接口。采用牧场主简化了用户管理、安全策略管理、版本升级、备份、恢复和更多。
像牧场,Spotinst海洋还支持每个Kubernetes集群运行云提供商。首选的云提供商是否选择,香草Kubernetes或托管服务的或GKE,Spotinst海洋将动态地处理最优的配置吗基础设施。
Spotinst海洋是serverless容器平台,这是最有效的方式运行在云中Kubernetes集群。在任何Kubernetes环境之上,Spotinst海洋通过动态选择计算资源抽象底层基础设施符合豆荚和容器的资源需求,此外,它增加了集群的雷竞技rabet官网节点利用率,从而显著降低运营云计算成本。
如果你还没有听说过Spotinst海洋,我们建议检查我们海洋的介绍更深层次的潜水。
在这篇文章中,我们将演示如何运行有成本效益的农场主集群在Spotinst海洋。
架构,系统流程
在我们开始之前,让我们回顾一下为了运行所需的主要组件牧场主集群在Spotinst海洋:
- 一个农场主服务器包括所有用于管理整个的软件组件牧场主部署和牧场主服务器API。安装一个牧场主服务器可以管理数百Kubernetes集群。
- 控制平面和etcd节点运行Kubernetesetcd数据库和Kubernetes API。一个节点可以用于两个角色。对于一个简单的设置,它足以只运行一个节点,而对于生产环境建议两个或三个节点上运行它冗余,因此为了保证高可用性。该节点将作为一个独立的按需运行实例。
- 工作者节点是代理商的牧场主部署运行吗容器和豆荚。在此设置中,工人发起节点将定制节点Spotinst海洋根据pods的需求和扩展。
- 海洋Kubernetes控制器Kubernetes部署安装集群内负责收集指标和事件并推动他们通过一个单向链接Spotinst的API。将使用收集的指标Spotinst海洋自动定量为了调整产能,以满足实际的基础设施容器的要求。反映在优化调整类型、大小和分布的实例,从而允许实现更高资源分配和利用Kubernetes集群。

一步一步的教程
在我们开始之前,请确认你有一个牧场主服务器和集群Kubernetes安装在AWS上,至少有一个etcd和控制平面节点。使用这个牧场主快速启动指南通过使用一个起程拓殖模板设置它。
确保以下Spotinst控制台生成:
步骤1 -修改您的牧场主云团
配置您的牧场主集群添加自定义主机:
编辑你的牧场主集群。在集群选项,设置云提供商:自定义。
下定制节点运行命令,定义节点选择:工人。
除了保存注册命令稍后将用于构建实例用户数据。
它应该类似于下面的:
运行sudo码头工人- d——特权——重启= unless-stopped——净=主机- v /etc/kubernetes: / etc / kubernetes - v /var/run: / var /运行牧场主/ rancher-agent: v2.2.4——服务器https://RancherServerIP——令牌XXXX ca-checksum XXXX工人第2步—创建一个海洋牧场工人集群节点
- 在左边的菜单,根据海洋云团,单击Create和选择Kubernetes——加入到现有的集群中,与你的牧场主集群。

- 首先,提供一个集群名称(集群标识符将自动根据提供的集群名称),然后选择该地区集群所在。选择导入从现有的牧场主节点集群配置,运行集群控制的飞机。接下来,Spotinst海洋将进口所有的网络配置,VPC,子网,安全组等等。

- 在计算选项卡下,请修改以下字段:取代图像与一个住处。这将保证实例运行一个码头工人的支持版本。支持的操作系统的完整列表,请参阅牧场主/ os
定义用户数据将执行脚本,一旦最初启动实例,码头工人版本更改为一个受支持的版本和牧场主中的实例注册为一个自定义节点集群。它还将标签节点实例Id,因此Spotinst海洋将能够识别它。请修改cloud-config脚本(取代牧场主url,令牌和校验和与注册命令你在步骤1中)并插入到海洋用户数据:# cloud-config牧场主:码头工人:引擎:docker-17.03.2-ce write_files: -路径:/etc/rc.本地权限:“0755”老板:根内容:| # !/bin/bash wait-for-docker码头工人把牧场主/卷发码头工人运行- d——特权——重启= unless-stopped——净=主机- v /etc/kubernetes: / etc / kubernetes - v /var/run: / var /运行牧场主/ rancher-agent: v2.0.6——服务器< RANCHER_URL >标记<标记>——ca-checksum spotinst <校验和>——工人——标签。instanceId = $(码头工人牧场主/运行curl http://169.254.169.254/latest/meta-data/instance-id)
留给其余的缺省值,然后单击Next。
- 在集群中运行spotinst控制器使用kubectl -4.1创建一个yaml文件configMap.yaml用以下参数。
确保更换令牌、帐户和cluster-identifier与你的价值观。:ConfigMap apiVersion: v1元数据:名称:spotinst-kubernetes-cluster-controller-config名称空间:kube-system数据:spotinst。令牌:XXXXXX spotinst。账户:XXXXX spotinst。cluster-identifier: my-rancher
4.2。集群配置——加载参数
kubectl应用- f configMap.yaml
4.3。安装控制器及其依赖项:
kubectl应用- fhttps://s3.amazonaws.com/spotinst-public/integrations/kubernetes/cluster-controller/spotinst-kubernetes-cluster-controller-ga.yaml
4.4。确认spotinst-kubernetes-cluster-controller pod运行:
Kubectl豆荚- n kube-system

浏览回到Spotinst海洋的创建向导。单击Next并创建集群你都准备好了!Spotinst海洋现在将优化和验证牧场主集群运行在最有效率的方式。
Spotinst海洋节点将会列在节点下的牧场主控制台选项卡:
检查节点
Spotinst海洋提供了一个接口更容易管理和更深的可见性Kubernetes集群。
Spotinst海洋仪表板提供了一个更简单的方法来检查节点的统计数据并验证哪些豆荚在实时运行,资源使用历史和Kubernetes属性(适用时)。
就是这样!现在农场主集群节点是由Spotinst海洋,可以部署豆荚和牧场主外壳应用程序,或直接从Spotinst海洋UI,通过运行工作负载的特性。部署一个应用程序与运行工作负载的
现在农场主集群设置,我们将应用程序部署到它。为了从海洋Spotinst控制台部署应用程序,我们将使用集成运行工作负载的特性。运行工作负载部署等允许创建Kubernetes实体,豆荚,DaemonSets。
来自海洋的行动选择的运行工作负载。对于本教程,我们将创建一个部署使用一种形式,但请注意,也有可能通过上传一个yaml文件配置。
配置在运行工作负载的形式:
- 名称空间,默认
- 类型——部署
- 工作名称:hello world
- 集装箱图片:gcr.io / hello-minikube-zero-install / hello-node
- 副本:1
查看运行部署在名称空间:
总结
在这篇文章中,我们综合Spotinst海洋牧场。牧场主有助于集群部署快速、轻松地在每一个云提供商,与管理Kubernetes控制平面的选择从一个接口。Spotinst海洋,牧场主,优化资源利用,降低云计算成本和最大限度地减少管理开销。
听起来很有趣吗?自己试一试!
继续阅读我们的海洋博客或直接联系我们如果你有任何问题!
- 在左边的菜单,根据海洋云团,单击Create和选择Kubernetes——加入到现有的集群中,与你的牧场主集群。














