service.yaml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: {{ include "emqx.fullname" . }}
  5. namespace: {{ .Release.Namespace }}
  6. labels:
  7. app.kubernetes.io/name: {{ include "emqx.name" . }}
  8. helm.sh/chart: {{ include "emqx.chart" . }}
  9. app.kubernetes.io/instance: {{ .Release.Name }}
  10. app.kubernetes.io/managed-by: {{ .Release.Service }}
  11. {{- if .Values.service.annotations }}
  12. annotations:
  13. {{- toYaml .Values.service.annotations | nindent 4 }}
  14. {{- end }}
  15. spec:
  16. type: {{ .Values.service.type }}
  17. {{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
  18. externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | default "Cluster" }}
  19. {{- end }}
  20. {{- if eq .Values.service.type "LoadBalancer" }}
  21. {{- if .Values.service.loadBalancerIP }}
  22. loadBalancerIP: {{ .Values.service.loadBalancerIP }}
  23. {{- end }}
  24. {{- if .Values.service.loadBalancerSourceRanges }}
  25. loadBalancerSourceRanges: {{- toYaml .Values.service.loadBalancerSourceRanges | nindent 4 }}
  26. {{- end }}
  27. {{- if .Values.service.externalIPs }}
  28. externalIPs: {{- toYaml .Values.service.externalIPs | nindent 4 }}
  29. {{- end }}
  30. {{- end }}
  31. ports:
  32. - name: mqtt
  33. port: {{ .Values.service.mqtt | default 1883 }}
  34. protocol: TCP
  35. targetPort: mqtt
  36. {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.mqtt)) }}
  37. nodePort: {{ .Values.service.nodePorts.mqtt }}
  38. {{- else if eq .Values.service.type "ClusterIP" }}
  39. nodePort: null
  40. {{- end }}
  41. {{- if not (empty .Values.emqxConfig.EMQX_LISTENERS__TCP__INTERNAL__BIND) }}
  42. - name: internalmqtt
  43. port: {{ .Values.service.internalmqtt | default 11883 }}
  44. protocol: TCP
  45. targetPort: internalmqtt
  46. {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.internalmqtt)) }}
  47. nodePort: {{ .Values.service.nodePorts.internalmqtt }}
  48. {{- else if eq .Values.service.type "ClusterIP" }}
  49. nodePort: null
  50. {{- end }}
  51. {{ end }}
  52. - name: mqttssl
  53. port: {{ .Values.service.mqttssl | default 8883 }}
  54. protocol: TCP
  55. targetPort: mqttssl
  56. {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.mqttssl)) }}
  57. nodePort: {{ .Values.service.nodePorts.mqttssl }}
  58. {{- else if eq .Values.service.type "ClusterIP" }}
  59. nodePort: null
  60. {{- end }}
  61. - name: ws
  62. port: {{ .Values.service.ws | default 8083 }}
  63. protocol: TCP
  64. targetPort: ws
  65. {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.ws)) }}
  66. nodePort: {{ .Values.service.nodePorts.ws }}
  67. {{- else if eq .Values.service.type "ClusterIP" }}
  68. nodePort: null
  69. {{- end }}
  70. - name: wss
  71. port: {{ .Values.service.wss | default 8084 }}
  72. protocol: TCP
  73. targetPort: wss
  74. {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.wss)) }}
  75. nodePort: {{ .Values.service.nodePorts.wss }}
  76. {{- else if eq .Values.service.type "ClusterIP" }}
  77. nodePort: null
  78. {{- end }}
  79. - name: dashboard
  80. port: {{ .Values.service.dashboard | default 18083 }}
  81. protocol: TCP
  82. targetPort: dashboard
  83. {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.dashboard)) }}
  84. nodePort: {{ .Values.service.nodePorts.dashboard }}
  85. {{- else if eq .Values.service.type "ClusterIP" }}
  86. nodePort: null
  87. {{- end }}
  88. {{- if not (empty .Values.service.dashboardtls) }}
  89. - name: dashboardtls
  90. port: {{ .Values.service.dashboardtls }}
  91. protocol: TCP
  92. targetPort: dashboardtls
  93. {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.dashboardtls)) }}
  94. nodePort: {{ .Values.service.nodePorts.dashboardtls }}
  95. {{- else if eq .Values.service.type "ClusterIP" }}
  96. nodePort: null
  97. {{- end }}
  98. {{- end }}
  99. selector:
  100. app.kubernetes.io/name: {{ include "emqx.name" . }}
  101. app.kubernetes.io/instance: {{ .Release.Name }}
  102. ---
  103. apiVersion: v1
  104. kind: Service
  105. metadata:
  106. name: {{ include "emqx.fullname" . }}-headless
  107. namespace: {{ .Release.Namespace }}
  108. labels:
  109. app.kubernetes.io/name: {{ include "emqx.name" . }}
  110. helm.sh/chart: {{ include "emqx.chart" . }}
  111. app.kubernetes.io/instance: {{ .Release.Name }}
  112. app.kubernetes.io/managed-by: {{ .Release.Service }}
  113. spec:
  114. type: ClusterIP
  115. sessionAffinity: None
  116. clusterIP: {{ .Values.service.clusterIP | default "None" }}
  117. publishNotReadyAddresses: true
  118. ports:
  119. - name: mqtt
  120. port: {{ .Values.service.mqtt | default 1883 }}
  121. protocol: TCP
  122. targetPort: mqtt
  123. {{- if not (empty .Values.emqxConfig.EMQX_LISTENERS__TCP__INTERNAL__BIND) }}
  124. - name: internalmqtt
  125. port: {{ .Values.service.internalmqtt | default 11883 }}
  126. protocol: TCP
  127. targetPort: internalmqtt
  128. {{ end }}
  129. - name: mqttssl
  130. port: {{ .Values.service.mqttssl | default 8883 }}
  131. protocol: TCP
  132. targetPort: mqttssl
  133. - name: ws
  134. port: {{ .Values.service.ws | default 8083 }}
  135. protocol: TCP
  136. targetPort: ws
  137. - name: wss
  138. port: {{ .Values.service.wss | default 8084 }}
  139. protocol: TCP
  140. targetPort: wss
  141. - name: dashboard
  142. port: {{ .Values.service.dashboard | default 18083 }}
  143. protocol: TCP
  144. targetPort: dashboard
  145. - name: ekka
  146. port: 4370
  147. protocol: TCP
  148. targetPort: ekka
  149. selector:
  150. app.kubernetes.io/name: {{ include "emqx.name" . }}
  151. app.kubernetes.io/instance: {{ .Release.Name }}