-
-
Save cbluth/f77b658e09781ef36f1ba317b41e1a31 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: apps/v1 | |
kind: StatefulSet | |
metadata: | |
labels: | |
app: vernemq | |
name: vernemq | |
spec: | |
podManagementPolicy: OrderedReady | |
replicas: 3 | |
selector: | |
matchLabels: | |
app: vernemq | |
serviceName: vernemq | |
template: | |
metadata: | |
labels: | |
app: vernemq | |
spec: | |
containers: | |
- env: | |
- name: MY_POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
envFrom: | |
- configMapRef: | |
name: vernemq | |
image: erlio/docker-vernemq:1.6.1 | |
imagePullPolicy: IfNotPresent | |
name: vernemq | |
ports: | |
- containerPort: 1883 | |
name: mqtt | |
- containerPort: 4369 | |
name: epmd | |
- containerPort: 44053 | |
name: vmq | |
- containerPort: 8888 | |
name: metrics | |
- containerPort: 9100 | |
- containerPort: 9101 | |
- containerPort: 9102 | |
- containerPort: 9103 | |
- containerPort: 9104 | |
- containerPort: 9105 | |
- containerPort: 9106 | |
- containerPort: 9107 | |
- containerPort: 9108 | |
- containerPort: 9109 | |
volumeMounts: | |
- mountPath: /etc/vernemq-passwd | |
name: vernemq-passwd | |
readOnly: true | |
volumes: | |
- name: vernemq-passwd | |
secret: | |
defaultMode: 420 | |
secretName: vernemq-passwd | |
updateStrategy: | |
type: RollingUpdate | |
--- | |
apiVersion: v1 | |
data: | |
DOCKER_VERNEMQ_ALLOW_PUBLISH_DURING_NETSPLIT: "on" | |
DOCKER_VERNEMQ_ALLOW_REGISTER_DURING_NETSPLIT: "on" | |
DOCKER_VERNEMQ_ALLOW_SUBSCRIBE_DURING_NETSPLIT: "on" | |
DOCKER_VERNEMQ_ALLOW_UNSUBSCRIBE_DURING_NETSPLIT: "on" | |
DOCKER_VERNEMQ_DISCOVERY_KUBERNETES: "1" | |
DOCKER_VERNEMQ_ERLANG.async_threads: "1024" | |
DOCKER_VERNEMQ_ERLANG__DISTRIBUTION__PORT_RANGE__MAXIMUM: "9109" | |
DOCKER_VERNEMQ_ERLANG__DISTRIBUTION__PORT_RANGE__MINIMUM: "9100" | |
DOCKER_VERNEMQ_KUBERNETES_APP_LABEL: vernemq | |
DOCKER_VERNEMQ_KUBERNETES_INSECURE: "1" | |
DOCKER_VERNEMQ_LISTENER__VMQ__CLUSTERING: 0.0.0.0:44053 | |
DOCKER_VERNEMQ_MAX_ONLINE_MESSAGES: "-1" | |
DOCKER_VERNEMQ_LISTENER__TCP__LOCALHOST: "127.0.0.1:1883" | |
DOCKER_VERNEMQ_VMQ_PASSWD__PASSWORD_FILE: /etc/vernemq-passwd/vmq.passwd | |
kind: ConfigMap | |
metadata: | |
name: vernemq | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: vernemq | |
name: vernemq-svc | |
spec: | |
ports: | |
- name: mqtt | |
port: 1883 | |
protocol: TCP | |
targetPort: 1883 | |
- name: metrics | |
port: 8888 | |
protocol: TCP | |
targetPort: 8888 | |
selector: | |
app: vernemq | |
sessionAffinity: None | |
type: ClusterIP | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: vernemq | |
name: vernemq | |
spec: | |
clusterIP: None | |
ports: | |
- port: 4369 | |
name: empd | |
selector: | |
app: vernemq | |
--- | |
apiVersion: v1 | |
data: | |
vmq.passwd: dXNlcm5hbWU6JDYkYUxHc1E3MllVbnR4YmlFQyQrM2xGRWlBS3lXblBEMTZjYU1neXQ3UjBnbFRwY3I3cVlhcW52UnVsMTc2bS9XbzNBeEJjSzNwOThmQlB6UzhtZ0daRS96WEZZbTRsRDV2VXFZTUNoZz09Cg== | |
# Username: username | |
# Password: password | |
kind: Secret | |
metadata: | |
annotations: | |
name: vernemq-passwd | |
type: Opaque |
for the port forwarding to work I added this env variable:
# Add this localhost listener in order to get the port forwarding working
- name: DOCKER_VERNEMQ_LISTENER__TCP__LOCALHOST
value: "127.0.0.1:1883"
But I guess DOCKER_VERNEMQ_LISTENER__VMQ__CLUSTERING: 0.0.0.0:44053
does the same.
One more thing, statefulsets require a headless service, see Limitations.
My headless service looks like this:
apiVersion: v1
kind: Service
metadata:
labels:
app: vernemq
name: vernemq
spec:
clusterIP: None
ports:
- port: 4369
name: empd
selector:
app: vernemq
for the port forwarding to work I added this env variable:
# Add this localhost listener in order to get the port forwarding working - name: DOCKER_VERNEMQ_LISTENER__TCP__LOCALHOST value: "127.0.0.1:1883"
But I guess
DOCKER_VERNEMQ_LISTENER__VMQ__CLUSTERING: 0.0.0.0:44053
does the same.One more thing, statefulsets require a headless service, see Limitations.
My headless service looks like this:apiVersion: v1 kind: Service metadata: labels: app: vernemq name: vernemq spec: clusterIP: None ports: - port: 4369 name: empd selector: app: vernemq
@francois-travais
Thanks for your input, i have updated the gist.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
i removed the hook and the variable, do you see any more improvements?