我有一个Kubernetes集群,它为一个REST API提供了一个工作的Ingress配置。现在,我想在该配置中添加一个转发到mqtt适配器的端口,但在找到将TCP规则添加到配置中的方法时遇到了问题。Kubernetes文档只显示了一个HTTP示例。https://kubernetes.io/docs/concepts/services-networking/ingress/
我是Kubernetes的新手,在调整其他配置时遇到了问题,因为无论我发现什么,都与我在Kubernete文档中发现的完全不同。
我使用了一个带有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: /
Ingress系统通常只处理HTTP流量。一些入口控制器支持非HTTP数据包处理的自定义扩展,但每个扩展都不同。https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/显示了如何专门针对ingress nginx执行此操作,如图所示,您可以通过一些ConfigMaps而不是ingress对象完全带外配置它。
您可能实际想要的是LoadBalancer类型的服务对象。