svc.yaml 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. {{- /*
  2. Copyright Broadcom, Inc. All Rights Reserved.
  3. SPDX-License-Identifier: APACHE-2.0
  4. */}}
  5. apiVersion: v1
  6. kind: Service
  7. metadata:
  8. name: {{ template "common.names.fullname" . }}
  9. namespace: {{ include "common.names.namespace" . | quote }}
  10. labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
  11. app.kubernetes.io/component: kafka
  12. {{- if or .Values.service.annotations .Values.commonAnnotations }}
  13. {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.service.annotations .Values.commonAnnotations ) "context" . ) }}
  14. annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }}
  15. {{- end }}
  16. spec:
  17. type: {{ .Values.service.type }}
  18. {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }}
  19. clusterIP: {{ .Values.service.clusterIP }}
  20. {{- end }}
  21. {{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
  22. externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
  23. {{- end }}
  24. {{- if (eq .Values.service.type "LoadBalancer") }}
  25. allocateLoadBalancerNodePorts: {{ .Values.service.allocateLoadBalancerNodePorts }}
  26. {{- if (not (empty .Values.service.loadBalancerClass)) }}
  27. loadBalancerClass: {{ .Values.service.loadBalancerClass }}
  28. {{- end }}
  29. {{- if (not (empty .Values.service.loadBalancerSourceRanges)) }}
  30. loadBalancerSourceRanges: {{ .Values.service.loadBalancerSourceRanges }}
  31. {{- end }}
  32. {{- if (not (empty .Values.service.loadBalancerIP)) }}
  33. loadBalancerIP: {{ .Values.service.loadBalancerIP }}
  34. {{- end }}
  35. {{- end }}
  36. {{- if .Values.service.sessionAffinity }}
  37. sessionAffinity: {{ .Values.service.sessionAffinity }}
  38. {{- end }}
  39. {{- if .Values.service.sessionAffinityConfig }}
  40. sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }}
  41. {{- end }}
  42. ports:
  43. - name: tcp-client
  44. port: {{ .Values.service.ports.client }}
  45. protocol: TCP
  46. targetPort: client
  47. {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.client)) }}
  48. nodePort: {{ .Values.service.nodePorts.client }}
  49. {{- else if eq .Values.service.type "ClusterIP" }}
  50. nodePort: null
  51. {{- end }}
  52. {{- if .Values.externalAccess.enabled }}
  53. - name: tcp-external
  54. port: {{ .Values.service.ports.external }}
  55. protocol: TCP
  56. targetPort: external
  57. {{- if (not (empty .Values.service.nodePorts.external)) }}
  58. nodePort: {{ .Values.service.nodePorts.external }}
  59. {{- end }}
  60. {{- end }}
  61. {{- if .Values.service.extraPorts }}
  62. {{- include "common.tplvalues.render" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }}
  63. {{- end }}
  64. selector: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
  65. app.kubernetes.io/part-of: kafka
  66. {{- if .Values.controller.controllerOnly }}
  67. app.kubernetes.io/component: broker
  68. {{- end }}
  69. {{- with .Values.service.ipFamilyPolicy }}
  70. ipFamilyPolicy: {{ . | quote }}
  71. {{- end }}
  72. {{- with .Values.service.ipFamilies }}
  73. ipFamilies:
  74. {{- . | toYaml | nindent 2 }}
  75. {{- end }}