service.yaml 5.1 KB

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