
年初,由两名美国Kubernetes发烧友创建了
一个新的KubeSail Web服务,他们将“使所有开发人员都可以更轻松地使用Kubernetes的好处”。 为了实现这一目标,他们以托管服务的形式提出了一个K8s集群,其中有一个免费的资费计划。
KubeSail的作者声称Kubernetes已经成为建筑基础设施的标准,他承认进入的门槛很高,“这使人们对该技术的好处是否能够覆盖[培训和启动]的成本产生了怀疑”。 为了减轻这一缺陷,他们提供了易于使用的服务,该服务的免费版本应该“对于学习Kubernetes或兴趣项目来说非常有用,而这些项目的成本不超过每月140美元,就像在Amazon EKS中一样”。
当前的KubeSail
收费计划如下:

…价格很快就会受到CPU /内存和存储的灵活限制。
有什么比其他选择更好的?
开发人员自己(不仅是他们)
就是这么说的 ,并回答了Reddit读者关于他们的报价与现有报价之间的区别的问题。
与本地运行Minikube相比:
“一个以上的主节点,使您可以使用这种高度可访问的配置。 您应该能够删除一个节点,而不会遭受功能中断的困扰。 我敢肯定,Minikube只能由许多工人组成一个大师。”
“ ...您还可以在集群中运行生产安装,并使其可以在Internet上使用。 这不仅对学习很酷,而且是一个真正高可用性的K8s集群,当关闭笔记本电脑盖时该集群不会关闭。”
与其他托管Kubernetes供应商相比(示例包括GKE和Digital Ocean):
“ DO确实比AWS便宜(上面已提供了与EKS的比较) ,但我必须说,我们以免费的价格支持HA配置(您可以在三个节点上运行三个小型Pod),并使用具有快速SSD的功能强大的机器-驱动器和网络连接,因此我敢打赌,KubeSail上的Pod将比DO中2 GB实例快! 尽管与DO竞争真的很困难,所以我们将专注于培训和用户界面/实用程序。”
超过托管的K8
尽管该服务主要针对开发人员,但它对于DevOps工程师也很有用。 除了简单的Web界面本身
(有关其详细信息,将在下文中介绍)之外 ,作者还承诺发布Kubernetes的开发工具和教程,以简化在集群中部署和运行应用程序的过程。 这里的“第一口吞咽”
是 deploy-to-kube实用程序 ,用于使用一个命令在Kubernetes中部署Node.js应用程序(甚至无需为此创建配置-交互请求所有必需的数据):

但是回到实际管理的K8s集群,KubeSail为我们提供了什么。
与KubeSail合作
该服务的Web界面可满足项目的目的:它非常简单,只需单击几下就可以使用该集群。
通过GitHub帐户登录后,网络界面会提示您立即开始业务,即 将第一个部署部署到创建的Kubernetes集群中:

我们将为此选择一个现成的示例
QUOTE-OF-THE-MONTH
。 这是一个随机的JSON报价服务。 部署速度快(<10秒):

让我们检查结果,参考一个外部可访问的端点:
$ curl https://qotm-2d7ab6efca.kubesail.io/ { "hostname": "qotm-5d9f776595-6qfmv", "ok": true, "quote": "A small mercy is nothing at all?", "time": "2019-02-21T02:54:15Z", "version": "2.0" }
有效! 这是已经上传到集群的部署的界面:

如您所见,您可以看到有关它们的基本信息:资源限制,转发的端口,日志输出(来自
kubectl logs
数据)。
如果单击ACCOUNT链接(在界面的右上角),则可以从现成的示例中推出其他部署(现在只有两个:已经提到的
~/.kube/config
服务和nginx),或者您可以选择现成的配置(
~/.kube/config
)。通过通常的
kubectl
与集群
kubectl
:

为了实验的完整性,我们将使用此配置并部署我们的部署-例如,来自
Kubernetes文档 :
$ kubectl create -f https://k8s.io/examples/controllers/nginx-deployment.yaml deployment.apps/nginx-deployment created $ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 4h14m nginx-deployment 0/3 0 0 64s qotm 1/1 1 1 4h17m
原来是扩展,但是出了什么问题? KubeSail界面很乐意为您提供帮助:

就在这里-都是关于有限的资源。 例如,如果将部署引入此表单,问题将消失(请参阅最后几行-
resources
块):
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 resources: limits: cpu: "100m" memory: "20Mi" requests: cpu: "10m" memory: "10Mi"
...但是,对这个问题进行这种“纠正”的人为手段很快就会使自己感到:

注意右上角的“ 1/3”-它表示其中一个副本的启动。 没错,在此之后,资源不再足够用了……但是,我将把这种“游戏”留在实验范围之外:它的本质仍然归结为通过
kubectl
检查与集群的交互-并且,正如我们所看到的,一切都井然有序。
KubeSail的官方当前状态是beta版,作者非常期待他们服务的任何用户(包括开发人员和DevOps工程师)的反馈。
替代品
最后,让我提醒您,还有其他免费服务,供您试用Kubernetes并在线学习。 其中之一-使用Docker-in-Docker(DIND)技术与Kubernetes一起玩并在浏览器中提供控制台-我们已经
撰写了一篇评论 。
除了他之外,Katacoda还创建了一个非常相似的
Kubernetes Playground 。
在
Kubernetes文档中,您可以找到
有关安装/使用Kubernetes的
本地方法以及
托管解决方案的大型列表,
托管解决方案的种类远远超过了Amazon,Azure,Digital Ocean和Google熟悉的选项
(顺便说一下,KubeSail还可以到此列表) 。
聚苯乙烯
另请参阅我们的博客: