v0.9.0
Version v0.9.0 released!
This release contains changes aimed at improving the performance and reducing memory usage of the Agent Operator in large K8s clusters.
- The operator will no longer drop events from the K8s event stream upon reaching 10,000 events queued, but rather apply back pressure to watchers. This mode is now configured with
CONTRAST_EVENT_QUEUE_FULL_MODE
. The queue size is now controlled withCONTRAST_EVENT_QUEUE_SIZE
. - The operator will now compress modification events within a 10 second window. This greatly improves catch up performance after a restart. This window size is now controlled with
CONTRAST_EVENT_QUEUE_MERGE_WINDOW_SECONDS
. - Memory allocations has been reduced across the board by a factor of 4.
- Improved byte-array to string conversions using modern techniques - this can significantly reduce allocations with clusters with large number of secrets.
- Improved performance of caching cluster state used to reconcile changes after losing connection with the K8s API Server. This significantly reduces allocations in clusters with a large number of entities.
- Improved caching of the compare plan. This provides a minor improvement to performance with a minor decrease in allocations.
- Migrated to the new
ValueTask
for more async operations. This provides a minor reduction in allocations with a large number of injectors.
- The performance of pod status updates with clusters with a large number of pods has been improved.
- The
/get-info.sh
script is now included by default in images - used for diagnostics in permission constrained environments. - The log level can now be configured with
CONTRAST_LOG_LEVEL
(the default continues to beTrace
). Large clusters will benefit from reducing this toInfo
.
contrast/agent-operator:0.9.0
contrast/agent-operator@sha256:8805b634139a9112fa20388bc1ff8776c0b8016f1675cffec055791ba5bf8089
quay.io/contrast/agent-operator:0.9.0
quay.io/contrast/agent-operator@sha256:8805b634139a9112fa20388bc1ff8776c0b8016f1675cffec055791ba5bf8089