Пространство имен обеспечивает дополнительную квалификацию имени ресурса. Это полезно, когда несколько команд используют один и тот же кластер и существует вероятность конфликта имен. Это может быть как виртуальная стена между несколькими кластерами.
Функциональность пространства имен
Ниже приведены некоторые важные функции пространства имен в Kubernetes.
-
Пространства имен помогают взаимодействовать между модулями, используя одно и то же пространство имен.
-
Пространства имен — это виртуальные кластеры, которые могут располагаться поверх одного и того же физического кластера.
-
Они обеспечивают логическое разделение между командами и их средой.
Пространства имен помогают взаимодействовать между модулями, используя одно и то же пространство имен.
Пространства имен — это виртуальные кластеры, которые могут располагаться поверх одного и того же физического кластера.
Они обеспечивают логическое разделение между командами и их средой.
Создать пространство имен
Следующая команда используется для создания пространства имен.
apiVersion: v1 kind: Namespce metadata name: elk
Контролировать пространство имен
Следующая команда используется для управления пространством имен.
$ kubectl create –f namespace.yml ---------> 1 $ kubectl get namespace -----------------> 2 $ kubectl get namespace <Namespace name> ------->3 $ kubectl describe namespace <Namespace name> ---->4 $ kubectl delete namespace <Namespace name>
В приведенном выше коде,
- Мы используем команду для создания пространства имен.
- Это перечислит все доступное пространство имен.
- Это получит определенное пространство имен, имя которого указано в команде.
- Здесь будут описаны полные сведения об услуге.
- Это удалит определенное пространство имен, присутствующее в кластере.
Использование пространства имен в сервисе — пример
Ниже приведен пример файла примера использования пространства имен в сервисе.
apiVersion: v1 kind: Service metadata: name: elasticsearch namespace: elk labels: component: elasticsearch spec: type: LoadBalancer selector: component: elasticsearch ports: - name: http port: 9200 protocol: TCP - name: transport port: 9300 protocol: TCP
В приведенном выше коде мы используем то же пространство имен в метаданных службы с именем elk .