mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-01-24 07:59:02 +00:00
Simplify for unifi (#10789)
The discovery and stun ports are part of the same service. Unifi depends on them to be on the same hostname. Signed-off-by: Werner Buck <email@wernerbuck.nl>
This commit is contained in:
parent
73956c3eed
commit
08f9adbd73
@ -2,7 +2,7 @@ apiVersion: v1
|
||||
appVersion: 5.9.29
|
||||
description: Ubiquiti Network's Unifi Controller
|
||||
name: unifi
|
||||
version: 0.2.8
|
||||
version: 0.3.0
|
||||
keywords:
|
||||
- ubiquiti
|
||||
- unifi
|
||||
|
@ -53,20 +53,8 @@ The following tables lists the configurable parameters of the Unifi chart and th
|
||||
| `controllerService.loadBalancerIP` | Loadbalance IP for the Unifi Controller | `{}` |
|
||||
| `controllerService.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None |
|
||||
| `controllerService.externalTrafficPolicy` | Set the externalTrafficPolicy in the Service to either Cluster or Local | `Cluster` |
|
||||
| `stunService.type` | Kubernetes service type for the Unifi STUN | `NodePort` |
|
||||
| `stunService.port` | Kubernetes UDP port where the Unifi STUN is exposed | `3478` |
|
||||
| `stunService.annotations` | Service annotations for the Unifi STUN | `{}` |
|
||||
| `stunService.labels` | Custom labels | `{}` |
|
||||
| `stunService.loadBalancerIP` | Loadbalance IP for the Unifi STUN | `{}` |
|
||||
| `stunService.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None |
|
||||
| `stunService.externalTrafficPolicy` | Set the externalTrafficPolicy in the Service to either Cluster or Local | `Cluster` |
|
||||
| `discoveryService.type` | Kubernetes service type for AP discovery | `NodePort` |
|
||||
| `discoveryService.port` | Kubernetes UDP port for AP discovery | `10001` |
|
||||
| `discoveryService.annotations` | Service annotations for AP discovery | `{}` |
|
||||
| `discoveryService.labels` | Custom labels | `{}` |
|
||||
| `discoveryService.loadBalancerIP` | Loadbalance IP for AP discovery | `{}` |
|
||||
| `discoveryService.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None |
|
||||
| `discoveryService.externalTrafficPolicy` | Set the externalTrafficPolicy in the Service to either Cluster or Local | `Cluster` |
|
||||
| `controllerService.stun.port` | Kubernetes UDP port where the Unifi STUN is exposed | `3478` |
|
||||
| `controllerService.discovery.port` | Kubernetes UDP port for AP discovery | `10001` |
|
||||
| `ingress.enabled` | Enables Ingress | `false` |
|
||||
| `ingress.annotations` | Ingress annotations | `{}` |
|
||||
| `ingress.labels` | Custom labels | `{}` |
|
||||
@ -117,12 +105,12 @@ Read through the [values.yaml](values.yaml) file. It has several commented out s
|
||||
devices run. If you run this as a `NodePort` (the default setting), make sure
|
||||
that there is an external load balancer that is directing traffic from port
|
||||
8080 to the `NodePort` for this service.
|
||||
- `discoveryService`: This needs to be reachable by the unifi devices on the
|
||||
network similar to the controller `Service` but only during the discovery
|
||||
phase. This is a UDP service.
|
||||
- `stunService`: Also used periodically by the unifi devices to communicate
|
||||
with the controller using UDP. See [this article][ubnt 3] and [this other
|
||||
article][ubnt 4] for more information.
|
||||
|
||||
the `controllerService` exposes two additional ports:
|
||||
- `discovery`: This needs to be reachable by the unifi devices on network but only during the discovery
|
||||
phase. This is a UDP service.
|
||||
- `stun`: Also used periodically by the unifi devices to communicate
|
||||
with the controller using UDP. See [this article][ubnt 3] and [this other article][ubnt 4] for more information.
|
||||
|
||||
[docker]: https://hub.docker.com/r/jacobalberty/unifi/tags/
|
||||
[github]: https://github.com/jacobalberty/unifi-docker
|
||||
|
@ -46,6 +46,20 @@ spec:
|
||||
name: controller
|
||||
{{ if (and (eq .Values.controllerService.type "NodePort") (not (empty .Values.controllerService.nodePort))) }}
|
||||
nodePort: {{.Values.controllerService.nodePort}}
|
||||
{{ end }}
|
||||
- port: {{ .Values.controllerService.stun.port }}
|
||||
targetPort: stun
|
||||
protocol: UDP
|
||||
name: stun
|
||||
{{ if (and (eq .Values.controllerService.type "NodePort") (not (empty .Values.controllerService.stun.nodePort))) }}
|
||||
nodePort: {{.Values.controllerService.stun.nodePort}}
|
||||
{{ end }}
|
||||
- port: {{ .Values.controllerService.discovery.port }}
|
||||
targetPort: discovery
|
||||
protocol: UDP
|
||||
name: discovery
|
||||
{{ if (and (eq .Values.controllerService.type "NodePort") (not (empty .Values.controllerService.discovery.nodePort))) }}
|
||||
nodePort: {{.Values.controllerService.discovery.nodePort}}
|
||||
{{ end }}
|
||||
selector:
|
||||
app: {{ template "unifi.name" . }}
|
||||
|
@ -1,52 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "unifi.fullname" . }}-discovery
|
||||
labels:
|
||||
app: {{ template "unifi.name" . }}
|
||||
chart: {{ template "unifi.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- if .Values.discoveryService.labels }}
|
||||
{{ toYaml .Values.discoveryService.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.discoveryService.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if (or (eq .Values.discoveryService.type "ClusterIP") (empty .Values.discoveryService.type)) }}
|
||||
type: ClusterIP
|
||||
{{- if .Values.discoveryService.clusterIP }}
|
||||
clusterIP: {{ .Values.discoveryService.clusterIP }}
|
||||
{{end}}
|
||||
{{- else if eq .Values.discoveryService.type "LoadBalancer" }}
|
||||
type: {{ .Values.discoveryService.type }}
|
||||
{{- if .Values.discoveryService.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.discoveryService.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.discoveryService.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.discoveryService.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- else }}
|
||||
type: {{ .Values.discoveryService.type }}
|
||||
{{- end }}
|
||||
{{- if .Values.discoveryService.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.discoveryService.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.discoveryService.externalTrafficPolicy }}
|
||||
externalTrafficPolicy: {{ .Values.discoveryService.externalTrafficPolicy }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- port: {{ .Values.discoveryService.port }}
|
||||
targetPort: discovery
|
||||
protocol: UDP
|
||||
name: discovery
|
||||
{{ if (and (eq .Values.discoveryService.type "NodePort") (not (empty .Values.discoveryService.nodePort))) }}
|
||||
nodePort: {{.Values.discoveryService.nodePort}}
|
||||
{{ end }}
|
||||
selector:
|
||||
app: {{ template "unifi.name" . }}
|
||||
release: {{ .Release.Name }}
|
@ -1,52 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "unifi.fullname" . }}-stun
|
||||
labels:
|
||||
app: {{ template "unifi.name" . }}
|
||||
chart: {{ template "unifi.chart" . }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- if .Values.stunService.labels }}
|
||||
{{ toYaml .Values.stunService.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.stunService.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if (or (eq .Values.stunService.type "ClusterIP") (empty .Values.stunService.type)) }}
|
||||
type: ClusterIP
|
||||
{{- if .Values.stunService.clusterIP }}
|
||||
clusterIP: {{ .Values.stunService.clusterIP }}
|
||||
{{end}}
|
||||
{{- else if eq .Values.stunService.type "LoadBalancer" }}
|
||||
type: {{ .Values.stunService.type }}
|
||||
{{- if .Values.stunService.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.stunService.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.stunService.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.stunService.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- else }}
|
||||
type: {{ .Values.stunService.type }}
|
||||
{{- end }}
|
||||
{{- if .Values.stunService.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.stunService.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.stunService.externalTrafficPolicy }}
|
||||
externalTrafficPolicy: {{ .Values.stunService.externalTrafficPolicy }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- port: {{ .Values.stunService.port }}
|
||||
targetPort: stun
|
||||
protocol: UDP
|
||||
name: stun
|
||||
{{ if (and (eq .Values.stunService.type "NodePort") (not (empty .Values.stunService.nodePort))) }}
|
||||
nodePort: {{.Values.stunService.nodePort}}
|
||||
{{ end }}
|
||||
selector:
|
||||
app: {{ template "unifi.name" . }}
|
||||
release: {{ .Release.Name }}
|
@ -50,48 +50,12 @@ controllerService:
|
||||
# loadBalancerSourceRanges: []
|
||||
## Set the externalTrafficPolicy in the Service to either Cluster or Local
|
||||
# externalTrafficPolicy: Cluster
|
||||
|
||||
stunService:
|
||||
type: NodePort
|
||||
port: 3478 # udp
|
||||
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||
##
|
||||
# nodePort:
|
||||
## Provide any additional annotations which may be required. This can be used to
|
||||
## set the LoadBalancer service type to internal only.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
||||
##
|
||||
annotations: {}
|
||||
labels: {}
|
||||
## Use loadBalancerIP to request a specific static IP,
|
||||
## otherwise leave blank
|
||||
##
|
||||
loadBalancerIP:
|
||||
# loadBalancerSourceRanges: []
|
||||
## Set the externalTrafficPolicy in the Service to either Cluster or Local
|
||||
# externalTrafficPolicy: Cluster
|
||||
|
||||
discoveryService:
|
||||
type: NodePort
|
||||
port: 10001 # udp
|
||||
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||
##
|
||||
# nodePort:
|
||||
## Provide any additional annotations which may be required. This can be used to
|
||||
## set the LoadBalancer service type to internal only.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
||||
##
|
||||
annotations: {}
|
||||
labels: {}
|
||||
## Use loadBalancerIP to request a specific static IP,
|
||||
## otherwise leave blank
|
||||
##
|
||||
loadBalancerIP:
|
||||
# loadBalancerSourceRanges: []
|
||||
## Set the externalTrafficPolicy in the Service to either Cluster or Local
|
||||
# externalTrafficPolicy: Cluster
|
||||
stun:
|
||||
port: 3478
|
||||
# nodePort:
|
||||
discovery:
|
||||
port: 10001
|
||||
# nodePort:
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
Loading…
Reference in New Issue
Block a user