Kubernetes - пространство имен
Пространство имен обеспечивает дополнительную квалификацию имени ресурса. Это полезно, когда несколько команд используют один и тот же кластер и существует вероятность конфликта имен. Это может быть виртуальная стена между несколькими кластерами.
Функциональность пространства имен
Ниже приведены некоторые из важных функций пространства имен в 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.