Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // RangeOfMinMaxReplicasRecommendationHours is the time (hours) range of minReplicas and maxReplicas recommendation (default: 1) RangeOfMinMaxReplicasRecommendationHours int `yaml:"RangeOfMinMaxReplicasRecommendationHours"` // GatheringDataPeriodType means how long do we gather data for minReplica/maxReplica or data from VPA. "daily" and "weekly" are only valid value. (default: weekly) // If "daily", tortoise will consider all workload behaves very similarly every day. // If your workload may behave differently on, for example, weekdays and weekends, set this to "weekly". GatheringDataPeriodType string `yaml:"GatheringDataPeriodType"` // TTLHoursOfMinMaxReplicasRecommendation is the TTL (hours) of minReplicas and maxReplicas recommendation (default: 720 (=30 days)) TTLHoursOfMinMaxReplicasRecommendation int `yaml:"TTLHoursOfMinMaxReplicasRecommendation"` // MaxReplicasFactor is the factor to calculate the maxReplicas recommendation from the current replica number (default: 2.0) MaxReplicasFactor float64 `yaml:"MaxReplicasFactor"` // MinReplicasFactor is the factor to calculate the minReplicas recommendation from the current replica number (default: 0.5) MinReplicasFactor float64 `yaml:"MinReplicasFactor"` // ReplicaReductionFactor is the factor to reduce the minReplicas gradually after turning off Emergency mode (default: 0.95) ReplicaReductionFactor float64 `yaml:"ReplicaReductionFactor"` // UpperTargetResourceUtilization is the max target utilization that tortoise can give to the HPA (default: 90) UpperTargetResourceUtilization int `yaml:"UpperTargetResourceUtilization"` // MinimumMinReplicas is the minimum minReplicas that tortoise can give to the HPA (default: 3) MinimumMinReplicas int `yaml:"MinimumMinReplicas"` // PreferredReplicaNumUpperLimit is the replica number which the tortoise tries to keep the replica number less than. As it says "preferred", the tortoise **tries** to keep the replicas number less than this, but the replica number may be more than this when other "required" rule will be violated by this limit. (default: 30) PreferredReplicaNumUpperLimit int `yaml:"PreferredReplicaNumUpperLimit"` // MaximumCPUCores is the maximum CPU cores that the tortoise can give to the container (default: 10) MaximumCPUCores string `yaml:"MaximumCPUCores"` // MaximumMemoryBytes is the maximum memory bytes that the tortoise can give to the container (default: 10Gi) MaximumMemoryBytes string `yaml:"MaximumMemoryBytes"` // TimeZone is the timezone used to record time in tortoise objects (default: Asia/Tokyo) TimeZone string `yaml:"TimeZone"` // TortoiseUpdateInterval is the interval of updating each tortoise (default: 15s) TortoiseUpdateInterval time.Duration `yaml:"TortoiseUpdateInterval"` // TortoiseHPATargetUtilizationMaxIncrease is the max increase of target utilization that tortoise can give to the HPA (default: 5) TortoiseHPATargetUtilizationMaxIncrease int `yaml:"TortoiseHPATargetUtilizationMaxIncrease"` // TortoiseHPATargetUtilizationUpdateInterval is the interval of updating target utilization of each HPA (default: 1h) TortoiseHPATargetUtilizationUpdateInterval time.Duration `yaml:"TortoiseHPATargetUtilizationUpdateInterval"` // TODO: the following fields should be removed after we stop depending on deployment. // So, we don't put them in the documentation. // IstioSidecarProxyDefaultCPU is the default CPU resource request of the istio sidecar proxy (default: 100m) IstioSidecarProxyDefaultCPU string `yaml:"IstioSidecarProxyDefaultCPU"` // IstioSidecarProxyDefaultMemory is the default Memory resource request of the istio sidecar proxy (default: 200Mi) IstioSidecarProxyDefaultMemory string `yaml:"IstioSidecarProxyDefaultMemory"` }
func ParseConfig ¶
ParseConfig parses the config file (yaml) and returns Config.
Click to show internal directories.
Click to hide internal directories.