Skip to content

Commit 63a2c3a

Browse files
doc: improve capability doc by providing a better explanation over the deep insight level (#5977)
1 parent 23d4345 commit 63a2c3a

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

website/content/en/docs/overview/operator-capabilities.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@ It should be possible to backup and restore the operand from the operator itself
146146

147147
Setup full monitoring and alerting for your operand. All resources such as Prometheus rules (alerts) and Grafana dashboards should be created by the operator when the operand CR is instantiated. The RED method<sup>1</sup> is a good place to start with knowing what metrics to expose.
148148
Aim to have as few alerts as possible, by alerting on symptoms that are associated with end-user pain rather than trying to catch every possible way that pain could be caused. Alerts should link to relevant consoles and make it easy to figure out which component is at fault
149-
Native k8s objects emit events (“Events” objects) as their states change. Your operator should do similar for state changes related to your operand. “Custom”, here, means that it should emit events specific to your operator/operand outside of the events already emitted by their deployment methodology. This, in conjunction with status descriptors, give much needed visibility into actions taken by your operator/operand. Operators are codified domain-specific knowledge. Your end user should not need this domain-specific knowledge to gain visibility into what’s happening with their resource.
149+
Native k8s objects emit events (“Events” objects) for situations users or administrators should be alerted about. Your operator should do similar for state changes related to your operand. “Custom”, here, means that it should emit events specific to your operator/operand outside of the events already emitted by their deployment methodology. This, in conjunction with status descriptors for the CR conditions, give much needed visibility into actions taken by your operator/operand. Operators are codified domain-specific knowledge. Your end user should not need this domain-specific knowledge to gain visibility into what’s happening with their resource.
150+
Please, ensure that you look at the Kubernetes API conventions in the [Events][k8s-api-events] and [status][k8s-api-status] sections to know how to properly deal with them.
150151

151152
### Monitoring
152153

@@ -182,6 +183,8 @@ The RED Method defines the three key metrics for every service in your architect
182183
* Errors (the number of those requests that are failing)
183184
* Duration (the amount of time those requests take)
184185

186+
Note that by building projects using Operator-SDK or [Kubebuilder][kubebuilder] CLI tools your solution leverages [controller-runtime][controller-runtime] which provides the following [reference][metric-reference] exported by default. For further information, see the [metrics][metrics] documentation to understand how to enable monitoring and add custom metrics . Also, you may want to give a look at the [(grafana/v1-alpha)][grafana-plugin-docs] which provides some JSON manifests to create Grafana dashboards using the default metrics exported.
187+
185188
---
186189

187190
## Level 5 - Auto Pilot
@@ -223,3 +226,10 @@ The highest capability level aims to significantly reduce/eliminate any remainin
223226

224227
6. Can it detect and alert when anything is working below the learned performance baseline that can’t be corrected automatically?
225228

229+
[kubebuilder]: https://github.com/kubernetes-sigs/kubebuilder
230+
[controller-runtime]: https://github.com/kubernetes-sigs/controller-runtime
231+
[metrics]: https://book.kubebuilder.io/reference/metrics.html
232+
[metric-reference]: https://book.kubebuilder.io/reference/metrics-reference.html
233+
[grafana-plugin-docs]: https://book.kubebuilder.io/plugins/grafana-v1-alpha.html
234+
[k8s-api-events]: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#events
235+
[k8s-api-status]: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

0 commit comments

Comments
 (0)