Kubernetes:使用来自一个云提供商的OpenStack Cinder,而使用另一个云提供商的节点 [英] Kubernetes: using OpenStack Cinder from one cloud provider while nodes on another

查看:101
本文介绍了Kubernetes:使用来自一个云提供商的OpenStack Cinder,而使用另一个云提供商的节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

也许我的问题没有道理,但这就是我想要做的:

Maybe my question does not make sense, but this is what I'm trying to do:

  • 我有一个正在运行的Kubernetes集群,该集群在裸机上的CoreOS上运行.
  • 我正在尝试使用Cinder从OpenStack云提供商挂载块存储.

根据我的阅读,要能够连接到块存储提供程序,我需要将kubelet配置为cloud-provider=openstack,并使用cloud.conf文件进行凭据配置.

From my readings, to be able to connect to the block storage provider, I need kubelet to be configured with cloud-provider=openstack, and use a cloud.conf file for the configuration of credentials.

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

I did that and the auth part seems to work fine (i.e. I successfully connect to the cloud provider), however kubelet then complains that it cannot find my node on the openstack provider.

我得到:

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

这类似于以下问题:

无法为kubelet构造api.Node对象:无法从云提供商获取外部ID:无法找到对象

但是,我知道kubelet不会在OpenStack提供程序上找到我的节点,因为它不在此处托管!该错误是有道理的,但是我该如何避免呢?

However, I know kubelet will not find my node at the OpenStack provider since it is not hosted there! The error makes sense, but how do I avoid it?

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

In short, how do I tell kubelet not to look for my node there, as I only need it to look up the storage block to mount it?

是否甚至可以这种方式挂载块存储?我误会了它的工作原理吗?

Is it even possible to mount block storage this way? Am I misunderstanding how this works?

推荐答案

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

There seem to be new ways to attach Cinder storage to bare metal, but it's apparently just PoC

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

这篇关于Kubernetes:使用来自一个云提供商的OpenStack Cinder,而使用另一个云提供商的节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆