sciencebox / charts

Helm Charts for ScienceBox services
GNU Affero General Public License v3.0
4 stars 6 forks source link

frontier-squid: Ingress snmp on udp:3401 for monitoring #66

Open ebocchi opened 2 years ago

rptaylor commented 2 years ago

I can give this a try.

rptaylor commented 2 years ago

Hmm , well we can do UDP ingress with Traefik: https://doc.traefik.io/traefik/routing/providers/kubernetes-crd/#kind-ingressrouteudp But due to the nature of UDP, the only way to route incoming traffic to different backing services is by listening on a different entrypoint, meaning that each one would be on a different port. https://doc.traefik.io/traefik/routing/routers/#configuring-udp-routers

However apparently the WLCG SNMP monitoring is hardcoded to only use port 3401 so it would not be able to access multiple squids in the same cluster, only the one on port 3401. The alternative would be to have all squids loadbalanced behind port 3401, in which case the monitoring would have a random mix of data from all squids.

So unless the WLCG monitoring is fixed there is no way to monitor multiple squids on the same k8s cluster.

rptaylor commented 2 years ago

The other problem with this is that I was originally assuming we would use a statefulSet instead of a deployment, for persistent cache storage, but as discussed here persistent storage isn't actually that useful.

However without a statefulset there is no way to individually reference each pod via a separate service. Not sure converting from a deployment to a statefulset is worth it though if the WLCG monitoring still would not work anyway.

rptaylor commented 2 years ago

Considering this may not be feasible at the moment @ebocchi shall we go for a new release after https://github.com/sciencebox/charts/pull/73 ?

Update: will also need something for https://github.com/sciencebox/charts/issues/77

ebocchi commented 2 years ago

Both #73 and #77 got merged. Thanks @rptaylor! I am tagging a new version of the chart now: 0.1.3

rptaylor commented 2 years ago

Great thanks a lot @ebocchi ! I should be able to do a production deployment now.

rptaylor commented 1 year ago

It could be done with additional LB IPs and Loadbalancer-type Services, not using Ingress, just like https://gitlab.cern.ch/eos/eos-charts/-/merge_requests/45 , but only if frontier-squid was changed to a statefulset. Probably not worth it for the moment.