Создание простого приложения через образ
В этом техническом руководстве показано, как эффективно создавать, управлять и получать доступ к контейнеризованным приложениям в с использованием нативных для Kubernetes методов.
Содержание
ВведениеСценарии использованияВремя выполненияВажные замечанияПредварительные требованияОбзор рабочего процессаПроцедураСоздание namespaceНастройка репозитория образовМетод 1: Встроенный реестр через ToolchainМетод 2: Внешние сервисы реестраСоздание приложения через DeploymentЭкспонирование сервиса через NodePortПроверка доступности приложенияВведение
Сценарии использования
- Новые пользователи, желающие понять основные рабочие процессы создания приложений на платформах Kubernetes
- Практическое упражнение, демонстрирующее ключевые возможности платформы, включая:
- Организацию проектов/неймспейсов
- Создание Deployment
- Шаблоны экспонирования сервисов
- Проверку доступности приложения
Время выполнения
Оценочное время выполнения: 10-15 минут
Важные замечания
- Это техническое руководство сосредоточено на основных параметрах — для расширенных настроек обращайтесь к полной документации
- Необходимые разрешения:
- Создание проектов/неймспейсов
- Интеграция репозитория образов
- Развёртывание workloads
Предварительные требования
- Базовое понимание архитектуры Kubernetes и концепций платформы
- Предварительно настроенный проект согласно процедурам создания платформы
Обзор рабочего процесса
Процедура
Создание namespace
Namespace обеспечивает логическую изоляцию для группировки ресурсов и управления квотами.
Предварительные условия
- Разрешения на создание, обновление и удаление namespace (например, роли Administrator или Project Administrator)
- kubectl настроен с доступом к кластеру
Процесс создания
-
Войдите в систему и перейдите в Project Management > Namespaces
-
Выберите Create Namespace
-
Настройте основные параметры:
-
Завершите создание с настройками ресурсов по умолчанию
Настройка репозитория образов
поддерживает несколько стратегий получения образов:
Метод 1: Встроенный реестр через Toolchain
-
Перейдите в Administrator > Toolchain > Integration
-
Создайте новую интеграцию:
-
Назначьте реестр целевому проекту платформы
Метод 2: Внешние сервисы реестра
- Используйте общедоступные URL реестров
- Пример:
nginx:latest
Доступ и аутентификация в реестре
Для успешного скачивания контейнерных образов кластер должен удовлетворять двум ключевым требованиям:
- Сетевая доступность: Узлы кластера должны иметь исходящий (egress) сетевой доступ к конечным точкам реестра образов. При отсутствии соединения могут возникать ошибки
ImagePullBackOffили другие сетевые ошибки. - Аутентификация: Если реестр требует аутентификации, создайте
ImagePullSecretи укажите его в Pod или Deployment, чтобы кластер мог скачивать образы. Пошаговые инструкции смотрите в документации по Image Pull Secrets.
Создание приложения через Deployment
Deployment обеспечивает декларативное обновление реплик Pod.
Процесс создания
- В представлении Container Platform:
- Выберите нужный namespace через селектор изоляции
- Перейдите в Workloads > Deployments
- Нажмите Create Deployment
- Укажите источник образа:
- Выберите встроенный реестр или
- Введите внешний URL образа (например,
nginx:latest)
- Настройте идентичность workload и запустите
Операции управления
- Мониторинг статуса реплик
- Просмотр событий и логов
- Просмотр YAML-манифестов
- Анализ метрик ресурсов, оповещений
Экспонирование сервиса через NodePort
Сервисы обеспечивают сетевой доступ к группам Pod.
Процесс создания
-
Перейдите в Networking > Services
-
Нажмите Create Service с параметрами:
-
Подтвердите создание.
Критично
- Виртуальный IP, видимый в кластере
- Диапазон выделения NodePort (30000-32767)
Внутренние маршруты обеспечивают обнаружение сервисов для workloads, предоставляя единый IP-адрес или порт хоста для доступа.
-
Нажмите Network > Service.
-
Нажмите Create Service.
-
Настройте Details согласно параметрам ниже, остальные параметры оставьте по умолчанию.
-
Нажмите Create. На этом этапе сервис успешно создан.
Проверка доступности приложения
Метод проверки
- Получите компоненты конечной точки:
- Node IP: публичный адрес рабочего узла
- NodePort: выделенный внешний порт
- Сформируйте URL доступа:
http://<Node_IP>:<NodePort> - Ожидаемый результат: страница приветствия Nginx
