Kubernetes NGINX Ing和#x155;ess控制器TCP/MQTT配置

Kubernetes NGINX Ing和#x155;ess控制器TCP/MQTT配置,kubernetes,mqtt,kubernetes-ingress,nginx-ingress,Kubernetes,Mqtt,Kubernetes Ingress,Nginx Ingress,我有一个Kubernetes集群,它有一个RESTAPI的入口配置。现在,我想将一个端口转发到我的mqtt适配器,并将其添加到此配置中,但在找到向配置中添加TCP规则的方法时遇到了问题。Kubernetes文档只显示了一个HTTP示例 我对Kubernetes很陌生,我在适应其他配置时遇到问题,因为我发现的东西与我在Kubernetes文档中发现的完全不同 我使用了带有letsencrypt的常规nginx Web服务器来保护TCP连接。我希望这也适用于入口控制器 我的目标是通过带有TLS的MQ

我有一个Kubernetes集群,它有一个RESTAPI的入口配置。现在,我想将一个端口转发到我的mqtt适配器,并将其添加到此配置中,但在找到向配置中添加TCP规则的方法时遇到了问题。Kubernetes文档只显示了一个HTTP示例

我对Kubernetes很陌生,我在适应其他配置时遇到问题,因为我发现的东西与我在Kubernetes文档中发现的完全不同

我使用了带有letsencrypt的常规nginx Web服务器来保护TCP连接。我希望这也适用于入口控制器

我的目标是通过带有TLS的MQTT向集群发送消息。 是否有人对此有正确的文档或知道如何添加配置

我的配置如下所示:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ratings-web-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    cert-manager.io/cluster-issuer: letsencrypt
spec:
  tls:
    - hosts: 
      - example.com
      secretName: ratings-web-cert
  
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: test-api
          servicePort: 8080
        path: /

入口系统通常只处理HTTP通信。一些入口控制器支持非HTTP数据包处理的自定义扩展,但每个入口控制器都不同。显示了如何专门针对ingress nginx执行此操作,如图所示,您可以通过一些ConfigMaps(而不是ingress对象)在带外完全配置它


实际上,您可能需要的是LoadBalancer类型的服务对象。

入口系统通常只处理HTTP流量。一些入口控制器支持非HTTP数据包处理的自定义扩展,但每个入口控制器都不同。显示了如何专门针对ingress nginx执行此操作,如图所示,您可以通过一些ConfigMaps(而不是ingress对象)在带外完全配置它


实际上您可能需要的是LoadBalancer类型的服务对象。

ok。非常感谢。我会在那里试试。好的。非常感谢。我会在那里试试。谢谢你的帮助。如果我使用LoadBalancer服务,我是否需要自己处理服务中的TLS?或者我可以声明在某个地方使用LetsEncrypt,就像我对Ingress所做的那样吗?一般来说,你必须自己处理它,尽管有些云提供商为LB服务定制了注释,以激活其TLS终止模式。好吧,这是相当不幸的。但是我想我可以使用一个普通的docker NGINX容器和letsencrypt,并从那里转发流量。当我更新服务时,你知道公共IP是否发生了变化吗?谢谢你的澄清。如果我使用LoadBalancer服务,我是否需要自己处理服务中的TLS?或者我可以声明在某个地方使用LetsEncrypt,就像我对Ingress所做的那样吗?一般来说,你必须自己处理它,尽管有些云提供商为LB服务定制了注释,以激活其TLS终止模式。好吧,这是相当不幸的。但是我想我可以使用一个普通的docker NGINX容器和letsencrypt,并从那里转发流量。当我更新服务时,你知道公共IP是否发生了变化吗?