Integrations for AIOps
Integrations for AIOps are provided by operators. Operators provide a method of
packaging, deploying, and managing a Kubernetes application. A Kubernetes application is an app that
is both deployed on Kubernetes and managed using the Kubernetes APIs and kubectl
or
oc
tooling.
An Operator is a Kubernetes-native set of resources, and is defined as a controller combined with one or more custom resource definitions (CRDs). The controller is custom code that is deployed to a Kubernetes cluster and is designed to watch for changes to custom Kubernetes resources and react to them. CRDs enable custom objects to look and act just like the built-in, native Kubernetes objects.
Operators build upon the Kubernetes resource and controller pattern and also includes application-specific knowledge to automate common tasks. It extends the Kubernetes API to create, configure, and manage instances of complex applications. An Operator essentially understands two domains: Kubernetes and something else. By combining knowledge of both domains, it can automate tasks that usually require a human operator that understands both domains.
Operators can manage more than one resource kind, and for each kind, you can deploy one or more instances of it.