kubernetes: google.golang.org/grpc cannot be upgraded >= v1.30.0

What happened: Kubernetes is using GRPC for a lot of stuff (CSI, …) to allow for extensibility, however, the grpc-go driver contained a bug which basically means that writing GRPC servers for kubernetes was not allowed due to a broken implementation in the go client (https://github.com/grpc/grpc-go/issues/2628). So ideally, this grpc-go dependency should be upgraded across the board and maybe even backported to deliver on the promise of interoperability with other languages

What you expected to happen: Being able to e.g. write a CSI driver in typescript / rust

How to reproduce it (as minimally and precisely as possible): See https://github.com/grpc/grpc-go/issues/2628 for more information, basically the grpc-go client sets the authority field to an HTTP2 spec-uncompliant value and so it’s not working in rust / nodejs

Anything else we need to know?:

Environment:

  • Kubernetes version (use kubectl version):
  • Cloud provider or hardware configuration:
  • OS (e.g: cat /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Network plugin and version (if this is a network-related bug):
  • Others:

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 23 (21 by maintainers)

Commits related to this issue

Most upvoted comments

kubernetes @ HEAD now has current versions of:

  • github.com/golang/protobuf
  • google.golang.org/protobuf
  • google.golang.org/grpc

Just yesterday released 3.5.0-alpha.0 version of etcd (https://github.com/etcd-io/etcd/issues/12498) that support grpc-1.32.