We are running several microservices on Google Cloud Platform (GKE using master version v1.12.9-gke.15) and have been using the Stackdriver integration for logging and monitoring (https://cloud.google.com/monitoring/kubernetes-engine/installing). Unfortunately, we also need to have custom log parsing and it is currently not possible to have custom log parsing and Stackdriver monitoring at the same time (discussed also here: https://stackoverflow.com/questions/57528039/gke-stackdriver-kubernetes-engine-monitoring-and-custom-log-format). It seems that we have to turn off the automatic integration with StackDriver for both logging and monitoring.
My question is: What do I need to apply to our cluster to supplement the automatic StackDriver monitoring integration?
I am specifically looking for descriptions on what particular deployments achieve and official deployment descriptors that can be applied directly to the cluster.
From what I can see the difference between enabling and disabling the "Stackdriver Kubernetes Engine Monitoring" are the monitoring related deployments:
- event-exporter-v0.2.4
- heapster-v1.6.1
- stackdriver-metadata-agent-cluster-level
Here is what I found so far:
- The event-exporter enables events' gathering from the cluster (information: https://github.com/Stackdriver/kubernetes-configs and https://github.com/GoogleCloudPlatform/k8s-stackdriver/tree/master/event-exporter). I am missing the official YAML descriptor to be able to deploy it manually (the YAML descriptors in the referenced links are not up-to-date).
- The metrics-server-v0.3.1 (which is active regardless of what is enabled) and AFAIK is replacing the heapster deployment (source: https://github.com/kubernetes-retired/heapster/blob/master/docs/deprecation.md ). Should it still be deployed?
- I have found some references to the stackdriver-metadata-agent-cluster-level here: https://cloud.google.com/gke-on-prem/docs/concepts/logging-and-monitoring#stackdriver_gkeop and there are some descriptors here: https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/metadata-agent/stackdriver/metadata-agent.yaml but they describe a daemonset and a deployment and settings appear to differ from what I have.
And, finally, a sub-question: is this list complete to fully enable monitoring the Kubernetes cluster?
(Note: I have omitted logging related deployments and daemonsets. Supplementing them with our custom deployed configurations is sufficiently documented on the web. Besides, we do require customizations for the logs' parsing.)