1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/knative-docs

Клонировать/Скачать
pingsource.md 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 27.05.2025 06:04 d330922
title linkTitle weight type
PingSource
PingSource
31
docs

version

PingSource создаёт события с фиксированным содержимым по заданному расписанию cron.

Установка

Тип источника PingSource включен по умолчанию при установке Knative Eventing.

Пример

Этот пример показывает, как отправлять событие каждую секунду в сервис отображения событий.

Создание пространства имен

Создайте новое пространство имен с именем pingsource-example, введя следующую команду:

kubectl create namespace pingsource-example

Создание сервиса отображения событий

В этом шаге вы создаёте одного потребителя событий, event-display, чтобы проверить, что PingSource работает правильно.

Чтобы развернуть потребителя event-display в вашем кластере, выполните следующую команду:

kubectl -n pingsource-example apply -f - << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: event-display
spec:
  replicas: 1
  selector:
    matchLabels: &labels
      app: event-display
  template:
    metadata:
      labels: *labels
    spec:
      containers:
        - name: event-display
          image: gcr.io/knative-releases/knative.dev/eventing-contrib/cmd/event_display

---

kind: Service
apiVersion: v1
metadata:
  name: event-display
spec:
  selector:
    app: event-display
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080
EOF

Создание PingSource

Теперь вы можете создать PingSource, который будет отправлять событие, содержащее {"message": "Hello world!"} каждую секунду.

{{< tabs name="create-source" default="YAML" >}} {{% tab name="YAML" %}}```shell kubectl create -n pingsource-example -f - <<EOF apiVersion: sources.knative.dev/v1beta1 kind: PingSource metadata: name: test-ping-source spec: schedule: "*/1 * * * *" jsonData: '{"message": "Привет, мир!"}' sink: ref: apiVersion: v1 kind: Service name: event-display EOF


{{% tab name="kn" %}}

```shell
kn source ping create test-ping-source \
  --namespace pingsource-example \
  --schedule "*/1 * * * *" \
  --data '{"message": "Hello world!"}' \
  --sink http://event-display.svc.cluster.local

{{< /tab >}} {{< /tabs >}}

Проверка

Просмотрите логи для потребителя событий event-display, введя следующую команду:

kubectl -n pingsource-example logs -l app=event-display --tail=100

Это возвращает Attributes и Data событий, отправленных PingSource в сервис event-display:

☁️  cloudevents.Event
Validation: valid
Контекстные атрибуты,
  specversion: 1.0
  type: dev.knative.sources.ping
  source: /apis/v1/namespaces/default/pingsources/test-ping-source
  id: d8e761eb-30c7-49a3-a421-cd5895239f2d
  time: 2019-12-04T14:24:00.000702251Z
  datacontenttype: application/json
Данные,
  {
    "message": "Hello world!"
  }

Очистка

Удалите пространство имен pingsource-example и все его ресурсы из вашего кластера, введя следующую команду:

kubectl delete namespace pingsource-example

Справочная документация

См. спецификацию PingSource.

Контакт

По всем вопросам относительно этого источника обращайтесь в группу пользователей Knative.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/knative-docs.git
git@api.gitlife.ru:oschina-mirror/knative-docs.git
oschina-mirror
knative-docs
knative-docs
master