首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >K8s服务LB到外部服务,带nginx-入口控制器

K8s服务LB到外部服务,带nginx-入口控制器
EN

Stack Overflow用户
提问于 2020-08-26 17:42:30
回答 2查看 197关注 0票数 1

是否可以将k8s nginx-ingress配置为LB,以使K8s服务主动连接到外部主机/端口上托管的外部后端(其中将一次启用一个,连接回群集服务)?

类似于特使代理?这是在香草K8s上,在本地。

因此,不是从

代码语言:javascript
复制
client -> cluster -> service.

我在找

代码语言:javascript
复制
service -> nginx-ingress -> external-backend.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-03 20:01:46

定义一个不带selector的Kubernetes Service。然后您需要定义一个Endpoint。您可以将IP和端口放入端点。通常,您不会为服务定义端点,但是因为服务没有Selector,所以您需要提供一个与服务同名的端点。

然后,您将Ingress指向Service。

下面是一个示例,它公开了集群上的一个Ingress,并将流量发送到TCP 8081上的192.168.88.1。

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2020-09-03 17:43:59

在定义入口时,使用nginx.ingress.kubernetes.io/configuration-snippet注释。另请使用use-proxy-protocol: "true"启用代理协议。

使用此注释,您可以将其他配置添加到NGINX位置。

请看一下:ingress-nginx-issueadvanced-configuration-with-annotations

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63594846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档