Kubernetes Cinder卷插件的工作原理是怎样的?

huangapple go评论73阅读模式
英文:

How the kubernetes cinder volume plugin works?

问题

我是你的中文翻译助手,以下是翻译好的内容:

我对k8s还不熟悉,最近我在阅读cinder卷插件的源代码:cinder volume plugin

我不知道这个插件是如何工作的,以及它是如何与cinder进行通信的?
我在代码中没有找到请求和响应的部分。

cinder卷插件是通过调用cinder API或其他方式来实现的吗?

英文:

I'm new to k8s, and recently, I read the cinder volume plugin source code:
cinder volume plugin.

I don't know how the plugin works, and how it communicates with cinder?
And I don't find the request and response in code.

Does the cinder volume plugin call cinder API or other ways?

答案1

得分: 1

Cinder卷是持久卷,更准确地说是持久卷存储类之一。

每个存储类都包含provisioner和parameters字段,当属于该类的持久卷需要动态配置时会使用这些字段。

具体而言,Cinder是OpenStack卷类型。它是一个OpenStack块存储Cinder,具有以下特点:

  • 通过在各种传统后端块存储设备之上进行抽象和自动化,提供按需、自助式访问块存储资源的服务和库。
  • 通过抽象和自动化提供软件定义的块存储。

你可以在pkg/volume/cinder/cinder_test.go中看到Kubernetes如何使用Cinder。然而,正如在“Kubernetes Cinder卷在cloud-provider=openstack情况下无法挂载”中提到的:

Cinder provisioner尚未实现,根据文档中的以下说明(StorageClasses Provisioner):

在测试版期间,可用的provisioner类型为kubernetes.io/aws-ebskubernetes.io/gce-pd

因此,还没有“kubernetes.io/cinder”。然而,Ewa评论中提到了使其工作的方法:可以参考“Kubernetes Cinder卷在cloud-provider=openstack情况下无法挂载”。

英文:

cinder volume is a persistent volume, more precisely one of the persistent volume storage classes.

> Each StorageClass contains the fields provisioner and parameters, which are used when a PersistentVolume belonging to the class needs to be dynamically provisioned.

Cinder specifically is an Openstack volume type.
It is an OpenStack Block Storage Cinder, which:

> - implements services and libraries to provide on demand, self-service access to Block Storage resources.

  • Provides Software Defined Block Storage via abstraction and automation on top of various traditional backend block storage devices.

You can see how Kubernetes uses cinder in pkg/volume/cinder/cinder_test.go.
However, as mentioned in "Kubernetes Cinder volumes do not mount with cloud-provider=openstack":

> the the Cinder provisioner is not implemented yet, given the following statement in the docs (StorageClasses Provisioner):

> > During beta, the available provisioner types are kubernetes.io/aws-ebs and kubernetes.io/gce-pd

So no "kubernetes.io/cinder" yet.
Yet, Ewa mentions in the comments making it work: see "Kubernetes Cinder volumes do not mount with cloud-provider=openstack" as an example.

答案2

得分: 0

请查看这个问题。Kubernetes有一个配置(--cloud-config参数),用于连接云提供商(如OpenStack),以操作负载均衡IP和块存储。

英文:

Check this question. Kubernetes has configuration(--cloud-config paramter) on how to connect cloud provider like OpenStack to operate Load Balance IP & Block Storage.

huangapple
  • 本文由 发表于 2017年1月15日 15:51:02
  • 转载请务必保留本文链接:https://go.coder-hub.com/41658969.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定