ELK in k8s works as expected. cAdvisor also works, but fails to find ES:
Added container args:
"-storage_driver=elasticsearch",
"-storage_driver_es_host='http://elasticsearch:9200'"
Error: Failed to initialize storage driver: failed to create the elasticsearch client - no Elasticsearch node available
I had this same issue in Swarm and is not related to Kubernetes as far as I can tell. The main issue is that cAdvisor v0.29 does not contain storage drivers for Elasticsearch version 6. The version of cAdvisor you are using only includes client drivers for elasticsearch version 2 specified (on line 27) in the source here. So the error message "Failed to initialize storage driver" is saying that you are not able to connect to that ES instance because cAdvisor does not have the proper drivers for that version of Elasticsearch.
There is a GitHub issue for cAdvisor that would add drivers for Elasticsearch 5 (but not necessarily 6), but the change hasn't been merged into master branch yet.