github google/cloudprober v0.10.9
v0.10.9: Enhancements and bug fixes

latest releases: v0.11.3, v0.11.2, v0.11.1...
3 years ago

File based targets discovery.

Targets can be provided through a file (file can be on GCS as well), in text or json format corresponding to the RDS Resource protobuf (#394).

Kubernetes targets discovery improvements

  • Support for filterting endpoints by port (#370).
  • Make discovered service's port available to probes that use ports (e.g. HTTP) (#420).
  • Provide a way to specify per-target HTTP host header through a target label ("fqdn"). Having a service be accessible only with host header service.namespace.cluster.local is common in Kubernetes and Istio. With this option you can attach the "fqdn" label to the service and cloudprober HTTP probes will do the right thing (#438).
  • Fix service discovery support for AWS ELB (#418).

Miscellaneous

  • For keep_alive HTTP probes, keep track of and report number of connections done, through a metric called "connect_event" (#421).
  • Handle external probe process termination more gracefully (#413).
  • Provide a flag (--cloud_metadata=auto|ec2|gce|none) to control cloud-specific initialization to improve cloudprober start-up time (#417).

Bug Fixes

This releases fixes a couple of uncommon bugs:

  • If kubernetes resources have same names across namespaces, it would cause cloudprober to have duplicate resources (#437), and duplicate resources can cause probe data to get mangled (#436). We track kubernetes resources by both, name and namespace, now (#440) and make sure that targets discovery client doesn't return duplicate resources (#439).

  • Fix a bug where running configtest on GCE VM panics (#441).

Backward incompatible changes

We are changing how you access resource labels in cloudprober configs:

  • Make GCE instance labels available to configs as label_<label-name> instead of labels_<label-name>. For example, in configs, you can use {{.label_app}} to refer to the instance's "app" label.
  • To add additional labels (example) dynamically, based on targets, enclose them within @. For example, to add a label based on target's app label, use @target.label.app@.

These are not widely advertised or used features, so we expect the impact to be minimum.

See v0.10.7...v0.10.9 for the complete list of commits since the last release.

Don't miss a new cloudprober release

NewReleases is sending notifications on new releases.