76 lines
2.5 KiB
YAML
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 }}
|