Documentation ¶
Overview ¶
Package defaults contains the default values for various configurable options of a StorageCluster
Index ¶
- Constants
- Variables
- func GetDaemonResources(name string, custom map[string]corev1.ResourceRequirements) corev1.ResourceRequirements
- func GetMdsWeightedPodAffinityTerm(weight int32, selectorValue ...string) corev1.WeightedPodAffinityTerm
- func GetProfileDaemonResources(name string, sc *ocsv1.StorageCluster) corev1.ResourceRequirements
Constants ¶
View Source
const ( // NodeAffinityKey is the node label to determine which nodes belong // to a storage cluster NodeAffinityKey = "cluster.ocs.openshift.io/openshift-storage" // NodeTolerationKey is the taint all OCS Pods should tolerate NodeTolerationKey = "node.ocs.openshift.io/storage" // RackTopologyKey is the node label used to distribute storage nodes // when there are not enough AZs presnet across the nodes RackTopologyKey = "topology.rook.io/rack" // ODFResourceProfileKey is the label key used to identify the resource profile of the pod ODFResourceProfileKey = "odf-resource-profile" // KubeMajorTopologySpreadConstraints is the minimum major kube version to support TSC // used along with KubeMinorTSC for version comparison KubeMajorTopologySpreadConstraints = "1" // KubeMinorTopologySpreadConstraints is the minimum minor kube version to support TSC // used along with KubeMajorTSC for version comparison KubeMinorTopologySpreadConstraints = "19" // This annotation is used by both StorageCluster and StorageClass to specify whether // the key rotation feature is enabled. Users can add this annotation to StorageCluster // with a value of "false" to disable key rotation. When present, this annotation is then // propagated to the associated StorageClasses. KeyRotationEnableAnnotation = "keyrotation.csiaddons.openshift.io/enable" )
Variables ¶
View Source
var ( // DefaultMgrCount is the default number of Ceph Manager Pods DefaultMgrCount = 2 // ArbiterModeMgrCount is the number of Ceph Manager pods in arbiter mode ArbiterModeMgrCount = 2 // DefaultMonCount is the number of monitors to be configured for the CephCluster DefaultMonCount = 3 // ArbiterModeMonCount is the number of monitors to be configured for the CephCluster in arbiter mode ArbiterModeMonCount = 5 // DeviceSetReplica is the default number of Rook-Ceph // StorageClassDeviceSets per StorageCluster StorageDeviceSet // This is equal to the default number of failure domains for OSDs DeviceSetReplica = 3 // CephFSActiveMetadataServerCount is the default number of active CephFS metadata servers CephFSActiveMetadataServers = 1 // CephObjectStoreGatewayInstances is the default number of RGW instances to create CephObjectStoreGatewayInstances = 1 // ArbiterCephObjectStoreGatewayInstances is the default number of RGW instances to create when arbiter is enabled ArbiterCephObjectStoreGatewayInstances = 2 // IsUnsupportedCephVersionAllowed is a string that determines if the CephCluster should allow unsupported ceph version image IsUnsupportedCephVersionAllowed = "" // ArbiterModeDeviceSetReplica is the default number of Rook-Ceph // StorageClassDeviceSets per StorageCluster StorageDeviceSet when arbiter is enabled // This is equal to the default number of failure domains for OSDs when arbiter is enabled ArbiterModeDeviceSetReplica = 2 // ReplicasPerFailureDomain is the default replica count in the failure domain // This maps to the ReplicasPerFailureDomain in the CephReplicatedSpec when creating the CephBlockPools ReplicasPerFailureDomain = 1 // ArbiterReplicasPerFailureDomain is the default replica count in the failure domain when arbiter is enabled // This maps to the ReplicasPerFailureDomain in the CephReplicatedSpec when creating the CephBlockPools ArbiterReplicasPerFailureDomain = 2 )
View Source
var ( APIServerKey = "api-server" MetricsExporterKey = "metrics-exporter" CsiPluginKey = "csi-plugin" CsiProvisionerKey = "csi-provisioner" // DefaultNodeAffinity is the NodeAffinity to be used when labelSelector is nil DefaultNodeAffinity = &corev1.NodeAffinity{ RequiredDuringSchedulingIgnoredDuringExecution: getOcsNodeSelector(), } // DaemonPlacements map contains the default placement configs for the // various OCS daemons DaemonPlacements = map[string]rookCephv1.Placement{ "all": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, }, "mon": { PodAntiAffinity: &corev1.PodAntiAffinity{ RequiredDuringSchedulingIgnoredDuringExecution: []corev1.PodAffinityTerm{ getPodAffinityTerm("rook-ceph-mon"), }, }, }, "osd": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, TopologySpreadConstraints: []corev1.TopologySpreadConstraint{ getTopologySpreadConstraintsSpec(1, []string{osdLabelSelector}), }, }, "osd-prepare": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, TopologySpreadConstraints: []corev1.TopologySpreadConstraint{ getTopologySpreadConstraintsSpec(1, []string{osdLabelSelector, osdPrepareLabelSelector}), }, }, "rgw": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, PodAntiAffinity: &corev1.PodAntiAffinity{ PreferredDuringSchedulingIgnoredDuringExecution: []corev1.WeightedPodAffinityTerm{ getWeightedPodAffinityTerm(100, "rook-ceph-rgw"), }, }, }, "mds": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, PodAntiAffinity: &corev1.PodAntiAffinity{ PreferredDuringSchedulingIgnoredDuringExecution: []corev1.WeightedPodAffinityTerm{}, }, }, "nfs": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, PodAntiAffinity: &corev1.PodAntiAffinity{ RequiredDuringSchedulingIgnoredDuringExecution: []corev1.PodAffinityTerm{ getPodAffinityTerm("rook-ceph-nfs"), }, }, }, "noobaa-core": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, }, "noobaa-standalone": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, }, "rbd-mirror": { Tolerations: []corev1.Toleration{ getOcsToleration(), }, }, APIServerKey: { Tolerations: []corev1.Toleration{ getOcsToleration(), }, }, MetricsExporterKey: { Tolerations: []corev1.Toleration{ getOcsToleration(), }, }, CsiPluginKey: { Tolerations: []corev1.Toleration{ getOcsToleration(), }, }, CsiProvisionerKey: { Tolerations: []corev1.Toleration{ getOcsToleration(), }, }, } )
View Source
var ( // DaemonResources map contains the default resource requirements for the // various OCS daemons DaemonResources = map[string]corev1.ResourceRequirements{ "noobaa-core": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("999m"), corev1.ResourceMemory: resource.MustParse("4Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("999m"), corev1.ResourceMemory: resource.MustParse("4Gi"), }, }, "noobaa-db": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("500m"), corev1.ResourceMemory: resource.MustParse("4Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("500m"), corev1.ResourceMemory: resource.MustParse("4Gi"), }, }, "noobaa-db-vol": { Requests: corev1.ResourceList{ corev1.ResourceStorage: resource.MustParse("50Gi"), }, }, "noobaa-endpoint": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("999m"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("999m"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, }, "nfs": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("3"), corev1.ResourceMemory: resource.MustParse("8Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("3"), corev1.ResourceMemory: resource.MustParse("8Gi"), }, }, "rbd-mirror": { Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, }, "ocs-metrics-exporter": { Requests: corev1.ResourceList{ "memory": resource.MustParse("50Mi"), "cpu": resource.MustParse("50m"), }, }, } LeanDaemonResources = map[string]corev1.ResourceRequirements{ "mgr": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("0.5"), corev1.ResourceMemory: resource.MustParse("1Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, }, "mon": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("0.5"), corev1.ResourceMemory: resource.MustParse("1Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("0.5"), corev1.ResourceMemory: resource.MustParse("1Gi"), }, }, "osd": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1.5"), corev1.ResourceMemory: resource.MustParse("3Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1.5"), corev1.ResourceMemory: resource.MustParse("3Gi"), }, }, "mds": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, }, "rgw": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("1Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("1Gi"), }, }, } BalancedDaemonResources = map[string]corev1.ResourceRequirements{ "mgr": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("1.5Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("3Gi"), }, }, "mon": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, }, "osd": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("5Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("5Gi"), }, }, "mds": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("6Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("6Gi"), }, }, "rgw": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, }, } PerformanceDaemonResources = map[string]corev1.ResourceRequirements{ "mgr": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1.5"), corev1.ResourceMemory: resource.MustParse("2Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("3"), corev1.ResourceMemory: resource.MustParse("4Gi"), }, }, "mon": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1.5"), corev1.ResourceMemory: resource.MustParse("3Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("1.5"), corev1.ResourceMemory: resource.MustParse("3Gi"), }, }, "osd": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("4"), corev1.ResourceMemory: resource.MustParse("8Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("4"), corev1.ResourceMemory: resource.MustParse("8Gi"), }, }, "mds": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("3"), corev1.ResourceMemory: resource.MustParse("8Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("3"), corev1.ResourceMemory: resource.MustParse("8Gi"), }, }, "rgw": { Requests: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("4Gi"), }, Limits: corev1.ResourceList{ corev1.ResourceCPU: resource.MustParse("2"), corev1.ResourceMemory: resource.MustParse("4Gi"), }, }, } MonitoringResources = map[string]corev1.ResourceRequirements{ "kube-rbac-proxy": { Requests: corev1.ResourceList{ "memory": resource.MustParse("30Mi"), "cpu": resource.MustParse("50m"), }, Limits: corev1.ResourceList{ "memory": resource.MustParse("30Mi"), "cpu": resource.MustParse("50m"), }, }, "alertmanager": { Requests: corev1.ResourceList{ "cpu": resource.MustParse("100m"), "memory": resource.MustParse("200Mi"), }, Limits: corev1.ResourceList{ "cpu": resource.MustParse("100m"), "memory": resource.MustParse("200Mi"), }, }, "prometheus": { Requests: corev1.ResourceList{ "cpu": resource.MustParse("400m"), "memory": resource.MustParse("250Mi"), }, Limits: corev1.ResourceList{ "cpu": resource.MustParse("400m"), "memory": resource.MustParse("250Mi"), }, }, } )
Functions ¶
func GetDaemonResources ¶
func GetDaemonResources(name string, custom map[string]corev1.ResourceRequirements) corev1.ResourceRequirements
GetDaemonResources returns a custom ResourceRequirements for the passed name, if found in the passed resource map. If not, it returns the default value for the given name.
func GetMdsWeightedPodAffinityTerm ¶
func GetMdsWeightedPodAffinityTerm(weight int32, selectorValue ...string) corev1.WeightedPodAffinityTerm
func GetProfileDaemonResources ¶
func GetProfileDaemonResources(name string, sc *ocsv1.StorageCluster) corev1.ResourceRequirements
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.