端口说明 | 集群内端口 | Nodeport | 备注 |
---|---|---|---|
mqtt | 1883 | 31274 | Port for MQTT |
mqttssl | 8883 | 31170 | Port for MQTT(SSL) |
mgmt | 8081 | 无 | |
ws | 8083 | 30099 | Port for WebSocket/HTTP |
wss | 8084 | 32580 | Port for WSS/HTTPS |
dashboard | 18083 | 31303 | Port for dashboard |
wget https://get.helm.sh/helm-v3.12.3-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/
helm version
helm repo add emqx https://repos.emqx.io/charts
helm repo list
helm repo update
helm search repo emqx
helm install emqx emqx/emqx \
--set replicaCount=3 \
--set image.tag=5.2.1 \
--set persistence.enabled=true \
--set persistence.size=100Mi \
--set persistence.storageClass=nfs \
--set service.type=NodePort \
--set service.nodePorts.mqtt=31274 \
--set service.nodePorts.mqttssl=31170 \
--set service.nodePorts.ws=30099 \
--set service.nodePorts.wss=32580 \
--set service.nodePorts.dashboard=31303 \
--namespace emqx \
--create-namespacee
helm install emqx emqx/emqx \
--set replicaCount=3 \
--set image.tag=5.2.1 \
--set persistence.enabled=true \
--set persistence.size=100Mi \
--set persistence.existingClaim=emqx-data-pvc \
--set service.type=NodePort \
--set service.nodePorts.mqtt=31274 \
--set service.nodePorts.mqttssl=31170 \
--set service.nodePorts.ws=30099 \
--set service.nodePorts.wss=32580 \
--set service.nodePorts.dashboard=31303 \
--namespace emqx \
--create-namespace
heml status -n emqx emqx
helm list -n emqx
kubectl get pods -n emqx
kubectl get svc -n emqx
kubectl get pv,pvc -n emqx
http://192.168.1.47:31303
admin / public #默认账号密码
admin / public123
mysql> create databases mqtt_user;
mysql> grant all privileges on mqtt_user.* to 'mqtt_user'@'%' identified by 'mqtt123';
myql> flush privileges;
mysql> CREATE TABLE `mqtt_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(100) DEFAULT NULL,
`password_hash` varchar(100) DEFAULT NULL,
`salt` varchar(35) DEFAULT NULL,
`is_superuser` tinyint(1) DEFAULT 0,
`created` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `mqtt_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
在此表中使用 username 作为查找条件。
例如,我们希望添加一名用户名为 emqx_user、密码为 public、盐值为 slat_foo123、散列方式为 sha256 且超级用户标志为 true 的用户:
mysql> INSERT INTO mqtt_user(username, password_hash, salt, is_superuser) VALUES ('mqtt_user', SHA2(concat('public', 'slat_foo123'), 256), 'slat_foo123', 1);
wget https://get.helm.sh/helm-v3.12.3-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/
helm version
helm repo add emqx https://repos.emqx.io/charts
helm search repo emqx --version 5.2.1
helm pull emqx/emqx --version 5.2.1
docker pull emqx/emqx:5.2.1
docker login
docker tag emqx/emqx:5.2.1 xxxx/emqx:5.2.1
docker push xxxx/emqx:5.2.1
docker login
docker pull xxxx/emqx:5.2.1
docker tag xxxx/emqx:5.2.1 xxxx/emqx:5.2.1
docker push xxxx/emqx:5.2.1
helm install emqx ./emqx-5.2.1.tgz \
--set replicaCount=3 \
--set image.repository=xxxx/emqx:5.2.1 \
--set image.tag=5.2.1 \
--set persistence.enabled=true \
--set persistence.size=100Mi \
--set persistence.storageClass=nfs \
--set service.type=NodePort \
--set service.nodePorts.mqtt=31274 \
--set service.nodePorts.mqttssl=31170 \
--set service.nodePorts.ws=30099 \
--set service.nodePorts.wss=32580 \
--set service.nodePorts.dashboard=31303 \
--namespace emqx \
--create-namespacee
helm install emqx ./emqx-5.2.1.tgz \
--set replicaCount=3 \
--set image.repository=xxxx/emqx:5.2.1 \
--set image.tag=5.2.1 \
--set persistence.enabled=true \
--set persistence.size=100Mi \
--set persistence.existingClaim=emqx-data-pvc \
--set service.type=NodePort \
--set service.nodePorts.mqtt=31274 \
--set service.nodePorts.mqttssl=31170 \
--set service.nodePorts.ws=30099 \
--set service.nodePorts.wss=32580 \
--set service.nodePorts.dashboard=31303 \
--namespace emqx \
--create-namespace
heml status -n emqx emqx
helm list -n emqx
kubectl get pods -n emqx
kubectl get svc -n emqx
kubectl get pv,pvc -n emqx
http://192.168.1.47:31303
admin / public #默认账号密码
admin / public123
mysql> create databases mqtt_user;
mysql> grant all privileges on mqtt_user.* to 'mqtt_user'@'%' identified by 'mqtt123';
myql> flush privileges;
mysql> CREATE TABLE `mqtt_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(100) DEFAULT NULL,
`password_hash` varchar(100) DEFAULT NULL,
`salt` varchar(35) DEFAULT NULL,
`is_superuser` tinyint(1) DEFAULT 0,
`created` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `mqtt_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
在此表中使用 username 作为查找条件。
例如,我们希望添加一名用户名为 emqx_user、密码为 public、盐值为 slat_foo123、散列方式为 sha256 且超级用户标志为 true 的用户:
mysql> INSERT INTO mqtt_user(username, password_hash, salt, is_superuser) VALUES ('mqtt_user', SHA2(concat('public', 'slat_foo123'), 256), 'slat_foo123', 1);
#卸载emqx集群
helm uninstall emqx -n emqx
#删除pv/pvc
kubectl delete -n emqx pvc emqx-data-emqx-0