Kubernetes Node Collector on GKE Auto Pilot
GKE Autopilot is not officially supported on the Bindplane Node Collector at this time. This is due to volume mount restrictions that are in place on auto-pilot clusters.
The Bindplane Node Collector deployment manifest can be modified to deploy to auto-pilot clusters.
Modifications
Follow the Install Kubernetes Collectors documentation. After downloading the YAML manifest, open it in your preferred text editor.
Modify the volumes section at spec.template.spec.volumes and comment or remove the following
volume definitions:
runlogdockerlogs
volumes:
- name: config
emptyDir: {}
# - name: runlog
# hostPath:
# path: /run/log/journal
- name: varlog
hostPath:
path: /var/log
# - name: dockerlogs
# hostPath:
# path: /var/lib/docker/containers
- name: storage
hostPath:
path: /var/lib/observiq/otelcol/container
- name: setup
configMap:
name: bindplane-node-agent-setupModify the storage volume to use an emptyDir volume type.
Modify opentelemetry-collector container's volumeMounts at spec.template.spec.containers and comment or remove the following volume mount definitions:
runlogdockerlogs
Apply
Once the modifications have been made, the YAML manifest can be applied to your clusters.
Frequently Asked Questions
Q: Will this support Docker-based clusters?
A: No, however, GKE Auto Pilot clusters use the containerd runtime and do not require the docker volume mounts.
Q: Is an emptyDir volume safe for configuration persistence
A: The hostPath volume is used to ensure the collector's configuration is
persisted in the unlikely event that the Bindplane Collector pod is updated and
restarted during a Bindplane control plane outage. GKE Auto Pilot does not
allow hostPath volumes, therefore a temporary volume is used to store the
configuration pushed by Bindplane to the collector.
Last updated
Was this helpful?