You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/04/14 13:52:51 UTC

[GitHub] [apisix-ingress-controller] siaron opened a new issue, #966: Mqtt Protocol proxy

siaron opened a new issue, #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966

   ### Issue description
   
   - Native support for MQTT protocol brokers. like tcp Route
   - Load balancing based on client_id
   - The mqtt broker is deployed in the k8s environment. Dynamically capture pod creation and deletion. And update upstream
   
   ### Environment
   
   - your apisix-ingress-controller version (output of apisix-ingress-controller version --long):
   - your Kubernetes cluster version (output of kubectl version):
   - if you run apisix-ingress-controller in Bare-metal environment, also show your OS version (uname -a):
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] stillfox-lee commented on issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
stillfox-lee commented on issue #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966#issuecomment-1131419743

   Hi guys. I have some question about this feature:
   
    First, which version should this feature support?
   
   - [ ] v1
   - [ ] v2
   - [ ] v2beta2
   - [ ] v2beta3
   
   Second, should we use `annotation` or `stream[].plugins` in yaml to defined `mqtt-proxy` plugin? Or both?
   
   In `annotation` way, we can write yaml like this:
   
   ```yaml
   apiVersion: apisix.apache.org/v2beta3
   kind: ApisixRoute
   metadata:
     annotations:
     k8s.apisix.apache.org/mqtt-proxy-name: "MQTT"
     k8s.apisix.apache.org/mqtt-proxy-level: "5"
     name: ***
   spec:
     stream:
     - name: ***
       protocol: TCP
       match: 
         ingressPort: 9100
       backends:
       - serviceName: mqtt-service
          servicePort: 9200
   ```
   
   In `stream[].plugins` way, we can write yaml like this:
   ```yaml
   apiVersion: apisix.apache.org/v2beta3
   kind: ApisixRoute
   metadata:
     name: ***
   spec:
     stream:
     - name: ***
       protocol: TCP
       match: 
         ingressPort: 9100
       backends:
       - serviceName: mqtt-service
          servicePort: 9200
       plugins:
       - name: mqtt-proxy
         enable: true
         config:
           protocolName: MQTT
           protocolLevel: 4
   ```
   
   If i misunderstand Apisix Ingress Controller mechanism, please tell me, thanks.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] github-actions[bot] commented on issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on issue #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966#issuecomment-1218876321

   This issue has been marked as stale due to 90 days of inactivity. It will be closed in 30 days if no further activity occurs. If this issue is still relevant, please simply write any comment. Even if closed, you can still revive the issue at any time or discuss it on the dev@apisix.apache.org list. Thank you for your contributions.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] tao12345666333 closed issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
tao12345666333 closed issue #966: feat request: native MQTT Protocol  proxy  
URL: https://github.com/apache/apisix-ingress-controller/issues/966


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] tokers commented on issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
tokers commented on issue #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966#issuecomment-1128628619

   > WeOpen Star I'm willing to help implement this feature, but i m not sure is suitable for me. I have no experience at any ingress controller development. I find out APISIX has support MQTT protocol by `mqtt-proxy` plugin. So ApisixIngress just need to implement `stream[].plugins` at ApisixRoute API? Is three any guideline about how to implement APISIX's stream plugin?
   
   Right. What you should focus on are:
    * What fields should we expose in the CRD?
    * How to generate the plugin config on the  APISIX side.
    
    You can refer to some existing plugin supports (Now APISIX Ingress Controller doesn't customize fields on the CRD side but use same plugin settings with APISIX).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] stillfox-lee commented on issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
stillfox-lee commented on issue #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966#issuecomment-1128560076

   WeOpen Star
   I'm willing to help implement this feature, but i m not sure is suitable for me. I have no experience at any ingress controller development.
   I find out APISIX has support MQTT protocol by `mqtt-proxy` plugin. So ApisixIngress just need to implement `stream[].plugins` at ApisixRoute API? Is three any guideline about how to implement APISIX's stream plugin? 
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] siaron commented on issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
siaron commented on issue #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966#issuecomment-1099294274

   > This is a feature request and I modified the title.
   > 
   > Can you describe your specific scenario? Do you directly expose Ingress to clients in your business scenario?
   
   IoT scenario . Many devices connect to the emqx cluster deployed on k8s through a proxy(apisix/haproxy). on aliyun. Expose only one tcp port of apisix-ingress


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
tao12345666333 commented on issue #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966#issuecomment-1128635061

   @stillfox-lee Assigned, thanks.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
tao12345666333 commented on issue #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966#issuecomment-1099215157

   This is a feature request and I modified the title.
   
   Can you describe your specific scenario? Do you directly expose Ingress to clients in your business scenario?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-ingress-controller] tao12345666333 commented on issue #966: feat request: native MQTT Protocol proxy

Posted by GitBox <gi...@apache.org>.
tao12345666333 commented on issue #966:
URL: https://github.com/apache/apisix-ingress-controller/issues/966#issuecomment-1131556353

   @stillfox-lee thanks 
   
   1. Please add this feature to v2 APIversion
   
   2. I prefer the second way. Using plugin config 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org