Files
redis-cluster/templates/service-external.yaml
Corrado Mulas a407903a8d First Commit
2026-07-23 12:09:41 +02:00

76 lines
2.5 KiB
YAML

{{- if .Values.externalAccess.enabled }}
{{- $root := . }}
{{- $fullname := include "redis-cluster.fullname" . }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ $fullname }}-external
namespace: {{ .Release.Namespace }}
labels:
{{- include "redis-cluster.labels" . | nindent 4 }}
redis-cluster.external-role: bootstrap
{{- with .Values.externalAccess.bootstrap.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
type: LoadBalancer
externalTrafficPolicy: {{ .Values.externalAccess.externalTrafficPolicy }}
allocateLoadBalancerNodePorts: {{ .Values.externalAccess.allocateLoadBalancerNodePorts }}
{{- with .Values.externalAccess.loadBalancerClass }}
loadBalancerClass: {{ . | quote }}
{{- end }}
{{- with .Values.externalAccess.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{- toYaml . | nindent 4 }}
{{- end }}
selector:
{{- include "redis-cluster.selectorLabels" . | nindent 4 }}
ports:
- name: tcp-redis
port: {{ .Values.externalAccess.port }}
targetPort: tcp-redis
appProtocol: redis
{{- range $shard := until (int .Values.cluster.shards) }}
{{- range $member := until (int (add (int $.Values.cluster.replicasPerShard) 1)) }}
{{- $memberName := printf "%s-s%d-n%d" $fullname $shard $member | trunc 63 | trimSuffix "-" }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ $memberName }}-x
namespace: {{ $.Release.Namespace }}
labels:
{{- include "redis-cluster.labels" $root | nindent 4 }}
redis-cluster.external-role: member
redis-cluster.shard: {{ $shard | quote }}
redis-cluster.member: {{ $member | quote }}
{{- with $.Values.externalAccess.memberServices.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
type: LoadBalancer
externalTrafficPolicy: {{ $.Values.externalAccess.externalTrafficPolicy }}
allocateLoadBalancerNodePorts: {{ $.Values.externalAccess.allocateLoadBalancerNodePorts }}
{{- with $.Values.externalAccess.loadBalancerClass }}
loadBalancerClass: {{ . | quote }}
{{- end }}
{{- with $.Values.externalAccess.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{- toYaml . | nindent 4 }}
{{- end }}
selector:
{{- include "redis-cluster.selectorLabels" $root | nindent 4 }}
redis-cluster.shard: {{ $shard | quote }}
redis-cluster.member: {{ $member | quote }}
ports:
- name: tcp-redis
port: {{ $.Values.externalAccess.port }}
targetPort: tcp-redis
appProtocol: redis
{{- end }}
{{- end }}
{{- end }}