首页 > 解决方案 > ~/.kube/config 中的“preferences: {}”有什么作用?

问题描述

我在网上搜索但找不到在配置文件中有这个空键的单个用例。我试图评论它并且kubectl工作得很好。

所以我的问题是,它到底在解决什么问题?:)

标签: kubernetesconfigkubectl

解决方案


有趣的问题。在此处查看源代码https://github.com/kubernetes/client-go/blob/d412730e5f0160f6dc0a83459c14b05df8ea56fb/tools/clientcmd/api/v1/types.go似乎首选项用于“保存一般信息以用于cli 交互”。它可以包含两个配置参数:颜色(布尔值)和扩展(扩展描述符对象数组)。这里也有这样的评论:https ://github.com/kubernetes/client-go/blob/228dada99554f2e0f7ef07e24f2a4a88c0e448bb/tools/clientcmd/config.go说:“首选项和 CurrentContext 应始终在默认目标文件中设置。由于我们无法区分空值和缺失值(没有 nil 字符串),我们被迫对它们进行单独处理。”</p>

因此,据我了解,存在偏好是因为它不能为零,而且从技术上讲,不可能区分空值和缺失值。这回答了你的问题了吗?


推荐阅读