Deployment является приложением Kubernetes, которое не сохраняет данные или состояние во время работы. Каждый под того же Deployment идентичен, позволяя осуществлять плавное создание, удаление и замену без воздействия на функциональность приложения. Deployments идеальны для бессостояльных приложений, таких как веб‑frontend серверы и микросервисы, которые не требуют хранения данных. Они позволяют легко управлять жизненным циклом приложений, включая обновления, откаты и масштабирование.
Параметр | Описание |
|---|---|
Тип рабочей нагрузки | Выберите Deployment. Для получения подробностей о разных типах рабочих нагрузок смотрите Обзор рабочих нагрузок. |
Имя рабочей нагрузки | Введите имя для рабочей нагрузки. Введите от 1 до 63 символов, начинающихся со строчной буквы и заканчивающихся строчной буквой или цифрой. Допускаются только строчные буквы, цифры и дефисы (-). |
Пространство имён | Выберите пространство имён для рабочей нагрузки. Значение по умолчанию — default. Вы также можете нажать Создать пространство имён для создания. Для подробностей смотрите Создание пространства имён. |
Поды | Введите количество подов рабочей нагрузки. |
Среда выполнения контейнеров | CЕЕ стандартный кластер использует общую среду выполнения по умолчанию, тогда как CCE Turbo кластер поддерживает как общие, так и защищённые среды выполнения. Подробности о различиях смотрите Защищённая и общая среды выполнения. |
Синхронизация часового пояса | Настройте, включать ли синхронизацию часового пояса. После включения этой функции контейнер и узел будут использовать один и тот же часовой пояс. Синхронизация часового пояса опирается на локальный диск, смонтированный в контейнер. Не изменяйте и не удаляйте локальный диск. Подробности смотрите Настройка синхронизации часового пояса. |
Если вы настроили несколько контейнеров для пода, убедитесь, что порты, используемые каждым контейнером, не конфликтуют друг с другом, иначе рабочая нагрузка не будет развернута.
Параметр | Описание |
|---|---|
Имя контейнера | Введите имя контейнера. |
Политика загрузки | Политика обновления или загрузки образа. Если выбрать Always, образ будет загружаться из репозитория каждый раз. Если не выбрать Always, будет использован существующий образ узла. Если образ отсутствует, он будет загружен из репозитория образов. |
Имя образа | Щелкните Выбрать образ и выберите образ, используемый контейнером. Для использования стороннего образа введите путь к образу напрямую. Убедитесь, что учетные данные доступа к образу могут использоваться для доступа к репозиторию образов. Подробности смотрите Использование сторонних образов. |
Тег образа | Выберите тег образа для развертывания. |
CPU Квота |
Если Запрос и Лимит не указаны, квота не ограничена. Для получения дополнительной информации и рекомендаций по Запрос и Лимит, смотрите Настройка характеристик контейнера. |
Memory Квота |
Если Запрос и Лимит не указаны, квота не ограничена. Для получения дополнительной информации и рекомендаций по Запрос и Лимит, смотрите Настройка характеристик контейнера. |
(Опционально) GPU Квота | Настраивается только при наличии в кластере GPU-узлов и CCE AI Suite (NVIDIA GPU) дополнение установлено.
Подробности о том, как использовать GPU в кластере, смотрите Стандартное планирование GPU в Kubernetes. |
(Опционально) Привилегированный контейнер | Программы в привилегированном контейнере обладают определенными привилегиями. Если эта опция включена, контейнеру будут предоставлены привилегии. Например, привилегированные контейнеры могут управлять сетевыми устройствами хост‑машины, изменять параметры ядра, иметь доступ ко всем устройствам узла. Для получения дополнительной информации смотрите Стандарты безопасности подов. |
(Опционально) Init‑контейнер | Определяет, использовать контейнер как init‑контейнер. Init‑контейнер не поддерживает проверку состояния. Init‑контейнер — это специальный контейнер, который запускается до начала работы остальных приложений в поде. Каждый под может содержать несколько контейнеров. Кроме того, в поде может быть один или несколько init‑контейнеров. Приложения‑контейнеры в поде запускаются и работают только после завершения работы всех init‑контейнеров. Подробности смотрите Init‑контейнеры. |
(Опционально) Параметры запуска | Добавьте параметры запуска для контейнера. Подробности смотрите Под. CCE поддерживает следующие параметры запуска:
|
Если рабочая нагрузка содержит более одного пода, тома EVS нельзя монтировать.
Чтобы отключить сбор журналов стандартного вывода текущей рабочей нагрузки, добавьте аннотацию kubernetes.AOM.log.stdout: [] в Метки и аннотации в Дополнительные настройки области. Подробности об использовании этой аннотации смотрите Таблица 1.
Сервис предоставляет внешний доступ к подам. При статическом IP-адресе Сервис перенаправляет трафик доступа к подам и автоматически балансирует нагрузку между ними.
Вы также можете создать Сервис после создания рабочей нагрузки. Подробности о Сервисах разных типов смотрите Обзор сервисов.
Параметр | Описание |
|---|---|
Обновление | Укажите режим и параметры обновления рабочей нагрузки. Постепенное обновление и Полное обновление доступны. Для подробностей смотрите Обновление и откат рабочей нагрузки. |
Планирование | Настройте политики аффинитета и антииффинитета для гибкого планирования рабочей нагрузки. Предоставляются политики нагрузки (load affinity) и аффинитета узлов.
|
Терпимость | Использование taints и tolerations позволяет (не принудительно) планировать под на узел с соответствующими taints и контролировать политику вытеснения пода после загрязнения узла, на котором расположен под. Подробности смотрите Настройка политик терпимости. |
Метки и аннотации | Добавьте метки или аннотации к pod, используя пары «ключ‑значение». После настройки нажмите Подтвердить. Подробности о метках и аннотациях смотрите Настройка меток и аннотаций. |
DNS | Настройте отдельную политику DNS для рабочей нагрузки. Подробности смотрите Настройка DNS. |
Настройка сети |
|
В качестве примера используется Nginx, чтобы показать, как создать рабочую нагрузку с помощью kubectl.
vi nginx-deployment.yaml
Ниже пример файла. Подробности о конфигурации Deployment смотрите в официальной документации Kubernetes.
apiVersion: apps/v1kind: Deployment # Workload typemetadata:name: nginx # Workload namenamespace: default # Namespace where the workload is locatedspec:replicas: 1 # Number of pods in the specified workloadselector:matchLabels: # The workload manages pods based on the pod labels in the label selector.app: nginxtemplate: # Pod configurationmetadata:labels: # Pod labelsapp: nginxspec:containers:- image: nginx:latest # Specify a container image. If you use an image in My ImagesMy Images, obtain the image path from SWR.imagePullPolicy: Always # Image pull policyname: nginx # Container nameresources: # Node resources allocated to the containerrequests: # Requested resourcescpu: 250mmemory: 512Milimits: # Resource limitcpu: 250mmemory: 512MiimagePullSecrets: # Secret for image pull- name: default-secret
kubectl create -f nginx-deployment.yaml
Если отображается информация, аналогичная следующей, Deployment создаётся:
deployment.apps/nginx created
kubectl get deployment
Если Deployment находится в Running, это значит, что Deployment был создан.
NAME READY UP-TO-DATE AVAILABLE AGEnginx 1/1 1 1 4m5s
Параметры