diff --git a/pkg/k8sutil/k8sutil.go b/pkg/k8sutil/k8sutil.go index 8203b1006..6fc187567 100644 --- a/pkg/k8sutil/k8sutil.go +++ b/pkg/k8sutil/k8sutil.go @@ -800,8 +800,8 @@ func (k *K8sutil) CreateDataNodeDeployment(replicas *int32, baseImage, storageCl volumeSize, _ := resource.ParseQuantity(dataDiskSize) // Parse CPU / Memory - // limitCPU, _ := resource.ParseQuantity(resources.Limits.CPU) - // limitMemory, _ := resource.ParseQuantity(resources.Limits.Memory) + limitCPU, _ := resource.ParseQuantity(resources.Limits.CPU) + limitMemory, _ := resource.ParseQuantity(resources.Limits.Memory) requestCPU, _ := resource.ParseQuantity(resources.Requests.CPU) requestMemory, _ := resource.ParseQuantity(resources.Requests.Memory) @@ -900,10 +900,10 @@ func (k *K8sutil) CreateDataNodeDeployment(replicas *int32, baseImage, storageCl }, }, Resources: v1.ResourceRequirements{ - // Limits: v1.ResourceList{ - // "cpu": limitCPU, - // "memory": limitMemory, - // }, + Limits: v1.ResourceList{ + "cpu": limitCPU, + "memory": limitMemory, + }, Requests: v1.ResourceList{ "cpu": requestCPU, "memory": requestMemory, diff --git a/pkg/processor/processor.go b/pkg/processor/processor.go index 21cc0dfb3..f115a2b59 100644 --- a/pkg/processor/processor.go +++ b/pkg/processor/processor.go @@ -240,7 +240,7 @@ func (p *Processor) processElasticSearchCluster(c *myspec.ElasticsearchCluster) zoneDistribution := p.calculateZoneDistribution(c.Spec.DataNodeReplicas, zoneCount) for index, count := range zoneDistribution { - p.k8sclient.CreateDataNodeDeployment(&count, baseImage, c.Spec.Zones[index], c.Spec.DataDiskSize, c.Spec.Resources, + p.k8sclient.CreateDataNodeDeployment(&count, baseImage, c.Spec.Zones[index], c.Spec.DataDiskSize, c.Spec.DataNodeResources, c.Spec.ImagePullSecrets, c.ObjectMeta.Name, c.Spec.Instrumentation.StatsdHost, c.Spec.NetworkHost, c.ObjectMeta.Namespace) } } else { @@ -248,7 +248,7 @@ func (p *Processor) processElasticSearchCluster(c *myspec.ElasticsearchCluster) // NOTE: Issue with dynamic PV provisioning (https://github.com/kubernetes/kubernetes/issues/34583) p.k8sclient.CreateStorageClass("standard", c.Spec.Storage.StorageClassProvisoner, c.Spec.Storage.StorageType, c.ObjectMeta.Name) p.k8sclient.CreateDataNodeDeployment(func() *int32 { i := int32(c.Spec.DataNodeReplicas); return &i }(), baseImage, "standard", - c.Spec.DataDiskSize, c.Spec.Resources, c.Spec.ImagePullSecrets, c.ObjectMeta.Name, c.Spec.Instrumentation.StatsdHost, c.Spec.NetworkHost, c.ObjectMeta.Namespace) + c.Spec.DataDiskSize, c.Spec.DataNodeResources, c.Spec.ImagePullSecrets, c.ObjectMeta.Name, c.Spec.Instrumentation.StatsdHost, c.Spec.NetworkHost, c.ObjectMeta.Namespace) } // Setup CronSchedule diff --git a/pkg/spec/cluster.go b/pkg/spec/cluster.go index afde2ae6a..8d3ceadab 100644 --- a/pkg/spec/cluster.go +++ b/pkg/spec/cluster.go @@ -81,6 +81,9 @@ type ClusterSpec struct { // Resources defines memory / cpu constraints Resources Resources `json:"resources"` + // Resources for data nodes + DataNodeResources Resources `json:"data-node-resources"` + // Instrumentation defines metrics for the cluster Instrumentation Instrumentation `json:"instrumentation"`