Kubernetes Node Agent on GKE Auto Pilot

GKE Autopilotarrow-up-right is not officially supported on the Bindplane Node Agent at this time. This is due to volume mount restrictionsarrow-up-right 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

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-setup

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 runtimearrow-up-right 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?