Kubernetes:从一个云提供商处使用OpenStack Cinder,而在另一个云提供商处使用节点

时间:2016-03-31 00:10:54

标签: openstack kubernetes openstack-cinder

也许我的问题没有意义,但这就是我想要做的事情:

  • 我在裸机上运行CoreOS上运行的Kubernetes集群。
  • 我正在尝试使用Cinder从OpenStack云提供商安装块存储。

从我的读数来看,为了能够连接到块存储提供程序,我需要kubelet配置cloud-provider=openstack,并使用cloud.conf文件来配置凭据。

我这样做了,auth部分似乎工作正常(即我成功连接到云提供商),但是kubelet然后抱怨它无法在openstack提供商上找到我的节点。

我明白了:

Unable to construct api.Node object for kubelet: failed to get external ID from cloud provider: Failed to find object

这与此问题类似:

Unable to construct api.Node object for kubelet: failed to get external ID from cloud provider: Failed to find object

但是,我知道kubelet将无法在OpenStack提供商处找到我的节点,因为它不在那里托管!错误是有道理的,但我该如何避免呢?

简而言之,我如何告诉kubelet不要在那里寻找我的节点,因为我只需要它来查找存储块来安装它?

甚至可以通过这种方式安装块存储吗?我误解了它是如何工作的吗?

2 个答案:

答案 0 :(得分:2)

似乎有新的方法将Cinder存储连接到裸机,但它显然只是PoC

http://blog.e0ne.info/post/Attach-Cinder-Volume-to-the-Ironic-Instance-without-Nova.aspx

答案 1 :(得分:1)

Unfortunately, I don't think you can decouple the cloud provider for the node and that for the volume, at least not in the vanilla kubernetes.