如何使用kubectl在CoreOS VM上运行Cassandra服务?

时间:2019-08-05 09:28:28

标签: kubernetes cassandra kubectl coreos

我试图创建一个CoreOS集群来运行Cassandra的实例。为此,我一直试图仅在一个VM中安装Cassandra服务。 我的Cassandra.service文件是这个

host_addr = socket.gethostbyname(host_name + ".local")

但是要运行该服务,我必须执行命令

  

fleetctl启动cassandra@1.service

并且舰队已从coreOS中删除,因此我需要使用kubernetes。

我应该使用哪个kubectl命令在VM上启动Cassandra服务,以及如何在CoreOS上安装kubectl?

1 个答案:

答案 0 :(得分:0)

您不能以简单的方式执行此操作,因为kubectl不仅仅是一个“新命令”,它代替了旧的fleetctl,并允许您执行相同的操作。与fleetctl所涉及的集群编排方法完全不同,systemd基本上是在集群级别控制systemd的集群管理器。它结合了常规的fleetctl单元和某些特定于舰队的属性,这使您能够在集群中运行服务。实际上,它为您提供了这样的功能,因为它没有得到积极开发,并且很长一段时间都不再受支持。正如您在 CoreOS documentation上所读到的,他们建议过渡到 Kubernetes 进行集群编排。

Kubernetes 是完全不同的工具,您将无法以扩展单元文件的附件形式运行它。它们专门设计为使用systemctl(类似于用于管理标准系统化单元的kubectl命令)进行管理。

如果您遇到有关在 CoreOS 上安装^(?=.{0,30}$)[a-zA-Z]+(([',. -][a-zA-Z ])?[a-zA-Z]*)*$ 的问题,这非常简单,并且所有内容都得到了here的说明,但是对于您的特定要求并没有多大帮助任务。 首先,我建议您熟悉 Kubernetes 的一般概念。如果您正在使用此特定系统,则可以从article开始,在在CoreOS上运行Kubernetes 。 只有在那之后,您可能会在 Kubernetes官方文档中找到有关在Kubernetes上部署Cassandra集群的文章,例如this one,但与此相关的教程却很多。主题,您会轻松找到最适合您需求的主题。