diff --git a/cmd/controller/app/app.go b/cmd/controller/app/app.go index 6f9ddae36..53766f54a 100644 --- a/cmd/controller/app/app.go +++ b/cmd/controller/app/app.go @@ -425,8 +425,10 @@ func setupClusterProxy(log *logging.Logger, cfg config.Config, clientset kuberne Timeout: 30 * time.Second, } - grpcConn, err := castai.NewGRPCConn(cfg.CastaiEnv, grpc.WithKeepaliveParams(keepalive.ClientParameters{ - Time: 10 * time.Second, + proxyCastaiEnv := cfg.CastaiEnv + proxyCastaiEnv.APIGrpcAddr = cfg.ClusterProxy.GRPCAddr + grpcConn, err := castai.NewGRPCConn(proxyCastaiEnv, grpc.WithKeepaliveParams(keepalive.ClientParameters{ + Time: 60 * time.Second, Timeout: 5 * time.Second, PermitWithoutStream: true, })) diff --git a/cmd/controller/config/config.go b/cmd/controller/config/config.go index cdb3e6b06..1ce07dd08 100644 --- a/cmd/controller/config/config.go +++ b/cmd/controller/config/config.go @@ -49,6 +49,7 @@ type ClusterProxyConfig struct { SAName string `json:"saName"` SANamespace string `json:"saNamespace"` TokenExpirationSeconds int64 `json:"tokenExpirationSeconds"` + GRPCAddr string `json:"grpcAddr"` } type AgentConfig struct { diff --git a/cmd/controller/main.go b/cmd/controller/main.go index 88b7c7f13..86b32f214 100644 --- a/cmd/controller/main.go +++ b/cmd/controller/main.go @@ -100,6 +100,7 @@ var ( clusterProxyEnabled = pflag.Bool("cluster-proxy-enabled", false, "Enable cluster proxy for remote K8s API access") clusterProxySAName = pflag.String("cluster-proxy-sa-name", "", "Name of the service account for cluster proxy") clusterProxyTokenExpiry = pflag.Int64("cluster-proxy-token-expiration", 900, "Token expiration in seconds for the proxy SA") + clusterProxyGRPCAddr = pflag.String("cluster-proxy-grpc-addr", "", "gRPC address for cluster-proxy communication") ) func main() { @@ -218,6 +219,7 @@ func main() { SAName: *clusterProxySAName, SANamespace: podNs, TokenExpirationSeconds: *clusterProxyTokenExpiry, + GRPCAddr: *clusterProxyGRPCAddr, }, CloudProviderConfig: config.CloudProviderConfig{ CloudProvider: cloudtypes.ProviderConfig{