This document describes the design and interaction between the custom resource definitions (CRD) that the Vector Operator introduces.
Operator introduces the following custom resources:
The Vector
CRD declaratively defines a Vector agent installation to run in a Kubernetes cluster.
For each Vector resource, the Operator deploys a properly configured DaemonSet in the same namespace.
For each Vector resource, the Operator adds:
- DaemonSet with Vector
- Secret with Vector Configuration file
- Service. (For connect to Vector API, or scrape Vector metrics, if enabled)
- ServiceAccount/ClusterRole/ClusterRoleBinding for get access to Kubernetes API
- Currently tested only ONE installation Vector on Kubernetes cluster
- Add features for compress Vector configuration file. (Delete duplicates sources/Transforms/Sinks. Compress to gzip)
Specification access to this page
The VectorPipeline
is a namespace-scoped CRD.
The VectorPipeline
CRD defines Sources, Transforms and Sinks rules for Vector.
All VectorPipelines
, with validated configuration file, added to Vector configuration file.
Depending on the types of sources, it can take on the role of either an agent or an aggregator.
- For source available only kubernetes_logs type
- For source field
extra_namespace_label_selector
cannot be installed. The operator control this field and sets the namespace there, where VectorPipeline is defined. - All source types must belong to the same role.
Specification access to this page
The ClusterVectorPipeline
is a cluster-scoped CRD.
The ClusterVectorPipeline
CRD defines Sources, Transforms and Sinks rules for Vector.
All ClusterVectorPipelines
, with validated configuration file, added to Vector configuration file.
Depending on the types of sources, it can take on the role of either an agent or an aggregator.
ClusterVectorPipelines works like VectorPipeline, but without restrictions.
Specification access to this page
The VectorAggregator
CRD declaratively defines a Vector aggregator installation to run in a Kubernetes cluster.
For each VectorAggregator resource, the Operator deploys a properly configured Deployment in the same namespace.
For each VectorAggregator resource, the Operator adds:
- Deployment with Vector
- Secret with Vector Configuration file
- Service. (For connect to Vector API, or scrape Vector metrics, if enabled)
- ServiceAccount/ClusterRole/ClusterRoleBinding for get access to Kubernetes API
- It only forms a configuration from VectorPipelines in the same namespace as the aggregator
Specification access to this page
The ClusterVectorAggregator
is a cluster-scoped CRD that works like VectorAggregator but with ClusterVectorPipelines.
- It works only with ClusterVectorPipelines