Kubernetes Node Agent on GKE Auto Pilot
GKE Autopilot is not officially supported on the BindPlane Node Agent at this time. This is due to volume mount restrictions that are in place on auto-pilot clusters.
The BindPlane Node Agent deployment manifest can be modified to deploy to auto-pilot clusters.
Modifications
Follow the Install Kubernetes Agents 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:
runlog
dockerlogs
Modify 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:
runlog
dockerlogs
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 agent's configuration is
persisted in the unlikely event that the BindPlane agent 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 agent.