Управление namespaces в Kubernetes
Создать тестовый namespace:
console
kubectl create namespace testnamespaceNamespace создан:
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