From 2ebd2937806ae957df67ae8138f62a5ad9b39c8d Mon Sep 17 00:00:00 2001 From: knight42 Date: Fri, 4 Sep 2020 00:52:56 +0800 Subject: [PATCH] feat(kubeadm): specify resource requests in etcd pod spec Signed-off-by: knight42 --- cmd/kubeadm/app/phases/etcd/BUILD | 1 + cmd/kubeadm/app/phases/etcd/local.go | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cmd/kubeadm/app/phases/etcd/BUILD b/cmd/kubeadm/app/phases/etcd/BUILD index cb5b014a819..5fd4735ac53 100644 --- a/cmd/kubeadm/app/phases/etcd/BUILD +++ b/cmd/kubeadm/app/phases/etcd/BUILD @@ -32,6 +32,7 @@ go_library( "//cmd/kubeadm/app/util/etcd:go_default_library", "//cmd/kubeadm/app/util/staticpod:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//staging/src/k8s.io/client-go/kubernetes:go_default_library", "//vendor/github.com/pkg/errors:go_default_library", "//vendor/k8s.io/klog/v2:go_default_library", diff --git a/cmd/kubeadm/app/phases/etcd/local.go b/cmd/kubeadm/app/phases/etcd/local.go index 7ce5012755e..ec9af722495 100644 --- a/cmd/kubeadm/app/phases/etcd/local.go +++ b/cmd/kubeadm/app/phases/etcd/local.go @@ -26,17 +26,18 @@ import ( "time" "github.com/pkg/errors" - "k8s.io/klog/v2" - v1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" clientset "k8s.io/client-go/kubernetes" + "k8s.io/klog/v2" + utilsnet "k8s.io/utils/net" + kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/images" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" etcdutil "k8s.io/kubernetes/cmd/kubeadm/app/util/etcd" staticpodutil "k8s.io/kubernetes/cmd/kubeadm/app/util/staticpod" - utilsnet "k8s.io/utils/net" ) const ( @@ -247,6 +248,13 @@ func GetEtcdPodSpec(cfg *kubeadmapi.ClusterConfiguration, endpoint *kubeadmapi.A staticpodutil.NewVolumeMount(etcdVolumeName, cfg.Etcd.Local.DataDir, false), staticpodutil.NewVolumeMount(certsVolumeName, cfg.CertificatesDir+"/etcd", false), }, + Resources: v1.ResourceRequirements{ + Requests: v1.ResourceList{ + v1.ResourceCPU: resource.MustParse("100m"), + v1.ResourceMemory: resource.MustParse("100Mi"), + v1.ResourceEphemeralStorage: resource.MustParse("100Mi"), + }, + }, LivenessProbe: staticpodutil.LivenessProbe(probeHostname, "/health", probePort, probeScheme), StartupProbe: staticpodutil.StartupProbe(probeHostname, "/health", probePort, probeScheme, cfg.APIServer.TimeoutForControlPlane), },