diff --git a/cmd/tiller/tiller.go b/cmd/tiller/tiller.go
index f9ec0d4fc9effea07e9dd2366b93098dafdd3e0d..96eeddacb3f9854aa1fafd3a3acff57352fa754e 100644
--- a/cmd/tiller/tiller.go
+++ b/cmd/tiller/tiller.go
@@ -28,10 +28,12 @@ import (
 	"path/filepath"
 	"strconv"
 	"strings"
+	"time"
 
 	goprom "github.com/grpc-ecosystem/go-grpc-prometheus"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/credentials"
+	"google.golang.org/grpc/keepalive"
 
 	"k8s.io/helm/pkg/kube"
 	"k8s.io/helm/pkg/proto/hapi/services"
@@ -155,6 +157,10 @@ func start() {
 			logger.Fatalf("Could not create server TLS configuration: %v", err)
 		}
 		opts = append(opts, grpc.Creds(credentials.NewTLS(cfg)))
+		opts = append(opts, grpc.KeepaliveParams(keepalive.ServerParameters{
+			MaxConnectionIdle: 10 * time.Minute,
+			// If needed, we can configure the max connection age
+		}))
 	}
 
 	rootServer = tiller.NewServer(opts...)