mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-01-24 16:09:08 +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
40af1115f9
commit
b09535dfb4
@ -2,7 +2,7 @@ apiVersion: v1
|
|||||||
appVersion: 5.9.29
|
appVersion: 5.9.29
|
||||||
description: Ubiquiti Network's Unifi Controller
|
description: Ubiquiti Network's Unifi Controller
|
||||||
name: unifi
|
name: unifi
|
||||||
version: 0.2.8
|
version: 0.3.0
|
||||||
keywords:
|
keywords:
|
||||||
- ubiquiti
|
- ubiquiti
|
||||||
- unifi
|
- 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.loadBalancerIP` | Loadbalance IP for the Unifi Controller | `{}` |
|
||||||
| `controllerService.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None |
|
| `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` |
|
| `controllerService.externalTrafficPolicy` | Set the externalTrafficPolicy in the Service to either Cluster or Local | `Cluster` |
|
||||||
| `stunService.type` | Kubernetes service type for the Unifi STUN | `NodePort` |
|
| `controllerService.stun.port` | Kubernetes UDP port where the Unifi STUN is exposed | `3478` |
|
||||||
| `stunService.port` | Kubernetes UDP port where the Unifi STUN is exposed | `3478` |
|
| `controllerService.discovery.port` | Kubernetes UDP port for AP discovery | `10001` |
|
||||||
| `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` |
|
|
||||||
| `ingress.enabled` | Enables Ingress | `false` |
|
| `ingress.enabled` | Enables Ingress | `false` |
|
||||||
| `ingress.annotations` | Ingress annotations | `{}` |
|
| `ingress.annotations` | Ingress annotations | `{}` |
|
||||||
| `ingress.labels` | Custom labels | `{}` |
|
| `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
|
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
|
that there is an external load balancer that is directing traffic from port
|
||||||
8080 to the `NodePort` for this service.
|
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
|
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.
|
phase. This is a UDP service.
|
||||||
- `stunService`: Also used periodically by the unifi devices to communicate
|
- `stun`: Also used periodically by the unifi devices to communicate
|
||||||
with the controller using UDP. See [this article][ubnt 3] and [this other
|
with the controller using UDP. See [this article][ubnt 3] and [this other article][ubnt 4] for more information.
|
||||||
article][ubnt 4] for more information.
|
|
||||||
|
|
||||||
[docker]: https://hub.docker.com/r/jacobalberty/unifi/tags/
|
[docker]: https://hub.docker.com/r/jacobalberty/unifi/tags/
|
||||||
[github]: https://github.com/jacobalberty/unifi-docker
|
[github]: https://github.com/jacobalberty/unifi-docker
|
||||||
|
@ -46,6 +46,20 @@ spec:
|
|||||||
name: controller
|
name: controller
|
||||||
{{ if (and (eq .Values.controllerService.type "NodePort") (not (empty .Values.controllerService.nodePort))) }}
|
{{ if (and (eq .Values.controllerService.type "NodePort") (not (empty .Values.controllerService.nodePort))) }}
|
||||||
nodePort: {{.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 }}
|
{{ end }}
|
||||||
selector:
|
selector:
|
||||||
app: {{ template "unifi.name" . }}
|
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: []
|
# loadBalancerSourceRanges: []
|
||||||
## Set the externalTrafficPolicy in the Service to either Cluster or Local
|
## Set the externalTrafficPolicy in the Service to either Cluster or Local
|
||||||
# externalTrafficPolicy: Cluster
|
# externalTrafficPolicy: Cluster
|
||||||
|
stun:
|
||||||
stunService:
|
port: 3478
|
||||||
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:
|
# nodePort:
|
||||||
## Provide any additional annotations which may be required. This can be used to
|
discovery:
|
||||||
## set the LoadBalancer service type to internal only.
|
port: 10001
|
||||||
## 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:
|
# 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
|
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
Loading…
Reference in New Issue
Block a user