Я пытаюсь запустить функцию Kubeless (написанную как метод Java), но она не работает. Я перепробовал все, что мог, но у меня закончились идеи. Ниже приведен метод Java (на данный момент это в основном эхо-сервис).
package io.kubeless;
import io.kubeless.Context;
import io.kubeless.Event;
public class MyHandler {
public String handle(Event event, Context context) {
return event.Data;
}
}
Метод был развернут с использованием следующего:
$ kubeless function deploy my-handler --runtime java1.8 --handler MyHandler.handle --from-file src/main/java/io/kubeless/MyHandler.java
Я подтвердил, что он работает запустив следующее:
$ kubeless function call my-handler --data "It works"
$ kubectl logs my-handler-6f67d567c5-r8cdb
0 [pool-1-thread-38] INFO io.kubeless.Handler - Response: It works
Затем я создал триггер Kafka и опубликовал для него сообщение, используя следующее:
$ kubeless trigger kafka create test --function-selector created-by=kubeless,function=my-handler --trigger-topic test-topic
$ kubeless topic publish --topic test-topic --data "Hello from Kafka"
$ kubectl logs my-handler-6f67d567c5-r8cdb
0 [pool-1-thread-38] INFO io.kubeless.Handler - Response: It works
Как видите, единственная запись в журнале - это запись из первоначального вызова, который не был инициирован публикацией / подпиской Kafka. Я подтвердил, что триггер существует:
$ kubeless trigger kafka ls
NAME NAMESPACE TOPIC FUNCTION SELECTOR
test default test-topic function=my-handler
Насколько я могу судить, Kafka, похоже, работает (я также проверил журналы Kafka, но безрезультатно):
$ kubectl get pods --namespace=kubeless
NAME READY STATUS RESTARTS AGE
kafka-0 1/1 Running 0 170m
kafka-trigger-controller-f6f7c699f-m6mcd 1/1 Running 0 170m
kubeless-controller-manager-59d484f4d-9wlhq 3/3 Running 10 4d22h
zoo-0 1/1 Running 0 170m
Почему публикация не запускает функцию? Любые предложения приветствуются, и я заранее благодарю вас.