Kubernetes Job

Поддерживается только производитель

Компонент Kubernetes Job является одним из компонентов Kubernetes, который предоставляет производителя (producer) для выполнения операций с Job.

Configuring Options

Компоненты настраиваются на двух отдельных уровнях:

  • component level

  • edpoint level

Configuring Component Options

На уровне компонента задаются основные и общие настройки, которые впоследствии наследуются endpoints. Это самый высокий уровень конфигурации.

Например, компонент может иметь настройки безопасности, учетные данные для аутентификации, URL-адреса для сетевых подключений и т. д.

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

Компоненты можно настроить с использованием:

  • Component DSL.

  • Конфигурационного файла (application.properties, *.yaml files, etc).

  • Напрямую в Java code.

Configuring Endpoint Options

Обычно больше времени уходит на настройку endpoints, так как они обладают множеством параметров. Эти параметры позволяют настроить поведение endpoint в соответствии с вашими потребностями. Кроме того, параметры делятся на категории в зависимости от того, используется ли endpoint как потребитель (from), как производитель (to) или в обеих ролях.

Настройка endpoints чаще всего выполняется непосредственно в URI endpoint в виде параметров пути и запроса. Также вы можете использовать Endpoint DSL и DataFormat DSL как типобезопасный способ настройки endpoints и форматов данных в Java.

Хорошей практикой при настройке параметров является использование Property Placeholders.

Property placeholders предоставляют несколько преимуществ:

  • Помогают избежать использования жестко закодированных URL-адресов, номеров портов, конфиденциальной информации и других настроек.

  • Позволяют вынести конфигурацию за пределы кода.

  • Делают код более гибким и удобным для повторного использования.

Component properties

Api Version

  • Версия API Kubernetes для использования.

  • По умолчанию:

  • Тип: String

Crd Group

  • Группа ресурсов CRD Consumer, за которой будет идти наблюдение.

  • По умолчанию:

  • Тип: String

Crd Name

  • Тип: Название ресурса Consumer CRD, за которым будет идти наблюдение.

  • По умолчанию:

  • Тип: String

Crd Plural

  • Множественное число ресурса CRD Consumer, за которым будет идти наблюдение.

  • По умолчанию:

  • Тип: String

Crd Scope

  • Тип: Область ресурса CRD Consumer, за которым будет идти наблюдение.

  • По умолчанию:

  • Тип: String

Crd Version

  • Версия ресурса CRD Consumer, за которым будет идти наблюдение.

  • По умолчанию:

  • Тип: String

Dns Domain

  • Тип: Доменное имя DNS, используемое для ServiceCall EIP.

  • По умолчанию:

  • Тип: String

Kubernetes Client

  • KubernetesClient по умолчанию для использования, если предоставлен.

  • По умолчанию:

  • Тип: KubernetesClient

Label Key

  • Тип: Ключ метки Consumer при наблюдении за определёнными ресурсами.

  • По умолчанию:

  • Тип: String

Label Value

  • Значение метки Consumer при наблюдении за определёнными ресурсами.

  • По умолчанию:

  • Тип: String

Master Url

  • Тип: Обязательный параметр. URL удалённого сервера API Kubernetes. Этот параметр следует использовать только в том случае, если ваше приложение Camel подключается извне Kubernetes. Если вы запускаете приложение Camel внутри Kubernetes, вы можете использовать local или client в качестве URL, чтобы указать Camel работать в локальном режиме. Если вы подключаетесь к Kubernetes удалённо, вам также могут понадобиться другие параметры конфигурации для безопасного подключения с использованием сертификатов и т.д.

  • По умолчанию:

  • Тип: String

Namespace

  • Namespace.

  • По умолчанию:

  • Тип: String

Pool Size

  • Тип: Размер пула Consumer

  • По умолчанию: 1

  • Тип: int

Port Name

  • Имя порта, используемое для ServiceCall EIP.

  • По умолчанию:

  • Тип: String

Port Protocol

  • Протокол порта, используемый для ServiceCall EIP.

  • По умолчанию: tcp

  • Тип: String

Resource Name

  • Имя ресурса Consumer, за которым будет идти наблюдение.

  • По умолчанию:

  • Тип: String

Component security properties

Ca Cert Data

  • Данные сертификата CA.

  • По умолчанию:

  • Тип: String

Ca Cert File

  • Тип: Файл сертификата CA.

  • По умолчанию:

  • Тип: String

Client Cert Data

  • Данные сертификата клиента.

  • По умолчанию:

  • Тип: String

Client Cert File

  • Тип: Файл сертификата клиента.

  • По умолчанию:

  • Тип: String

Client Key Algo

  • Алгоритм ключа, используемый клиентом.

  • По умолчанию:

  • Тип: String

Client Key Data

  • Тип: Данные ключа клиента.

  • По умолчанию:

  • Тип: String

Client Key File

  • Файл ключа клиента.

  • По умолчанию:

  • Тип: String

Client Key Passphrase

  • Тип: Парольная фраза клиентского ключа.

  • По умолчанию:

  • Тип: String

Oauth Token

  • Токен аутентификации.

  • По умолчанию:

  • Тип: String

Password

  • Тип: Пароль для подключения к Kubernetes.

  • По умолчанию:

  • Тип: String

Trust Certs

  • Определяет, являются ли используемые сертификаты доверенными или нет.

  • По умолчанию:

  • Тип: Boolean

Username

  • Тип: Имя пользователя для подключения к Kubernetes.

  • По умолчанию:

  • Тип: String

Component advanced properties

Bridge Error Handler

  • Предоставляет возможность связать потребителя с маршрутизатором Error Handler Camel. Это позволяет обрабатывать исключения (если возможно), возникающие при получении входящих сообщений потребителем Camel, в виде сообщений, передаваемых в маршрутизатор Error Handler.

    Важно: Это возможно только в том случае, если сторонний компонент позволяет Camel получать уведомления о возникших исключениях. Некоторые компоненты обрабатывают исключения только внутренне, из-за чего использование bridgeErrorHandler становится невозможным. В некоторых случаях мы можем доработать компонент Camel, чтобы интегрировать его со сторонним компонентом и сделать такую возможность доступной в будущих выпусках. По умолчанию потребитель использует org.apache.camel.spi.ExceptionHandler для обработки исключений, которые логируются с уровнем WARN или ERROR и игнорируются.

  • По умолчанию: false

  • Тип: boolean

Exception Handler

  • Позволяет потребителю использовать собственный ExceptionHandler.

    Обратите внимание, что если включена опция bridgeErrorHandler, то эта настройка не используется. По умолчанию потребитель обрабатывает исключения, которые логируются с уровнем WARN или ERROR и игнорируются.

  • По умолчанию:

  • Тип: ExceptionHandler

Exchange Pattern

  • Определяет шаблон взаимодействия, который применяется, когда потребитель создает новый обмен (exchange).

    Возможные значения:

    • InOnly

    • InOut

  • По умолчанию:

  • Тип: ExchangePattern

Connection Timeout

  • Тип: Таймаут подключения в миллисекундах, используемый при выполнении запросов к серверу API Kubernetes.

  • По умолчанию:

  • Тип: Integer