什么是kube-public命名空间?

问题描述 投票:21回答:2

只是好奇这个默认命名空间的意图。

提前致谢。

kubernetes kubeadm
2个回答
22
投票

该命名空间存在于使用kubeadm创建的集群中。它包含一个ConfigMap对象cluster-info,它有助于发现和安全引导(基本上,包含集群的CA等)。无需身份验证即可读取此对象。

如果你很好奇:

$ kubectl get configmap -n kube-public cluster-info -o yaml

这个blog postdesign document有更多细节:

新:kube-public命名空间

[...]要创建每个人都可以看到的配置图,我们引入了一个新的kube-public命名空间。按照惯例,此命名空间可供所有用户(包括未经过身份验证的用户)读取。 [...]

在初始实现中,kubeadm将创建kube-public命名空间(以及cluster-info配置映射)。这意味着对于没有使用kubeadm引导的集群,这些不存在。 [...]


0
投票

要完成上一个答案,这些是命名空间kube-public中的对象:

$ kubectl get_all --namespace kube-public
NAME                                                                      NAMESPACE
secret/default-token-jd2k2                                                kube-public
serviceaccount/default                                                    kube-public
rolebinding.rbac.authorization.k8s.io/system:controller:bootstrap-signer  kube-public
role.rbac.authorization.k8s.io/system:controller:bootstrap-signer         kube-public
© www.soinside.com 2019 - 2024. All rights reserved.