mirror of
				https://github.com/minio/minio.git
				synced 2025-10-30 00:05:02 -04:00 
			
		
		
		
	Allow topologySpreadConstraints configuration (#14684)
The default replica value is 16 (right now) which can lead to massive resource consumption on one node in smaller clusters. The idea for this addition is to allow users to specify how the pods (replicas) are being spread across the cluster. It gives more control over this Helm Release in smaller clusters where most worker nodes have taints. As this Kubernetes feature exists since Kubernetes 1.19 and is only useful for a replica count > 1, this was taken into account.
This commit is contained in:
		
							parent
							
								
									e7ac1ea54c
								
							
						
					
					
						commit
						0b605c3383
					
				| @ -1,6 +1,7 @@ | ||||
| {{- if eq .Values.mode "distributed" }} | ||||
| {{ $poolCount := .Values.pools | int }} | ||||
| {{ $nodeCount := .Values.replicas | int }} | ||||
| {{ $replicas := mul $poolCount $nodeCount }} | ||||
| {{ $drivesPerNode := .Values.drivesPerNode | int }} | ||||
| {{ $scheme := "http" }} | ||||
| {{- if .Values.tls.enabled }} | ||||
| @ -57,7 +58,7 @@ spec: | ||||
|     type: {{ .Values.StatefulSetUpdate.updateStrategy }} | ||||
|   podManagementPolicy: "Parallel" | ||||
|   serviceName: {{ template "minio.fullname" . }}-svc | ||||
|   replicas: {{ mul $poolCount $nodeCount }} | ||||
|   replicas: {{ $replicas }} | ||||
|   selector: | ||||
|     matchLabels: | ||||
|       app: {{ template "minio.name" . }} | ||||
| @ -168,6 +169,12 @@ spec: | ||||
|     {{- with .Values.tolerations }} | ||||
|       tolerations: | ||||
| {{ toYaml . | indent 8 }} | ||||
|     {{- end }} | ||||
|     {{- if and (gt $replicas 1) (ge .Capabilities.KubeVersion.Major "1") (ge .Capabilities.KubeVersion.Minor "19") }} | ||||
|     {{- with .Values.topologySpreadConstraints }} | ||||
|       topologySpreadConstraints: | ||||
| {{ toYaml . | indent 8 }} | ||||
|     {{- end }} | ||||
|     {{- end }} | ||||
|       volumes: | ||||
|         - name: minio-user | ||||
|  | ||||
| @ -226,6 +226,7 @@ consoleIngress: | ||||
| nodeSelector: {} | ||||
| tolerations: [] | ||||
| affinity: {} | ||||
| topologySpreadConstraints: [] | ||||
| 
 | ||||
| ## Add stateful containers to have security context, if enabled MinIO will run as this | ||||
| ## user and group NOTE: securityContext is only enabled if persistence.enabled=true | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user