https://github.com/nduyhai/hack-dns-resolver
Try hard with DNS resolver
https://github.com/nduyhai/hack-dns-resolver
dns grpc-java spring-boot tracing
Last synced: about 2 months ago
JSON representation
Try hard with DNS resolver
- Host: GitHub
- URL: https://github.com/nduyhai/hack-dns-resolver
- Owner: nduyhai
- License: mit
- Created: 2024-06-21T07:18:15.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-24T04:10:26.000Z (over 1 year ago)
- Last Synced: 2025-06-11T09:57:11.950Z (about 1 year ago)
- Topics: dns, grpc-java, spring-boot, tracing
- Language: Java
- Homepage:
- Size: 65.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hack DNS resolver
## Init Project
* Add simple client/server GRPC
* Add client/server monitoring
* Add client/server tracing
* Add thread pool metrics
## Scenario
TBD
## Run local
### Run
```shell
docker-compose up
```
```shell
mvn spring-boot:run
```
### Metrics
http://localhost:3000/d/hack_dns_resolver/hack-dns-resolver?orgId=1
## Run K8s
### Build image
```shell
mvn spring-boot:build-image
```
### Deploy services
```shell
kubectl apply -f ./deployments/greeting/namespace-greeting.yml
kubectl apply -f ./deployments/greeting/deployments-greeting.yml
kubectl apply -f ./deployments/aggregate/namespace-aggregate.yml
kubectl apply -f ./deployments/aggregate/deployments-aggregate.yml
kubectl apply -f ./deployments/aggregate/network.yml
```
### Port forward
```shell
kubectl -n ndhai-aggregate port-forward deployment/aggregate-service-deployment 8080:8080
```
### dashboard
```shell
kubectl apply -f ./config/dashboard/dashboard.yml
kubectl proxy
```
Create account:
https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md
```shell
kubectl apply -f ./deployments/dashboard/dashboard-user.yml
kubectl -n kubernetes-dashboard create token admin-user
```
### Install Grafana, Prometheus, Tempo
https://github.com/nduyhai/kubernetes-tempo
https://github.com/nduyhai/kubernetes-prometheus
https://github.com/nduyhai/kubernetes-grafana
```shell
kubectl -n monitoring port-forward deployment/grafana 3000:3000
```
### Debug dns
https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/
```shell
kubectl apply -f https://k8s.io/examples/admin/dns/dnsutils.yaml
kubectl get pods dnsutils
kubectl exec -i -t dnsutils -- nslookup greeting-service.ndhai-greeting
kubectl exec -i -t dnsutils -- nslookup prometheus-service.monitoring
kubectl exec -i -t dnsutils -- nslookup tempo-service.monitoring
```
### Load test
```
wrk -t12 -c400 -d30s -s ./config/wrk/post.lua http://127.0.0.1:8080/greeting
```