Облачная платформаAdvanced

Создание Namespace

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Сценарий

Namespace — это набор ресурсов и объектов. Внутри кластера можно создать несколько Namespace и изолировать их друг от друга. Это позволяет Namespace совместно использовать одни и те же Services кластера, не влияя друг на друга.

Например, вы можете развернуть рабочие нагрузки в среде разработки в один Namespace, а рабочие нагрузки в среде тестирования — в другой Namespace.

Предварительные требования

Создан хотя бы один cluster.

Примечания и ограничения

В каждом Namespace можно создать максимум 6000 Services. Здесь Services обозначают ресурсы Kubernetes Service, добавленные для рабочих нагрузок.

Типы Namespace

Namespace можно классифицировать в зависимости от способа их создания.

  • Создаются автоматически: когда cluster запущен, по умолчанию создаются Namespace default, kube-public, kube-system и kube-node-lease.
    • default: Все объекты, для которых не указан Namespace, размещаются в этом Namespace.
    • kube-public: Ресурсы в этом Namespace доступны всем пользователям (включая неаутентифицированных), чтобы некоторые ресурсы кластера были читаемы во всём кластере. Это зарезервированный Kubernetes Namespace. Его общие атрибуты являются лишь соглашениями, а не обязательными требованиями.
    • kube-system: Все ресурсы, созданные Kubernetes, находятся в этом Namespace.
    • kube-node-lease: Каждый node имеет связанный объект Lease в этом Namespace. Объект периодически обновляется node. Как NodeStatus, так и NodeLease рассматриваются как сигналы живости от node. В версиях ранее v1.13 доступен только NodeStatus. Функция NodeLease была введена в v1.13. NodeLease более легковесен, чем NodeStatus. Эта функция значительно повышает масштабируемость и производительность кластера.
  • Создано вручную: Вы можете создавать namespaces для разных целей. Например, вы можете создать три namespaces, один для среды разработки, один для совместной среды отладки и один для среды тестирования. Вы также можете создать один namespace для login services и один для game services.

Создание Namespace в консоли

  1. Войдите в CCE console и нажмите название кластера, чтобы открыть консоль кластера.
  2. Выберите Namespaces в панели навигации и нажмите Create Namespace в правом верхнем углу.
  3. Установите параметры namespace в соответствии с Table 1.

    Table 1 Параметры создания namespace

    Параметр

    Описание

    Имя

    Уникальное имя созданного namespace.

    Описание

    Описание namespace.

    Управление квотами

    Квоты ресурсов могут ограничивать количество ресурсов, доступных в namespaces, обеспечивая распределение ресурсов по namespace.

    ПРИМЕЧАНИЕ:

    Настройте квоты ресурсов для каждого namespace, чтобы предотвратить перегрузку кластера или узлов избыточными ресурсами.

    Например, если ресурсы вашего кластера ограничены, но вам необходимо использовать несколько namespace для изоляции ресурсов разных сервисов, вы можете настроить квоты ресурсов для каждого namespace, чтобы поддерживать стабильность кластера и правильное распределение ресурсов.

    Введите значение. Если квота ресурсов не указана, ограничения на ресурсы не будет.

    Если вы хотите ограничить квоту CPU или памяти, необходимо указать значение запроса CPU или памяти при создании рабочей нагрузки.

  4. После завершения настройки нажмите OK.

Создание Namespace с помощью kubectl

  1. Используйте kubectl для доступа к кластеру. Подробнее см. Accessing a Cluster Using kubectl.
  2. Создайте namespace.

    • Метод 1: используйте YAML‑файл для настройки namespace и выполните команду kubectl apply для его создания.
      1. Создайте файл custom-namespace.yaml со следующим содержимым:
        apiVersion: v1
        kind: Namespace
        metadata:
        name: custom-namespace
      2. Выполните следующую команду для создания namespace:
        kubectl apply -f custom-namespace.yaml

        Вывод команды:

        namespace/custom-namespace created
    • Метод 2: выполните команду kubectl create namespace для создания namespace.
      kubectl create namespace custom-namespace

  3. Выполните следующую команду для проверки создания:

    kubectl get namespaces

    В списке отображается namespace custom-namespace.

    Для получения более подробной информации о том, как настроить namespace, см. Manage Memory, CPU, and API Resources.