Juste curieux de connaître l'intention de cet espace de noms par défaut.
Merci d'avance.
Cet espace de noms existe pour le moment dans les clusters créés avec kubeadm. Il contient un seul objet ConfigMap, cluster-info, qui facilite la découverte et la sécurité bootstrap (contient essentiellement l'autorité de certification du cluster, etc.). Cet objet est lisible sans authentification.
Si vous êtes courageux:
$ kubectl get configmap -n kube-public cluster-info -o yaml
Il y a plus de détails dans ce article de blog et le document de conception :
NOUVEAU: espace de noms kube-public
[...] Pour créer une carte de configuration que tout le monde peut voir, nous introduisons un nouvel espace de noms kube-public. Cet espace de noms, par convention, est lisible par tous les utilisateurs (y compris ceux qui ne sont pas authentifiés). [...]
Dans l'implémentation initiale, l'espace de noms kube-public (et la carte de configuration des informations de cluster) seront créés par kubeadm. Cela signifie que ceux-ci n'existeront pas pour les clusters qui ne sont pas démarrés avec kubeadm. [...]
Pour compléter la réponse précédente, ce sont les objets à l'intérieur de l'espace de noms 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