title | weight | type | aliases | |
---|---|---|---|---|
Настройка ресурса оператора событий |
60 |
docs |
|
Оператор Knative Eventing может быть настроен с помощью этих параметров:
Примечание: Политики уровня спецификации Kubernetes не могут быть настроены с помощью операторов Knative.
Администраторы кластера могут установить конкретную версию Knative Eventing с помощью поля spec.version
. Например,
если вы хотите установить Knative Eventing 0.16.0, вы можете применить следующий ресурс KnativeEventing
:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
version: 0.16.0
Если поле spec.version
не указано, оператор Knative установит последнюю доступную версию Knative Eventing.
Если пользователи указывают недействительную или недоступную версию, оператор Knative ничего не сделает. Оператор Knative всегда
включает последние три версии с незначительными изменениями. Например, если текущая версия оператора Knative — 0.16.x,
наиболее ранняя доступная версия Knative Eventing через оператор — 0.14.0.Если Knative Eventing уже управляется оператором, обновление поля spec.version
в ресурсе KnativeEventing
позволяет
обновлять или понижать версию Knative Eventing без необходимости изменения оператора.Обратите внимание, что оператор Knative разрешает обновления или понижения версий только на одну версию с незначительными изменениями за раз. Например, если текущая версия развертывания Knative Eventing — 0.14.x, необходимо обновиться до 0.15.x перед обновлением до 0.16.x.
Оператор CR Knative Eventing конфигурируется аналогичным образом, как и оператор CR Knative Serving. Поскольку оператор управляет установкой Knative Eventing, он перезапишет любые обновления для ConfigMaps
, которые используются для конфигурации Knative Eventing. Custom ресурс KnativeEventing
позволяет вам задавать значения для этих ConfigMaps через оператор. Knative Eventing имеет несколько ConfigMaps с префиксом config-
. В spec.config
в KnativeEventing
для каждого ConfigMap с именем config-<name>
содержится одно значение, которое будет использоваться для data
ConfigMap. Например, если вы хотите изменить ваш по умолчанию канал с InMemoryChannel
на KafkaChannel
, вот как выглядит ваш CR Eventing для изменения ConfigMap config-br-default-channel
:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
config:
br-default-channel:
channelTemplateSpec: |
apiVersion: messaging.knative.dev/v1beta1
kind: KafkaChannel
spec:
numPartitions: 10
replicationFactor: 1
Все ConfigMaps создаются в том же пространстве имен, что и CR оператора. Вы можете использовать CR оператора как единственный точка входа для редактирования всех ConfigMaps.## Приватный репозиторий и приватные секреты
CR оператора Knative Eventing настроен таким же образом, как и CR оператора Knative Serving. Для получения дополнительной информации см. документацию по "Приватный репозиторий и приватные секреты" в документации оператора Serving для получения подробных инструкций.
Knative Eventing также определяет только один контейнер внутри одного ресурса Deployment
. Однако имя контейнера не совпадает с именем его родительского Deployment
, что означает, что имя контейнера в Knative Eventing не является уникальным идентификатором, как в Knative Serving. Вот список контейнеров внутри каждого ресурса Deployment
:
Компонент | Имя Deployment | Имя контейнера |
---|---|---|
Основное eventing | eventing-controller |
eventing-controller |
Основное eventing | eventing-webhook |
eventing-webhook |
Eventing Broker | broker-controller |
eventing-controller |
Внутренний память канал | imc-controller |
controller |
Внутренний память канал | imc-dispatcher |
dispatcher |
Поле default
все еще можно использовать для замены изображений в предопределенном формате. Однако, если имя контейнера не является уникальным идентификатором, например eventing-controller
, вам нужно использовать поле override
для замены его, указав deployment/container
как уникальный ключ.Некоторые изображения определены через переменные окружения в Knative Eventing. Они могут быть заменены, воспользовавшись полем override
. Поскольку Knative не имеет последовательного способа указания изображений контейнеров, у нас есть известная проблема здесь.
docker.io/knative-images/${NAME}:{CUSTOM-TAG}
.
В следующем примере:
v0.13.0
для всех изображенийdocker.io/knative-images/${NAME}:{CUSTOM-TAG}
Сначала вам нужно убедиться, что ваши изображения были загружены в следующие теги изображений:
Развертывание | Контейнер | Docker image |
---|---|---|
eventing-controller |
eventing-controller |
docker.io/knative-images/eventing-controller:v0.13.0 |
eventing-webhook |
docker.io/knative-images/eventing-webhook:v0.13.0 |
|
broker-controller |
eventing-controller |
docker.io/knative-images/broker-eventing-controller:v0.13.0 |
controller |
docker.io/knative-images/controller:v0.13.0 |
|
dispatcher |
docker.io/knative-images/dispatcher:v0.13.0 |
Затем вам нужно определить ваш CR оператора с следующим содержимым:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
registry:
default: docker.io/knative-images/${NAME}:v0.13.0
override:
broker-controller/eventing-controller: docker.io/knative-images-repo1/broker-eventing-controller:v0.13.0
```Как указано, вы заменяете `{CUSTOM-TAG}` пользовательским тегом `v0.13.0`. `${NAME}` соответствует имени контейнера в каждом ресурсе `Deployment`. Поле `default` используется для определения формата изображения для всех контейнеров, кроме контейнера `eventing-controller` в развертывании `broker-controller`. Чтобы заменить изображение для этого контейнера, вам нужно воспользоваться полем `override` для указания каждого из них по отдельности, используя `broker-controller/eventing-controller` в качестве ключа.### Скачивание изображений из разных репозиториев без секретов:
Если ваши пользовательские ссылки на изображения не определены в унифицированном формате по умолчанию, вам потребуется включить каждую ссылку по отдельности в CR.
Например, для определения списка изображений:
| Развертывание | Контейнер | Docker Image |
|----|----|----|
| `eventing-controller` | `eventing-controller` | `docker.io/knative-images/eventing-controller:v0.13.0` |
| | `eventing-webhook` | `docker.io/knative-images/eventing-webhook:v0.13.0` |
| | `controller` | `docker.io/knative-images/controller:v0.13.0` |
| | `dispatcher` | `docker.io/knative-images/dispatcher:v0.13.0` |
| `broker-controller` | `eventing-controller` | `docker.io/knative-images/broker-eventing-controller:v0.13.0` |
Оператор CR должен быть изменен для включения полного списка:
apiVersion: operator.knative.dev/v1alpha1 kind: KnativeEventing metadata: name: knative-eventing namespace: knative-eventing spec: registry: override: eventing-controller/eventing-controller: docker.io/knative-images-repo1/eventing-controller:v0.13.0 eventing-webhook/eventing-webhook: docker.io/knative-images-repo2/eventing-webhook:v0.13.0 imc-controller/controller: docker.io/knative-images-repo3/imc-controller:v0.13.0 imc-dispatcher/dispatcher: docker.io/knative-images-repo4/imc-dispatcher:v0.13.0 broker-controller/eventing-controller: docker.io/knative-images-repo5/broker-eventing-controller:v0.13.0
Если вы хотите заменить изображение, определенное переменной окружения, например переменную окружения `DISPATCHER_IMAGE` в контейнере `controller` развертывания `imc-controller`, вам нужно изменить ваш CR следующим образом, если целевое изображение `docker.io/knative-images-repo5/DISPATCHER_IMAGE:v0.13.0`:```
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
registry:
override:
eventing-controller/eventing-controller: docker.io/knative-images-repo1/eventing-controller:v0.13.0
eventing-webhook/eventing-webhook: docker.io/knative-images-repo2/eventing-webhook:v0.13.0
imc-controller/controller: docker.io/knative-images-repo3/imc-controller:v0.13.0
imc-dispatcher/dispatcher: docker.io/knative-images-repo4/imc-dispatcher:v0.13.0
broker-controller/eventing-controller: docker.io/knative-images-repo5/broker-eventing-controller:v0.13.0
DISPATCHER_IMAGE: docker.io/knative-images-repo5/DISPATCHER_IMAGE:v0.13.0
Если ваш репозиторий изображений требует приватных секретов для доступа, вам необходимо добавить атрибут imagePullSecrets
.
В этом примере используется секрет с именем regcred
. См. этот гайд для создания собственных приватных секретов.
После создания секрета отредактируйте ваш CR оператора, добавив содержимое ниже:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
registry:
...
imagePullSecrets:
- name: regcred
Поле imagePullSecrets
ожидает список секретов. Вы можете добавить несколько секретов для доступа к изображениям следующим образом:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
registry:
...
imagePullSecrets:
- name: regcred
- name: regcred-2
...
ChannelBasedBroker
и MTChannelBasedBroker
. Поле defaultBrokerClass
указывает, какой класс использовать; если поле пустое, используется ChannelBasedBroker
.Вот пример, указывающий MTChannelBasedBroker
как класс по умолчанию:```
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
defaultBrokerClass: MTChannelBasedBroker
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )