aiven/aiven-operator

Continously Monitor State of Aiven Resources

Closed this issue · 6 comments

I think it would be beneficial to have some mechanism that continously monitors the state of the created aiven resources. For example: Kafka Connector Tasks may fail at some point, even after they were successfully created.

I propose the following:

  • split controllers into reconciliation creation/deletion/updating and state monitoring (GET+update k8s status) loops
  • reconciliation handles manipulating the instance at aiven and is done once the instance is running, afterwards we enter the monitoring loop and always requeue with some timeout ( like a minute, depending on the resource maybe more ) there
  • state monitors only listen to creation and deletion and stop monitoring once the object is being deleted

+1

Is there any chance this will will be implemented? This is an usual behavior of other operators.

Hey @kaso-mms;

I agree! Let me cc @Serpentiel @byashimov

Hey.
Continuous loop will require to implement diff comparison mechanism, like we have in terraform. This approach is provided by crossplane. I would invest in crossplane provider.

I agree. If an crossplane provider would be available I would prefer this way.

Following to a Support request, added this to Aiven ideas so that other customers may also express their interest: https://ideas.aiven.io/forums/951112-platform-experience/suggestions/47150371-kubernetes-operator-to-continuously-monitor-the-st

As discussed internally, we don’t want to expose too much the future of our Kubernetes operator. The simple reason is that it is not sustainable to use it for managing resources deployed outside the cluster. Rather we should recommend customers looking into it to consider a potential future support of crossplane: https://ideas.aiven.io/forums/951112-platform-experience/suggestions/46266543-manage-aiven-resources-with-crossplane