Skip to content

Управление namespaces в Kubernetes

Создать тестовый namespace:

console
$ kubectl create namespace testnamespace

Namespace создан:

text
namespace/testnamespace created

Убедиться, что namespace действительно создан:

console
$ kubectl get namespaces | grep testnamespace

Вывод:

text
testnamespace     Active   18m

Добавить метку env=staging:

console
$ kubectl label namespace testnamespace env=staging

Вывод:

text
namespace/testnamespace labeled

Показать labels для тестового namespace:

console
$ kubectl get namespace testnamespace --show-labels

Добавленный label присутствует в списке:

text
NAME            STATUS   AGE   LABELS
testnamespace   Active   24m   env=staging,kubernetes.io/metadata.name=testnamespace

Удалить добавленный label:

console
$ kubectl label namespace testnamespace env-

Вывод:

text
namespace/testnamespace unlabeled

Убедиться, что labels для тестового namespace удален:

console
$ kubectl get namespace testnamespace --show-labels

Удалить namespace:

console
$ kubectl delete namespace testnamespace

Вывод:

text
namespace "testnamespace" deleted

Убедиться, что namespace действительно удалён:

console
$ kubectl get namespaces | grep testnamespace

Добавить namespace через YAML:

console
$ cat > testnamespace.yaml <<'EOF'
apiVersion: v1
kind: Namespace
metadata:
  name: testnamespace
  labels:
    env: staging
  annotations:
    description: "Тестовый namespace для разработки"
EOF
$ kubectl apply -f testnamespace.yaml

Убедиться, что тестовый namespace создан с нужными параметрами:

console
$ kubectl describe namespace testnamespace

Присутствует label (env=staging) и annotation (description: Тестовый namespace для разработки):

text
Name:         testnamespace
Labels:       env=staging
              kubernetes.io/metadata.name=testnamespace
Annotations:  description: Тестовый namespace для разработки
Status:       Active

No resource quota.

No LimitRange resource.

Удалить namespace:

console
$ kubectl delete namespace testnamespace

Опубликовано под лицензией GPL-3.0+. Содержание доступно по лицензии CC BY-SA 4.0, если не указано иное. Разработано участниками ALT Orchestra.