Update Package to Follow Best Practices
Currently, Metrics Server is being deployed to its own namespace and is integrated with the Istio service mesh. However, by default (and by best practice) it is typically deployed to the kube-system namespace where there is no service mesh integrations. Their non-helm installation files seem to back this up as well as it is all hard-coded to create resources in the kube-system namespace:
https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.8.1
Additionally, the one port it uses is having to be excluded from the mesh in order for it to function properly making it a bit pointless to even include in the mesh. There is also a note in their documentation regarding monitoring this package directly suggesting that it should not be done:
https://github.com/kubernetes-sigs/metrics-server/blob/master/README.md
Given the above the following steps should be taken to align with best practices and upstream's guidance:
- Move package into kube-system namespace
- Remove the network policies and istio-related resources from the values.yaml file and all associated static files in the package
-
Remove the service monitor - Fix helm test
Please refer to this internal MM thread for additional background.