v0.10.9: Enhancements and bug fixes
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 oflabels_<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.