apiVersion: apps/v1 kind: Deployment metadata: name: mosquitto-broker annotations: configmap.reloader.stakater.com/reload: "mosquitto-broker-config" secret.reloader.stakater.com/reload: "mosquitto-broker-cert" spec: replicas: 1 selector: matchLabels: app: mosquitto-broker template: metadata: labels: app: mosquitto-broker spec: containers: - name: mosquitto-broker image: eclipse-mosquitto:2.0.22 ports: - name: mqtt containerPort: 1883 protocol: TCP - name: mqtt-anon containerPort: 1884 protocol: TCP - name: mqtt-tls containerPort: 8883 protocol: TCP readinessProbe: tcpSocket: port: 1883 initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 3 volumeMounts: - name: mosquitto-broker-config mountPath: /mosquitto/config/ readOnly: true - name: mosquitto-broker-tls-config mountPath: /mosquitto/config/ssl readOnly: true volumes: - name: mosquitto-broker-config configMap: name: mosquitto-broker-config items: - key: mosquitto.conf path: mosquitto.conf - key: pwfile path: pwfile - name: mosquitto-broker-tls-conf secret: secretName: mosquitto-broker-tls-conf defaultMode: 0644 items: - key: tls.crt path: server.crt mode: 0644 - key: tls.key path: server.key mode: 0444 --- apiVersion: v1 kind: Service metadata: name: mosquitto-broker-mqtt spec: type: LoadBalancer externalTrafficPolicy: Local selector: app: mosquitto-broker ports: - name: mqtt port: 1883 targetPort: 1883 protocol: TCP --- apiVersion: v1 kind: Service metadata: name: mosquitto-broker-mqtt-anon spec: type: LoadBalancer externalTrafficPolicy: Local selector: app: mosquitto-broker ports: - name: mqtt-anon port: 1884 targetPort: 1884 protocol: TCP --- apiVersion: v1 kind: Service metadata: name: mosquitto-broker-mqtt-tls spec: type: LoadBalancer externalTrafficPolicy: Local selector: app: mosquitto-broker ports: - name: mqtt-tls port: 8883 targetPort: 8883 protocol: TCP