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

Создание Namespace

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

Сценарий

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

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

Требования

Создан хотя бы один Кластер.

Ограничения

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

Типы Namespace

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

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

Creating a Namespace on the Console

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

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

    Parameter

    Description

    Name

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

    Description

    Описание namespace.

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

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

    NOTICE:

    Настройте квоты ресурсов для каждого 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 отображается в списке.

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