什么是kube-public命名空间?

时间:2017-08-29 01:48:46

标签: kubernetes kubeadm

对此默认命名空间的意图感到好奇。

提前致谢。

2 个答案:

答案 0 :(得分:21)

该命名空间存在于使用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进行自举的集群,这些不会存在。 [...]

答案 1 :(得分: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