Как прослушивать события Skaffold без компиляции протоколов Event API?

#python #python-3.x #kubernetes #skaffold

#python #python-3.x #kubernetes #skaffold

Вопрос:

Я экспериментирую с API событий Skaffold. Из приложения на python я хотел бы прослушивать события по протоколу HTTP, которые предоставляются через порт 50052 в конечной точке / v1 / events.

Я скомпилировал файлы .proto в python, примерно следуя этому руководству gRPC, и я могу прослушивать события, подключившись к серверу gRPC на 50051, используя сгенерированный код.

Я пробовал библиотеку python hyper для прослушивания push-событий через соединение HTTP2, но безуспешно.

Я хотел бы избежать накладных расходов на генерацию кода. Возможно ли прослушивать Events API другими способами?

Ответ №1:

согласно документации:

События являются объектами API и удаляются с сервера apiserver на master через час после последнего появления, чтобы избежать заполнения главного диска. Чтобы обеспечить более длительную историю и возможности агрегирования, для захвата событий следует установить стороннее решение.

Если это соответствует вашим требованиям, вы можете попробовать развернуть event exporter в драйвере стека

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

Он также поддерживает различные клиентские библиотеки, такие как C #, GO, Java, python…

Кроме того:

Пожалуйста, имейте в виду: hyper находится в очень ранней альфа-версии. При его использовании вы столкнетесь с ошибками. Кроме того, существует очень много грубых сторон. С учетом сказанного, пожалуйста, попробуйте это в своих приложениях: мне нужны ваши отзывы, чтобы исправить ошибки и сгладить неровности.

Надеюсь, это поможет.