Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
.gitignore | H A D | 05-Feb-2020 | 23 | |||
LICENSE | H A D | 05-Feb-2020 | 11.1 KiB | |||
README.md | H A D | 05-Feb-2020 | 930 | |||
builder.go | H A D | 05-Feb-2020 | 6.7 KiB | |||
builder_test.go | H A D | 05-Feb-2020 | 4.9 KiB | |||
kubernetes.go | H A D | 05-Feb-2020 | 3.5 KiB | |||
models.go | H A D | 05-Feb-2020 | 1.2 KiB | |||
stream.go | H A D | 05-Feb-2020 | 2.5 KiB | |||
util.go | H A D | 05-Feb-2020 | 605 |
README.md
1# kuberesolver 2Grpc Client-Side Load Balancer with Kubernetes name resolver 3 4```go 5// Register kuberesolver to grpc 6kuberesolver.RegisterInCluster() 7// is same as 8resolver.Register(kuberesolver.NewBuilder(nil)) 9// you can bring your own k8s client, below is default behaviour 10client, err := kuberesolver.NewInClusterK8sClient() 11resolver.Register(kuberesolver.NewBuilder(client)) 12 13// USAGE: 14// if schema is 'kubernetes' then grpc will use kuberesolver to resolve addresses 15cc, err := grpc.Dial("kubernetes:///service-name.namespace:portname", opts...) 16``` 17 18An url can be one of the following, [grpc naming docs](https://github.com/grpc/grpc/blob/master/doc/naming.md) 19``` 20kubernetes:///service-name:8080 21kubernetes:///service-name:portname 22kubernetes:///service-name.namespace:8080 23 24kubernetes://namespace/service-name:8080 25kubernetes://service-name:8080/ 26kubernetes://service-name.namespace:8080/ 27 28``` 29