diff --git a/cmd/kube-apiserver/app/testing/testserver.go b/cmd/kube-apiserver/app/testing/testserver.go index 7027f792f63..e585042263a 100644 --- a/cmd/kube-apiserver/app/testing/testserver.go +++ b/cmd/kube-apiserver/app/testing/testserver.go @@ -39,7 +39,6 @@ import ( "github.com/spf13/pflag" "go.etcd.io/etcd/client/pkg/v3/transport" clientv3 "go.etcd.io/etcd/client/v3" - "google.golang.org/grpc" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -578,10 +577,7 @@ func GetEtcdClients(config storagebackend.TransportConfig) (*clientv3.Client, cl cfg := clientv3.Config{ Endpoints: config.ServerList, DialTimeout: 20 * time.Second, - DialOptions: []grpc.DialOption{ - grpc.WithBlock(), // block until the underlying connection is up - }, - TLS: tlsConfig, + TLS: tlsConfig, } c, err := clientv3.New(cfg) diff --git a/cmd/kubeadm/app/util/etcd/etcd.go b/cmd/kubeadm/app/util/etcd/etcd.go index 6175f3eb9a0..3ba94cc05d9 100644 --- a/cmd/kubeadm/app/util/etcd/etcd.go +++ b/cmd/kubeadm/app/util/etcd/etcd.go @@ -32,7 +32,6 @@ import ( "go.etcd.io/etcd/api/v3/v3rpc/rpctypes" "go.etcd.io/etcd/client/pkg/v3/transport" clientv3 "go.etcd.io/etcd/client/v3" - "google.golang.org/grpc" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -132,10 +131,7 @@ func New(endpoints []string, ca, cert, key string) (*Client, error) { return clientv3.New(clientv3.Config{ Endpoints: endpoints, DialTimeout: etcdTimeout, - DialOptions: []grpc.DialOption{ - grpc.WithBlock(), // block until the underlying connection is up - }, - TLS: tlsConfig, + TLS: tlsConfig, }) } diff --git a/pkg/controlplane/apiserver/samples/generic/server/testing/testserver.go b/pkg/controlplane/apiserver/samples/generic/server/testing/testserver.go index 8b2600988a4..c3aadac7c06 100644 --- a/pkg/controlplane/apiserver/samples/generic/server/testing/testserver.go +++ b/pkg/controlplane/apiserver/samples/generic/server/testing/testserver.go @@ -28,7 +28,6 @@ import ( "github.com/spf13/pflag" "go.etcd.io/etcd/client/pkg/v3/transport" clientv3 "go.etcd.io/etcd/client/v3" - "google.golang.org/grpc" "k8s.io/kubernetes/pkg/controlplane/apiserver/samples/generic/server" "k8s.io/apimachinery/pkg/api/errors" @@ -268,10 +267,7 @@ func StartTestServer(t ktesting.TB, instanceOptions *TestServerInstanceOptions, etcdConfig := clientv3.Config{ Endpoints: storageConfig.Transport.ServerList, DialTimeout: 20 * time.Second, - DialOptions: []grpc.DialOption{ - grpc.WithBlock(), // block until the underlying connection is up - }, - TLS: tlsConfig, + TLS: tlsConfig, } etcdClient, err := clientv3.New(etcdConfig) if err != nil { diff --git a/staging/src/k8s.io/apiextensions-apiserver/go.mod b/staging/src/k8s.io/apiextensions-apiserver/go.mod index ca9bb95b084..0c2a74961cf 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/go.mod +++ b/staging/src/k8s.io/apiextensions-apiserver/go.mod @@ -23,7 +23,6 @@ require ( go.yaml.in/yaml/v2 v2.4.4 golang.org/x/sync v0.20.0 golang.org/x/text v0.37.0 - google.golang.org/grpc v1.81.1 google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af gopkg.in/evanphx/json-patch.v4 v4.13.0 k8s.io/api v0.0.0 @@ -125,6 +124,7 @@ require ( golang.org/x/tools v0.44.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect + google.golang.org/grpc v1.81.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/server.go b/staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/server.go index 766944e47e8..1653aa877ee 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/server.go +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/server.go @@ -24,7 +24,6 @@ import ( "github.com/google/uuid" "go.etcd.io/etcd/client/pkg/v3/transport" clientv3 "go.etcd.io/etcd/client/v3" - "google.golang.org/grpc" "k8s.io/apiextensions-apiserver/pkg/apiserver" "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" @@ -172,10 +171,7 @@ func StartDefaultServerWithClientsAndEtcd(t servertesting.Logger, extraFlags ... etcdConfig := clientv3.Config{ Endpoints: restOptions.StorageConfig.Transport.ServerList, DialTimeout: 20 * time.Second, - DialOptions: []grpc.DialOption{ - grpc.WithBlock(), // block until the underlying connection is up - }, - TLS: tlsConfig, + TLS: tlsConfig, } etcdclient, err := clientv3.New(etcdConfig) if err != nil { diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/objectmeta_test.go b/staging/src/k8s.io/apiextensions-apiserver/test/integration/objectmeta_test.go index 536f487e8f1..3ea1c5a3e7d 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/objectmeta_test.go +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/objectmeta_test.go @@ -27,7 +27,6 @@ import ( "github.com/google/go-cmp/cmp" "go.etcd.io/etcd/client/pkg/v3/transport" clientv3 "go.etcd.io/etcd/client/v3" - "google.golang.org/grpc" "sigs.k8s.io/yaml" "k8s.io/apimachinery/pkg/api/errors" @@ -149,10 +148,7 @@ func TestInvalidObjectMetaInStorage(t *testing.T) { etcdConfig := clientv3.Config{ Endpoints: restOptions.StorageConfig.Transport.ServerList, DialTimeout: 20 * time.Second, - DialOptions: []grpc.DialOption{ - grpc.WithBlock(), // block until the underlying connection is up - }, - TLS: tlsConfig, + TLS: tlsConfig, } etcdclient, err := clientv3.New(etcdConfig) if err != nil { diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/pruning_test.go b/staging/src/k8s.io/apiextensions-apiserver/test/integration/pruning_test.go index 18042c3a973..23304674d0b 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/pruning_test.go +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/pruning_test.go @@ -30,7 +30,6 @@ import ( "go.etcd.io/etcd/client/pkg/v3/transport" clientv3 "go.etcd.io/etcd/client/v3" - "google.golang.org/grpc" "sigs.k8s.io/yaml" @@ -342,10 +341,7 @@ func TestPruningFromStorage(t *testing.T) { etcdConfig := clientv3.Config{ Endpoints: restOptions.StorageConfig.Transport.ServerList, DialTimeout: 20 * time.Second, - DialOptions: []grpc.DialOption{ - grpc.WithBlock(), // block until the underlying connection is up - }, - TLS: tlsConfig, + TLS: tlsConfig, } etcdclient, err := clientv3.New(etcdConfig) if err != nil { diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/storage/objectreader.go b/staging/src/k8s.io/apiextensions-apiserver/test/integration/storage/objectreader.go index d74abc4563c..554b3ba5322 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/storage/objectreader.go +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/storage/objectreader.go @@ -25,7 +25,6 @@ import ( "go.etcd.io/etcd/client/pkg/v3/transport" clientv3 "go.etcd.io/etcd/client/v3" - "google.golang.org/grpc" apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apiserver/pkg/registry/generic" @@ -115,10 +114,7 @@ func GetEtcdClients(config storagebackend.TransportConfig) (*clientv3.Client, cl cfg := clientv3.Config{ Endpoints: config.ServerList, DialTimeout: 20 * time.Second, - DialOptions: []grpc.DialOption{ - grpc.WithBlock(), // block until the underlying connection is up - }, - TLS: tlsConfig, + TLS: tlsConfig, } c, err := clientv3.New(cfg) diff --git a/staging/src/k8s.io/apiserver/pkg/storage/etcd3/testserver/test_server.go b/staging/src/k8s.io/apiserver/pkg/storage/etcd3/testserver/test_server.go index 6d2f1c2f211..d7354f830ad 100644 --- a/staging/src/k8s.io/apiserver/pkg/storage/etcd3/testserver/test_server.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/etcd3/testserver/test_server.go @@ -31,7 +31,6 @@ import ( "go.etcd.io/etcd/server/v3/embed" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest" - "google.golang.org/grpc" storagetesting "k8s.io/apiserver/pkg/storage/testing" ) @@ -124,7 +123,6 @@ func RunEtcd(t testing.TB, cfg *embed.Config) *kubernetes.Client { TLS: tlsConfig, Endpoints: e.Server.Cluster().ClientURLs(), DialTimeout: 10 * time.Second, - DialOptions: []grpc.DialOption{grpc.WithBlock()}, Logger: zaptest.NewLogger(t, zaptest.Level(zapcore.ErrorLevel)).Named("etcd-client"), }) if err != nil { diff --git a/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go b/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go index 0482c8aa84e..b7910f4522b 100644 --- a/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/etcd3.go @@ -310,7 +310,6 @@ var newETCD3Client = func(c storagebackend.TransportConfig) (*kubernetes.Client, } } dialOptions := []grpc.DialOption{ - grpc.WithBlock(), // block until the underlying connection is up // use chained interceptors so that the default (retry and backoff) interceptors are added. // otherwise they will be overwritten by the metric interceptor. //