internal

package
v0.0.0-...-8c8647d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2021 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ResourceRequirementsTable = map[lokiv1beta1.LokiStackSizeType]ComponentResources{
	lokiv1beta1.SizeOneXExtraSmall: {
		Querier: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("1"),
				corev1.ResourceMemory: resource.MustParse("3Gi"),
			},
		},
		Ingester: ResourceRequirements{
			PVCSize: resource.MustParse("1Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("1"),
				corev1.ResourceMemory: resource.MustParse("1Gi"),
			},
		},
		Distributor: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("1"),
				corev1.ResourceMemory: resource.MustParse("500Mi"),
			},
		},
		QueryFrontend: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("200m"),
				corev1.ResourceMemory: resource.MustParse("500Mi"),
			},
		},
		Compactor: ResourceRequirements{
			PVCSize: resource.MustParse("1Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("1"),
				corev1.ResourceMemory: resource.MustParse("1Gi"),
			},
		},
		Gateway: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("100m"),
				corev1.ResourceMemory: resource.MustParse("256Mi"),
			},
		},
		IndexGateway: ResourceRequirements{
			PVCSize: resource.MustParse("5Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("500m"),
				corev1.ResourceMemory: resource.MustParse("1Gi"),
			},
		},
		WALStorage: ResourceRequirements{
			PVCSize: resource.MustParse("15Gi"),
		},
	},
	lokiv1beta1.SizeOneXSmall: {
		Querier: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("4"),
				corev1.ResourceMemory: resource.MustParse("4Gi"),
			},
		},
		Ingester: ResourceRequirements{
			PVCSize: resource.MustParse("10Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("4"),
				corev1.ResourceMemory: resource.MustParse("20Gi"),
			},
		},
		Distributor: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("2"),
				corev1.ResourceMemory: resource.MustParse("2Gi"),
			},
		},
		QueryFrontend: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("4"),
				corev1.ResourceMemory: resource.MustParse("2.5Gi"),
			},
		},
		Compactor: ResourceRequirements{
			PVCSize: resource.MustParse("10Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("2"),
				corev1.ResourceMemory: resource.MustParse("4Gi"),
			},
		},
		Gateway: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("1"),
				corev1.ResourceMemory: resource.MustParse("1Gi"),
			},
		},
		IndexGateway: ResourceRequirements{
			PVCSize: resource.MustParse("50Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("1"),
				corev1.ResourceMemory: resource.MustParse("2Gi"),
			},
		},
		WALStorage: ResourceRequirements{
			PVCSize: resource.MustParse("150Gi"),
		},
	},
	lokiv1beta1.SizeOneXMedium: {
		Querier: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("6"),
				corev1.ResourceMemory: resource.MustParse("10Gi"),
			},
		},
		Ingester: ResourceRequirements{
			PVCSize: resource.MustParse("10Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("6"),
				corev1.ResourceMemory: resource.MustParse("30Gi"),
			},
		},
		Distributor: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("2"),
				corev1.ResourceMemory: resource.MustParse("2Gi"),
			},
		},
		QueryFrontend: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("4"),
				corev1.ResourceMemory: resource.MustParse("2.5Gi"),
			},
		},
		Compactor: ResourceRequirements{
			PVCSize: resource.MustParse("10Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("2"),
				corev1.ResourceMemory: resource.MustParse("4Gi"),
			},
		},
		Gateway: corev1.ResourceRequirements{
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("1"),
				corev1.ResourceMemory: resource.MustParse("1Gi"),
			},
		},
		IndexGateway: ResourceRequirements{
			PVCSize: resource.MustParse("50Gi"),
			Requests: map[corev1.ResourceName]resource.Quantity{
				corev1.ResourceCPU:    resource.MustParse("1"),
				corev1.ResourceMemory: resource.MustParse("2Gi"),
			},
		},
		WALStorage: ResourceRequirements{
			PVCSize: resource.MustParse("150Gi"),
		},
	},
}

ResourceRequirementsTable defines the default resource requests and limits for each size

View Source
var StackSizeTable = map[lokiv1beta1.LokiStackSizeType]lokiv1beta1.LokiStackSpec{

	lokiv1beta1.SizeOneXExtraSmall: {
		Size:              lokiv1beta1.SizeOneXExtraSmall,
		ReplicationFactor: 1,
		Limits: &lokiv1beta1.LimitsSpec{
			Global: &lokiv1beta1.LimitsTemplateSpec{
				IngestionLimits: &lokiv1beta1.IngestionLimitSpec{

					IngestionRate:          4,
					IngestionBurstSize:     6,
					MaxLabelNameLength:     1024,
					MaxLabelValueLength:    2048,
					MaxLabelNamesPerSeries: 30,
					MaxLineSize:            256000,
				},
				QueryLimits: &lokiv1beta1.QueryLimitSpec{

					MaxEntriesLimitPerQuery: 5000,
					MaxChunksPerQuery:       2000000,
					MaxQuerySeries:          500,
				},
			},
		},
		Template: &lokiv1beta1.LokiTemplateSpec{
			Compactor: &lokiv1beta1.LokiComponentSpec{
				Replicas: 1,
			},
			Distributor: &lokiv1beta1.LokiComponentSpec{
				Replicas: 1,
			},
			Ingester: &lokiv1beta1.LokiComponentSpec{
				Replicas: 1,
			},
			Querier: &lokiv1beta1.LokiComponentSpec{
				Replicas: 1,
			},
			QueryFrontend: &lokiv1beta1.LokiComponentSpec{
				Replicas: 1,
			},
			Gateway: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			IndexGateway: &lokiv1beta1.LokiComponentSpec{
				Replicas: 1,
			},
		},
	},

	lokiv1beta1.SizeOneXSmall: {
		Size:              lokiv1beta1.SizeOneXSmall,
		ReplicationFactor: 2,
		Limits: &lokiv1beta1.LimitsSpec{
			Global: &lokiv1beta1.LimitsTemplateSpec{
				IngestionLimits: &lokiv1beta1.IngestionLimitSpec{

					IngestionRate:             10,
					IngestionBurstSize:        20,
					MaxGlobalStreamsPerTenant: 10000,

					MaxLabelNameLength:     1024,
					MaxLabelValueLength:    2048,
					MaxLabelNamesPerSeries: 30,
					MaxLineSize:            256000,
				},
				QueryLimits: &lokiv1beta1.QueryLimitSpec{

					MaxEntriesLimitPerQuery: 5000,
					MaxChunksPerQuery:       2000000,
					MaxQuerySeries:          500,
				},
			},
		},
		Template: &lokiv1beta1.LokiTemplateSpec{
			Compactor: &lokiv1beta1.LokiComponentSpec{
				Replicas: 1,
			},
			Distributor: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			Ingester: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			Querier: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			QueryFrontend: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			Gateway: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			IndexGateway: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
		},
	},

	lokiv1beta1.SizeOneXMedium: {
		Size:              lokiv1beta1.SizeOneXMedium,
		ReplicationFactor: 3,
		Limits: &lokiv1beta1.LimitsSpec{
			Global: &lokiv1beta1.LimitsTemplateSpec{
				IngestionLimits: &lokiv1beta1.IngestionLimitSpec{

					IngestionRate:             10,
					IngestionBurstSize:        20,
					MaxGlobalStreamsPerTenant: 25000,

					MaxLabelNameLength:     1024,
					MaxLabelValueLength:    2048,
					MaxLabelNamesPerSeries: 30,
					MaxLineSize:            256000,
				},
				QueryLimits: &lokiv1beta1.QueryLimitSpec{

					MaxEntriesLimitPerQuery: 5000,
					MaxChunksPerQuery:       2000000,
					MaxQuerySeries:          500,
				},
			},
		},
		Template: &lokiv1beta1.LokiTemplateSpec{
			Compactor: &lokiv1beta1.LokiComponentSpec{
				Replicas: 1,
			},
			Distributor: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			Ingester: &lokiv1beta1.LokiComponentSpec{
				Replicas: 3,
			},
			Querier: &lokiv1beta1.LokiComponentSpec{
				Replicas: 3,
			},
			QueryFrontend: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			Gateway: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
			IndexGateway: &lokiv1beta1.LokiComponentSpec{
				Replicas: 2,
			},
		},
	},
}

StackSizeTable defines the default configurations for each size

Functions

This section is empty.

Types

type ComponentResources

type ComponentResources struct {
	IndexGateway ResourceRequirements
	Ingester     ResourceRequirements
	Compactor    ResourceRequirements
	WALStorage   ResourceRequirements
	// these two don't need a PVCSize
	Querier       corev1.ResourceRequirements
	Distributor   corev1.ResourceRequirements
	QueryFrontend corev1.ResourceRequirements
	Gateway       corev1.ResourceRequirements
}

ComponentResources is a map of component->requests/limits

type ResourceRequirements

type ResourceRequirements struct {
	Limits   corev1.ResourceList
	Requests corev1.ResourceList
	PVCSize  resource.Quantity
}

ResourceRequirements sets CPU, Memory, and PVC requirements for a component

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL