我试图创建一个CoreOS集群来运行Cassandra的实例。为此,我一直试图仅在一个VM中安装Cassandra服务。 我的Cassandra.service文件是这个
host_addr = socket.gethostbyname(host_name + ".local")
但是要运行该服务,我必须执行命令
fleetctl启动cassandra@1.service
并且舰队已从coreOS中删除,因此我需要使用kubernetes。
我应该使用哪个kubectl命令在VM上启动Cassandra服务,以及如何在CoreOS上安装kubectl?
答案 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,但与此相关的教程却很多。主题,您会轻松找到最适合您需求的主题。