首页 > 解决方案 > 为什么 Kubernetes 文档没有显示请求或容量的有效映射?

问题描述

在 kubernetes 中,指定持久卷的存储要求的正确语法是:

spec:
  capacity:
    storage: 10Gi

在检查文档参考或使用时,kubectl explain我希望看到storage文档中提到的键,但是它不存在,从文档中不清楚持久卷规范的容量部分允许哪些映射以及如何知道“存储”是正确的键来表示持久卷的磁盘要求。

~ kubectl explain --recursive persistentvolume.spec.capacity

FIELDS:
  .
  .
   capacity <map[string]string>
  .
  .

您当然可以看到示例,但这并不能告诉我还有哪些其他可能的键,只是示例中的内容。

以类似的方式,我可以从隐藏在文档中的这张表中看到允许里面的键resources.requests是:[cpu, memory, hugepages-<size>]但如果我打电话kubectl explain --recursive pod.spec.resources,我希望看到:

FIELDS:
   limits   <map[string]string>
     cpu
     memory
     hugepages-<size>
   requests <map[string]string>
     cpu
     memory
     hugepages-<size>

但你看到的只是:

FIELDS:
   limits   <map[string]string>
   requests <map[string]string>

虽然数据类型清楚地表明了这一点limits并且requests都是映射,但文档并不容易找出有效的映射是什么。

对于这些映射,除了查找示例之外,我如何知道所有可能的有效映射是什么,以及它们为什么不出现在kubectl explain输出中

标签: kuberneteskubectlpersistent-volumes

解决方案


有很多可能的解释,但最可能的解释是:

  • 只是没有更新,
  • 设计选择。

请记住,文档是由人编写的,而不是生成的。当事情得到更新时,某些更改可能无法正确描述。


推荐阅读