nanit / kubernetes-graphite-cluster

StatsD + Graphite cluster on top of Kubernetes
MIT License
77 stars 29 forks source link

Support Graphite 1.1 with tagging/python3 #24

Open dudymas opened 5 years ago

dudymas commented 5 years ago

Python2.7 is reaching end of life soon, and tagging is pretty cool.

I've tried to keep this simple, and maybe you like it? I'm open to suggestions, but bear in mind I'll under a few deadlines to have this running, so we might need to fix out of band.

erez-rabih commented 5 years ago

thanks for the contribution @dudymas Have you tested this on minikube? if you have, on which kubernetes version?

I tried running the deploy command and got this:

kubectl apply -f kube/rbac/serviceaccount.yml
error: SchemaError(io.k8s.api.apps.v1beta1.RollbackConfig): invalid object doesn't have additional properties
dudymas commented 5 years ago

I have this currently running on two eks clusters... I'll try out minikube when I get a chance this week. I'm not aware of any changes to rbac, though. Would you have any guesses? If not, that's fine. I'm sure it'll work with enough elbow grease.

erez-rabih commented 5 years ago

the deployment finishes well on k8s 1.13 & minikube, but i don't see any metrics on graphite when following the readme to test the metric flow

POD_NAME=$(kubectl get pods -l app=statsd -o jsonpath="{.items[0].metadata.name}")
kubectl exec -it $POD_NAME bash 
#in pod
for i in {1..10}
do
  echo "test_counter:1|c" | nc -w1 -u statsd 8125
  sleep 1
done

apk --update add curl
curl 'graphite/render?target=stats.counters.test_counter.count&from=-10min&format=json'

the result is an empty array of values

bash-4.3# curl 'graphite/render?target=stats.counters.test_counter.count&from=-10min&format=json'
[]
dudymas commented 5 years ago

I'm guessing this is since I use the kube cluster for appliances and haven't tested this way before. Likely I just need to compare config settings between 1.0.x and 1.1.x