是否可以将k8s nginx-ingress配置为LB,以使K8s服务主动连接到外部主机/端口上托管的外部后端(其中将一次启用一个,连接回群集服务)?
类似于特使代理?这是在香草K8s上,在本地。
因此,不是从
client -> cluster -> service.我在找
service -> nginx-ingress -> external-backend.发布于 2020-09-03 20:01:46
定义一个不带selector的Kubernetes Service。然后您需要定义一个Endpoint。您可以将IP和端口放入端点。通常,您不会为服务定义端点,但是因为服务没有Selector,所以您需要提供一个与服务同名的端点。
然后,您将Ingress指向Service。
下面是一个示例,它公开了集群上的一个Ingress,并将流量发送到TCP 8081上的192.168.88.1。
apiVersion: v1
kind: Service
metadata:
name: router
namespace: default
spec:
ports:
- protocol: TCP
port: 80
targetPort: 8081
---
apiVersion: v1
kind: Endpoints
metadata:
name: router
namespace: default
subsets:
- addresses:
- ip: 192.168.88.1
- ip: 192.168.88.2 # As per question below
ports:
- port: 8081
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: router
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: my-router.domain.com
http:
paths:
- path: /
backend:
serviceName: router
servicePort: 80发布于 2020-09-03 17:43:59
在定义入口时,使用nginx.ingress.kubernetes.io/configuration-snippet注释。另请使用use-proxy-protocol: "true"启用代理协议。
使用此注释,您可以将其他配置添加到NGINX位置。
请看一下:ingress-nginx-issue,advanced-configuration-with-annotations。
https://stackoverflow.com/questions/63594846
复制相似问题