Учебники

Кубернетес — Пространство имен

Пространство имен обеспечивает дополнительную квалификацию имени ресурса. Это полезно, когда несколько команд используют один и тот же кластер и существует вероятность конфликта имен. Это может быть как виртуальная стена между несколькими кластерами.

Функциональность пространства имен

Ниже приведены некоторые важные функции пространства имен в 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 .