k8s. Namespace
Ну что...?!? В одной из предыдущих статей мы бодро установили кластер кубера. Сегодня предлагаю начать погружаться в его дебри и стартануть цикл статей, которые сделают из тебя не просто пользователя команды kubectl, а заебатого инжнера devops, за которого будут биться крупные корпорации =)
Погнали...!
Из названия темы должно быть понятным, что речь сегодня пойдёт о namespace.
Namespace - это логическая изоляция ресурсов (НЕ сети) внутри одного физического кластера. для сравнения можно привести виртуальную машину на физическом сервере. Namespace необходим для разделения dev, test и prod. Ещё для разделения команд разработки и проектов.
Посмотрим содержимое всех namespace’ов
kubectl get ns
NAME STATUS AGE
default Active 57m
kube-node-lease Active 57m
kube-public Active 57m
kube-system Active 57m
При создании какого-либо ресурса, без указания namespace, он помещается в default, что является дурным тоном. По правилам хорошего тона, перед созданием ресурса, создадим отдельный для этого namespace, в котором будем шалить.
kubectl create ns test
Либо yaml'ом
apiVersion: v1
kind: Namespace
metadata:
name: test
labels:
name: test